কম্পিউটার কি ও কিভাবে কাজ করে?

প্রোগ্রামিং শুরু করার আগে, কম্পিউটার কি এবং তা কিভাবে কাজ করে সেটা সম্পর্কে জেনে নেওয়াটা ভালো।



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

কম্পিউটার হচ্ছে কাজের বুয়ার মত। সে আপনাকে অনেক কাজ করে দিবে, তবে তার জন্য আপনাকে বলে বলে দিতে হবে যে কি কি কাজ তার করতে হবে। নিজে থেকে সে কিছুই করবে না। হয় আপনি তাকে বলে দিবেন অথবা, অন্য কেউ আপনার হয়ে তাকে নির্দেশনা দিবে।

কম্পিউটার কি কি কাজ করতে পারে সেটা নিয়ে কথা না বাড়িয়ে, আসুন দেখি সে কিভাবে কাজ করে। যে কাজই সে করুক না কেন, তিনিটি পর্যায়ে সে সকল কাজ সম্পাদন করে।

১. ব্যবহার কারীর থেকে সে কিছু তথ্য নিবে (ইনপুট)
২. তথ্যগুলো সে প্রসেস করবে
৩. প্রসেস করার পরে ফলাফল সে আবার ব্যবহারকারীকে ফেরত দিবে (আউটপুট)






যত জটিল কাজই আপনি কম্পিউটার কে করতে দেখেন না কেন সে আসলে এই তিনটি কাজই করে।

প্রথমেই আসি ইনপুট পর্যায়ে। কম্পিউটার কোন তথ্য না নিয়ে কোন কাজ করতে পারে না। সাধারণত পার্সোনাল কম্পিউটার এ যে কিবোর্ড ও মাউস থাকে তার মাধ্যমে ব্যবহারকারী কম্পিউটার কে বিভিন্ন তথ্য দিয়ে থাকে। এছাড়াও অনেক ইনপুট ডিভাইস আছে। যেমন, ডিস্ক ড্রাইভ (সিডি, ডিভিডি, ইউএসবি পেন ড্রাইভ ইত্যাদি)।

এর পর হচ্ছে প্রসেসিং। ইনপুট নেওয়া তথ্য বিভিন্ন উপায়ে কম্পিউটার প্রসেস করে থাকে। সেন্ট্রাল প্রসেসিং ইউনিট (CPU) নামক অংশটি এই কাজ করে থাকে। প্রসেসিং মূলত বিভিন্ন ধরনের হিসাব নিকাশ।



এরপর হচ্ছে আউটপুট। প্রসেসিং এর ফলাফলটি ব্যবহারকারী কে ফেরত দেওয়ার নাম আউটপুট। স্ট্যান্ডার্ড আউটপুট ডিভাইস হচ্ছে কম্পিউটার মনিটর এর স্ক্রিন। এছাড়াও প্রিন্টার, স্পিকার, ডিস্ক ড্রাইভ ইত্যাদি ডিভাইসেও কম্পিউটার আউটপুট দিয়ে থাকে।

এখন প্রশ্ন হল, কম্পিউটার কিভাবে বোঝে যে কখন কোন কাজটি করতে হবে?

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

কম্পিউটার বাইনারী ভাষা ব্যবহার করে কাজ করে। যে ধরনের কম্পিউটার ই হোক না কেন সে শুধুমাত্র বাইনারী ভাষা বুঝতে পারে। মানুষের ব্যবহৃত ভাষা তার কাছে বোধ গম্য নয়। বাইনারী ভাষা হচ্ছে 0 আর 1 দিয়ে তৈরী একটি ভাষা।

বাইনারী ভাষায় কম্পিউটার ইনপুট গ্রহন করে, হিসাব করে, আউটপুট দেয়, তথ্য জমা রাখে।

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

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

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

মেমরি


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

কম্পিউটার এ তথ্য রাখার অনেকগুলো জায়গা রয়েছে। তবে মেমরি বলতে আমরা মূলত RAM কে বুঝাই। যে কোন প্রোগ্রাম তার কাজ সম্পাদন করার জন্য RAM এর জায়গা ব্যবহার করে থাকে।

কম্পিউটার এ তথ্য রাখার জায়গার একক হচ্ছে বিট (bit)। একটি বিটে একটি 0 অথবা একটি 1 থাকতে পারে। ৮ টি বিট নিয়ে একটি বাইট (byte) গঠিত হয়। অর্থাৎ কম্পিউটার মেমরিতে পরপর ৮ বিট জায়গাকে একত্রে ১ বাইট জায়গা বলা হয়। বাইটের গুরুত্ব হচ্ছে, একটি মেমরি বা RAM এর আকার যাই হোক না কেন তা ১ বাইট ১ বাইট করে আলাদা আলাদা এলাকায় বিভক্ত। একটু ব্যাখ্যা করি।

আমরা বর্গফুট, বর্গমিটার এককে ক্ষেত্রফল মাপি। কিন্তু জমি কেনা বেচার জন্য আমরা এইসব একক ব্যবহার না করে শতাংশ বা ডেসিমাল একক ব্যবহার করি। ১ ডেসিমাল হচ্ছে প্রায় ৪৩৬ বর্গফুট। ১ ডেসিমাল এর কম জমি কেনা বেচা করাটা হাস্যকর, কারণ এর কমে কোন জমিতে বাড়ি করা যায় না।

ঠিক একই ভাবে, যদিও বিট মেমরি মাপার ক্ষুদ্রতম একক, বাইট হচ্ছে মেমরি ব্যবহার করার কার্যকরী একক।



একটি মেমরি মডিউল বা RAM এর সম্পূর্ণ জায়গাটিই ১ বাইট করে অনেকগুলো এলাকায় বিভক্ত। এই প্রত্যেকটি এলাকারই একটি করে ঠিকানা থাকে যা একটি ধনাত্মক পূর্ণ সংখ্যা। এই ঠিকানা কে মেমরি এড্রেস বলে। বাইট হচ্ছে মেমরিতে ক্ষুদ্রতম স্থান যার নিজস্ব মেমরি এড্রেস আছে।

যে কোন তথ্যই যখন মেমরিতে রাখা হয় তখন তা তার আকার অনুযায়ী এক বা একাধিক বাইট জুড়ে থাকে। কম্পিউটার যখন তার মেমরিতে থাকা কোন তথ্য খুজে বের করে, তখন যে এই মেমরি এড্রেস ব্যবহার করে খোজার ও প্রসেস করার কাজ করে থাকে।

বাইট খুব ছোট একটি একক।

১০২৪ বাইটকে একত্রে ১ কিলোবাইট
১০২৪ কিলোবাইটকে একত্রে ১ মেগাবাইট
১০২৪ মেগাবাইট কে একত্রে ১ গিগাবাইট বলা হয়।

কাজেই আপনার কম্পিউটার এর র‍্যাম ২ গিগাবাইট (GB) বলতে আসলে বোঝায় যে, আপনার র‍্যামটি (১০২৪x১০২৪x১০২৪) টি ১ বাইট এলাকায় বিভক্ত যার প্রত্যেকটি এলাকার একটি করে মেমরি এড্রেস আছে।

0 comments:

Post a Comment