অনেক দিন আগে কম্পিউটারে বুটস্ট্র্যাপ রম ছিল না। কারও কাছে র্যাম সংশোধন করার প্রত্যক্ষ ইন্টারফেস ছিল, এবং সিপিইউ থামাতে, র্যাম পরিবর্তন করতে এবং সিপিইউ পুনরায় চালু করতে পারে। সুতরাং, আপনি সিস্টেমটি পুনরায় চালু করার সময়, আপনাকে সিপিইউ থামানো হয়েছে কিনা তা নিশ্চিত করতে হবে, আপনার বুটস্ট্র্যাপ কোডটি প্রবেশ করুন যা একটি দ্বিতীয় স্তরের বুটলোডার (2 বিএল) কাগজের টেপ বা হোয়াট নোটের লোড করবে এবং তারপরে আপনার সিপিইউ "আনহাল্ট" করবে।
স্পষ্টতই, রম এখানে দিন বাঁচায়। আপনি যখন একটি x86 সিপিইউ-ভিত্তিক সিস্টেমে শক্তি প্রয়োগ করেন, তখন এটি এফএফএফএফ: এফএফএফ 0 ঠিকানাতে সম্পাদন শুরু করে। এটি x86 সিপিইউর একটি হার্ডওয়ারযুক্ত বৈশিষ্ট্য। রমকে সেই ঠিকানাটিতে থাকতে হবে, এবং সত্যই বিআইওএসের খুব উপরের অংশটি রয়েছে (সাধারণত E000: 0000 থেকে শুরু হয়)।
বিআইওএস শব্দটি পুরানো সিপি / এম অপারেটিং সিস্টেমের একটি হোল্ডওভার। সিপি / এম এর কাঠামোটি ছিল নিম্ন স্তরের রম বিআইওএস, মাঝখানে বিডিওএস (বেসিক ডিস্ক অপারেটিং সিস্টেম) এবং ব্যবহারকারীর সামনে সিসিপি (কনসোল কমান্ড প্রসেসর)। বিআইওএস-এর নিম্ন-স্তরের ফাংশনগুলি যেমন রুটিন ছিল যেমন একটি নির্দিষ্ট ডিস্ক সেক্টর পড়া / লেখা, কীবোর্ড থেকে একটি কী পড়া, স্ক্রিনে একটি অক্ষর লেখা ইত্যাদি। বিডিওএস কোনও ফাইল সিস্টেম প্রয়োগের জন্য বিআইওএস ফাংশন ব্যবহার করবে এবং সিসিপি হ'ল বিডিওএস এবং বিআইওএস ফাংশন ব্যবহার করে কমান্ড শেল। ধারণাটি ছিল BIOS- এ হার্ডওয়্যার নির্দিষ্ট ইন্টারফেস থাকবে এবং বিপিওএস এবং সিসিপি যে কোনও সিপি / এম সিস্টেমে একই হতে পারে।
বিআইওএস প্রসেসরের দ্বারা সম্পাদিত প্রাথমিক কোডও ধারণ করবে, যা প্রয়োজনীয় হার্ডওয়্যার শুরু করে, একটি স্প্ল্যাশ স্ক্রিন প্রদর্শন করবে, প্রথম ডিস্ক ড্রাইভের প্রথম সেক্টর থেকে 2 বিএল লোড করবে এবং এটি চালাবে।
এমএস-ডস ১.০, সিপি / এম এর x86 বাস্তবায়ন, ক্লডজি ইউনিক্স-এর মতো বৈশিষ্ট্যগুলি 2.0 সংস্করণে শুরু করার সাথে যুক্ত করা হয়েছিল, একইভাবে কাঠামোযুক্ত হয়েছিল। সেই সময় আইবিএম পিসি বিআইওএস-তে ভিডিও মোড স্যুইচিং, গ্রাফিক্স ফাংশন এবং হার্ড এটি-বিআইওএস-তে হার্ড ড্রাইভ সমর্থন করার মতো বর্ধিতকরণও অন্তর্ভুক্ত ছিল।
তবে, বেশিরভাগ ডস প্রোগ্রামগুলি একবার শুরু করার পরে BIOS ফাংশন ব্যবহার করে না; তারা কার্য সম্পাদনের কারণে সরাসরি হার্ডওয়্যার অ্যাক্সেস করে। এটি 32-বিট সিপিইউ সাধারণ হওয়ার পরে বিশেষত গুরুত্বপূর্ণ ছিল; BIOS কেবলমাত্র পুরানো 16-বিট মোড থেকে কাজ করেছে, সুতরাং 32-বিট মোড থেকে এটিকে কল করা আরও কার্যকারিতা জরিমানা নিয়েছে।
১৯৯০ সালের দিকে পিসি আর্কিটেকচারটি প্রসারিত হতে শুরু করে, এবং এপিএম, পিএনপি এবং পিসিআই এর মতো নতুন জিনিস অন্তর্ভুক্ত করতে শুরু করে। সুতরাং BIOS অতিরিক্ত ফাংশন গ্রহণ এবং আরও বড় হতে শুরু করেছিল। পিসিগুলি পৃথক পৃথক উপাদানের পরিবর্তে চিপসেটগুলি ব্যবহার করা শুরু করেছিল। চিপসেটটি আরম্ভ করা এমন এক জিনিস যা র্যাম এবং অন্যান্য উপাদান যেমন পিসিআই বাস ব্যবহারের উপযোগী হয়ে ওঠার জন্য ঘটে থাকে, তাই এটি BIOS বুটস্ট্র্যাপ কোড দ্বারা পরিচালনা করতে হবে। কোনও কারণে অনেক চিপসেট বিক্রেতারা কীভাবে তাদের সেটআপ প্রক্রিয়াগুলি কাজ করে তা ডকুমেন্ট করতে পছন্দ করে না।
এপিএম বিআইওএস ফাংশন দ্বারা পরিচালিত হয়েছিল; অর্থাৎ অপারেটিং সিস্টেমটি বন্ধ করার জন্য একটি এপিএম ফাংশন কল করতে হয়েছিল। এপিএমের উত্তরসূরি এসিপিআই হ'ল বিআইওএসরা আজ বড় কাজ। এসিপিআই বিআইওএস মেমরিতে প্রচুর টেবিল তৈরি করার জন্য দায়বদ্ধ যা অনেকগুলি নন-প্লাগ এবং খেলানো হার্ডওয়্যার উপাদানগুলি বর্ণনা করে। বুটিং অপারেটিং সিস্টেমটি এটি ব্যবহার করে যে কতগুলি সিপিইউ রয়েছে তা নির্ধারণ করতে, সিস্টেমটি কত র্যাম স্লট রয়েছে, সিস্টেমটি কোনও ডেস্কটপ বা ল্যাপটপ কিনা, কতগুলি ব্যাটারি ইনস্টল করা আছে ইত্যাদি। এসিপিআই বায়োসকেও বিদ্যুৎ বন্ধ করতে বলা উচিত সিস্টেম, বা এটি ঘুমের মধ্যে রাখুন ইত্যাদি কোনও কারণ নেই যে অপারেটিং সিস্টেমের কোড এসিপিআই কলগুলি হ্যান্ডেল করতে পারে না though
বিসিওএস আপডেটগুলির বেশিরভাগ সময় এসিপিআই ত্রুটিগুলি সমাধান করা হয়, যেহেতু এসিপিআই জটিল এবং কঠিন, বা বর্ধিত মাইক্রোকোড প্রবর্তন করে। সমস্ত আধুনিক সিপিইউ'র মাইক্রোকোড আপডেটের অনুমতি দেয় এবং নতুন মাইক্রোকোড আপডেট প্রকাশিত হলে সেই নতুন মাইক্রোকোড ইনস্টল করতে অবশ্যই বিআইওএস আপডেট করতে হবে। কোনও সাধারণ প্রোগ্রামের জন্য সিপিইউর মাইক্রোকোড আপডেট করা সম্ভব।
এসএমআইগুলিও বায়োস পরিচালনা করে। আমি বেশ নিশ্চিত যে কোনও পিসির তাপ ও বিদ্যুৎ সম্পর্কিত হার্ডওয়্যারগুলির বেশিরভাগই এসএমআই-এর ট্রিগার করে, যার রুটিনগুলি তারপরে পাখা / সিপিইউ গতি এবং / অথবা অন্যান্য জিনিসগুলি সামঞ্জস্য করে। অন্যান্য জিনিস এসএমআই এর ট্রিগার করতে পারে; সিস্টেম ম্যানেজমেন্ট মোডে উইকিপিডিয়া নিবন্ধটি দেখুন। তবে হার্ডওয়্যার ইন্টারফেসগুলি নথিভুক্ত করা থাকলে এই কোডটি অপারেটিং সিস্টেম কোডের সাথে প্রতিস্থাপন করা যাবে না এর কোনও কারণ নেই।
আধুনিক অপারেটিং সিস্টেমগুলি পাওয়ার ইভেন্টগুলি ব্যতীত হার্ডওয়্যার অ্যাক্সেসের জন্য BIOS মোটেও ব্যবহার করে না। কিছু বুটলোডার BIOS অক্ষরটি I / O ব্যবহার করে পাঠ্য প্রদর্শন করতে এবং ডিস্ক I / O ওএস বুট কোড লোড করে।
সুতরাং আমি আশা করি এটি BIOS এর ভূমিকা সম্পর্কে কিছুটা আলোকপাত করবে এবং বেশিরভাগ অংশে এটি কীভাবে কাজ করে সে সম্পর্কে আপনি একেবারেই সঠিক।