5.1 প্রোগ্রামের ধারণা (Concept of Programming)

কম্পিউটারে একটি কেন্দ্রীয় প্রক্রিয়াকরণ অংশ বা সেন্ট্রাল প্রসেসিং ইউনিট (Central Processing Unit), সংক্ষেপে সিপিইউ (CPU) রয়েছে। বর্তমানে আমরা যেটি মাইক্রোপ্রসেসর হিসেবে চিনি তারমধ্যে এক বা একাধিক সিপিইউ থাকে। এই সিপিইউ-এর কাজ হচ্ছে বিভিন্ন হিসাব-নিকাশ করা।

মাইক্রোপ্রসেসরে যেসব হিসাব-নিকাশ করা হয় তারমধ্যে রয়েছে যোগ-বিয়োগ-গুণ-ভাগসহ বিবিন্ন অপারেশন। এই অপারেশনগুলো যেসব ডেটার উপর করা হয় সেসব ডেটা সংরক্ষণ করার জন্য প্রয়োজন হয় কম্পিউটার মেমোরির। আবার অপারেশন শেষে অপারেশনের ফলাফলও এই কম্পিউটার মেমোরিতে সংরক্ষণ করা হয়।

কম্পিউটারের মেমোরিকে সাধারণত দুই ভাগে ভাগ করা যায় : অস্থায়ী ও স্থায়ী। ইংরেজিতে বলে ভোলাটাইল (Volatile) ও নন-ভোলাটাইল (non-volatile)। যেসব মেমোরিতে কম্পিউটার বন্ধ করার পরেও ডেটা সংরক্ষিত থাকে, তাকে বলে স্থায়ী (non-volatile) মেমোরি। যেমন : হার্ডডিস্ক, রম, ডিভিডি, ইউএসবি ড্রাইভ। আর যেসব মেমোরির ডেটা কম্পিউটার বন্ধ (ক্ষেত্রবিশেষে প্রোগ্রাম বন্ধ) করলে হারিয়ে যায়, সেগুলোকে বলে অস্থায়ী মেমোরি। যেমন : র‍্যাম (RAM)। কম্পিউটার প্রোগ্রামগুলো ডেটা নিয়ে কাজ করার সময় অস্থায়ী মেমোরি ব্যবহর করে। স্থায়ী মেমোরিগুলো বেশ ধীরগতির হয় বলে সেগুলো ব্যবহার করা হয় না।

কম্পিউটারের প্রসেসরের মধ্যেও কিন্তু মেমোরি আছে, প্রসেসরের সবচেয়ে কাছে থাকে রেজিস্টার, আর তার পরেই থাকে ক্যাশ মেমোরি। রেজিস্টারের চেয়ে ক্যাশ মেমোরির আকার বড়, মানে বেশি তথ্য ধারণ করতে পারে, তবে গতি একটু কম। রেজিস্টার ও ক্যাশ মেমোরি প্রসেসরের মধ্যেই যুক্ত করা থাকে। তারপরে আসে র‍্যাম। র‍্যাম প্রসেসরের বাইরে মাদারবোর্ডে সংযুক্ত থাকে। ক্যাশের তুলনায় র‍্যামের আকার বেশ বড়, তবে গতি কম।

খরচের দিক থেকে সবচেয়ে ব্যয়বহুল রেজিস্টার মেমোরি, তারপরে ক্যাশ মেমোরি। র‍্যাম তাদের তুলনায় বেশ সস্তা। র‍্যামের পরে আসে ভার্চুয়াল মেমোরি। র‍্যামে যখন জায়গা হয় না, তখন হার্ডডিস্কের একটা অংশকে কম্পিউটারের অপারেটিং সিস্টেম মেমোরি হিসেবে ব্যবহার করতে দেয়। সেটি অবশ্যই র‍্যামের তুলনায় অনেক ধীর গতির।