Saturday, June 28, 2014

C প্রোগ্রামিং বিট , বাইট , মেমোরি এড্রেস , কম্পাইলার

কেমন আছেন সবাই ? আবার দেখা হইয়ে গেলো C programing পোস্টে  এ । আগের পোস্টে এ আমি আপনাদের C Programing কি , কেন শিখবো এইসব ব্যাপারে বলেছিলাম । তবে C Programing শিখার জন্য আর অনেক কিছু জানার দরকার । আজকে আলোচনা করবো বিট, বাইট , কম্পাইলার ইত্যাদি বিষয়ে । তাহলে আর কথা না বাড়াই ।

বিট এবং বাইট কি ?

বিট এবং বাইট হল কম্পিউটার এর বিভিন্ন ডাটার অতিক্ষুদ্র একক । কম্পিউটার সাধারণত '০' আর '১' নিয়ে কাজ করে । অর্থাৎ কম্পিউটার বাইনারি পদ্ধতিতে কাজ করে । আর এই বাইনারি সিস্টেমে প্রতিটি ডাটার একক হল বিট । কিন্তু এই বিট কে শুধুমাত্র '০' আর '১' এর মাধ্যমে প্রকাশ করা যায় ।

তাই বাইনারি সিস্টেমের এই সীমাবদ্ধতাকে কাটানোর জন্য কতগুলু বিটকে এক করে ব্যাবহার করা হয় যাকে বলে বাইট । ৮ বিট = ১ বাইট  । অর্থাৎ ৮ টা বিট মিলে হয় ১ বাইট । অর্থাৎ যদি বলা হয় যে কোন Software মেমোরিতে যদি 5MB জায়গা দখল করে তার মানে হল যে সে মেমোরিতে ১০২৪*১০২৪*৫ বাইট  জায়গা দখল করল ।
  • ৮ বিট = ১ বাইট
  • ১০২৪ বাইট  = ১ কেবি
  • ১০২৪ কেবি = ১ এমবি
  • ১০২৪ এমবি = ১ জিবি
  • ১০২৪ জিবি = ১ টেরা বাইট
মনে রাখা দরকার যে কম্পিউটার একটা  অক্ষর রাখার জন্য মাত্র ১ বাইট  জায়গা নিবে ।
C programing

মেমোরি এড্রেস কি ?

মেমোরি হল একটা কম্পিউটারের প্রধান অংশগুলুর মধ্যে একটা । সাধারণত কম্পিউটার প্রতিটি ডাটা তার মেমোরি থেকে অপারেট করে। কিন্তু এই মেমোরি এড্রেস টা আসলে কি? আমরা যদি একটা ক্লাসরুম এর সকল ছাত্র-ছাত্রীকে এক একটা Cell বিবেচনা করি তাহলে দেখা যাবে যে প্রত্যেকরই একটি আলাদা বৈশিষ্ট্য আছে । তেমনি কম্পিউটারের মেমোরি হল একটা ইলেক্ট্রনিক ডিভাইস যা অনেকগুলা Cell এর সমষ্টি । প্রত্যেক টা Cell ই সমান ডাটা বহন করে । কিন্তু এখন কোন ডাটাটা কোন Cell  এ আছে সেইটা বুঝার জন্য আবার প্রত্যেকটা Cell এর ই আলাদা এড্রেস/ক্রমিক আছে যাকে বলা হয় মেমোরি এড্রেস ।

এখন কথা হল C প্রোগ্রাম লিখব কোথায় ? C প্রোগ্রাম লিখতে হলে আমাদের Compiler লাগবে ।

কম্পাইলার এবং ইন্টারপ্রিটার কি ?

আমরা জানি যে কম্পিউটার সুধু  মেশিন Language বুঝে । কিন্তু C Programing Language তো কম্পিউটার এর বোধগম্য না । তাই এমন কিছুর দরকার যেইটা কিনা এই ভাষা কে কম্পিউটার এর বোধগম্য করে দিবে । আর সেইতা করার জন্য আমাদের দরকার কম্পাইলার / ইন্টারপ্রিটার ।  কম্পাইলার  যেকোনো প্রগ্রামিং Language কে Computer Machine Language এ রুপান্তরিত করে তাকে কম্পিউটার এর ব্যাবহার উপযোগী করে তোলে । এখন কথা হল গিয়ে কম্পাইলার আর ইন্টারপ্রিটার যেহেতু একই কাজ করে তাহলে এদের মধ্যে পার্থক্য টা কোথায় ।
কম্পাইলার C Programing Language কে Compile করে তাকে Machine Code এ Convert করে Executable File তৈরি করে যা পরবর্তীতে সহজভাবে কোন কম্পাইলার ছাড়াই ব্যাবহার করা যায় ।কিন্তু Interpreter সম্পূর্ণ Code কে Machine Code এ রূপান্তরিত করে না যার ফলে প্রতিবার প্রোগ্রাম ব্যাবহারের জন্য Interpreter এর দরকার পরে ।আর তাছাড়া কম্পাইলার ইন্টারপ্রিটার থেকে অনেক দ্রুত কাজ করে । তাই ইন্টারপ্রিটার থেকে কম্পাইলার অনেক বেশি জনপ্রিয় ।

এখন কথা হল গিয়ে কি ধরনের Compiler ব্যাবহার করা ভাল । অনেক ধরনের Compiler আছে । আমার জানামতে বর্তমানে সবচেয়ে ভাল Compiler গুলুর মধ্যে
CodeBlock , Dev C++ , NetBeans IDE এবং Microsoft Visual Studio ই উল্লেখযোগ্য ।
আজকে এই পর্যন্তই । আবার দেখা হবে ।
========================= HAPPY PROGRAMING ==============================

No comments:

Post a Comment