বায়োস

কম্পিউটিং-এ, বায়োস (, ; বেসিক ইনপুট/আউটপুট সিস্টেম, যা সিস্টেম বায়োস, রম বায়োস, বায়োস রম বা পিসি বায়োস নামেও পরিচিত) হলো এক ধরনের ফার্মওয়্যার, যা অপারেটিং সিস্টেম ও প্রোগ্রামের জন্য রানটাইম পরিষেবা প্রদান করতে এবং বুট প্রক্রিয়ার (পাওয়ার-অন স্টার্টআপ) সময় হার্ডওয়্যার প্রারম্ভিকীকরণে ব্যবহৃত হয়। বায়োস ফার্মওয়্যার ব্যবহার করা কম্পিউটারে এই ফার্মওয়্যারটি কম্পিউটারের মাদারবোর্ডে আগে থেকেই ইনস্টল করা থাকে।

এই নামটি ১৯৭৫ সালে সিপি/এম অপারেটিং সিস্টেমে ব্যবহৃত বেসিক ইনপুট/আউটপুট সিস্টেম থেকে এসেছে। বায়োস ফার্মওয়্যারটি মূলত আইবিএম পিসির নিজস্ব ছিল; তবে সামঞ্জস্যপূর্ণ সিস্টেম তৈরির লক্ষ্যে কমপ্যাক, ফিনিক্স টেকনোলজিস, এএমআই এবং অন্যান্য কিছু কোম্পানি এর রিভার্স ইঞ্জিনিয়ারিং সম্পন্ন করে। সেই মূল সিস্টেমের ইন্টারফেসটি একটি দে ফ্যাক্টো মান হিসেবে কাজ করে।

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

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

ইউনিফাইড এক্সটেনসিবল ফার্মওয়্যার ইন্টারফেস (ইউইএফআই) হলো পিসি বায়োসের উত্তরসূরি, যার লক্ষ্য এর প্রযুক্তিগত সীমাবদ্ধতাগুলো দূর করা। যেসব অপারেটিং সিস্টেম এবং অপশন কার্ড ইউইএফআই-এর নেটিভ অপারেশন সমর্থন করে না, সেগুলোর সাথে সামঞ্জস্য বজায় রাখতে ইউইএফআই ফার্মওয়্যারে লিগ্যাসি বায়োস সাপোর্ট অন্তর্ভুক্ত থাকতে পারে। ২০২০ সাল থেকে ইন্টেল প্ল্যাটফর্মের সকল পিসি আর লিগ্যাসি বায়োস সমর্থন করে না। লিগ্যাসি বায়োস ফার্মওয়্যার ব্যবহার করে এমন পিসিতে আনুষ্ঠানিকভাবে চলার উপযোগী মাইক্রোসফট উইন্ডোজ-এর সর্বশেষ সংস্করণ হলো উইন্ডোজ ১০, কারণ উইন্ডোজ ১১-এর জন্য ইউইএফআই-সামঞ্জস্যপূর্ণ সিস্টেম প্রয়োজন (উইন্ডোজ ১১-এর আইওটি এন্টারপ্রাইজ সংস্করণ ব্যতীত, যা সংস্করণ ২৪এইচ২ থেকে কার্যকর)।

বিষয়শ্রেণী:বুট করা
বিষয়শ্রেণী:ফার্মওয়্যার
 ইতিহাস 

BIOS (বেসিক ইনপুট/আউটপুট সিস্টেম) শব্দটি গ্যারি কিলডাল প্রবর্তন করেন এবং এটি প্রথম ১৯৭৫ সালে সিপি/এম অপারেটিং সিস্টেমে দেখা যায়, যেখানে এটি বুট সময় লোড হওয়া এবং সরাসরি হার্ডওয়্যার-এর সাথে যোগাযোগকারী সিপি/এম-এর যন্ত্রনির্ভর অংশকে বর্ণনা করে। (একটি সিপি/এম যন্ত্রে সাধারণত এর ROM-এ কেবল একটি সরল বুট লোডার থাকে।)

এমএস-ডস, পিসি ডস অথবা ডিআর-ডস-এর সংস্করণগুলোতে বিভিন্নভাবে "আইও.এসওয়াইএস", "আইবিএমবায়ো.কম", "IBMBIO.SYS" বা "DRBIOS.SYS" নামে একটি ফাইল থাকে; এই ফাইলটি "ডস BIOS" (যা "ডস I/O সিস্টেম" নামেও পরিচিত) নামে পরিচিত এবং এতে অপারেটিং সিস্টেমের নিম্নস্তরের হার্ডওয়্যার-নির্দিষ্ট অংশটি থাকে। এটি অন্তর্নিহিত হার্ডওয়্যার-নির্দিষ্ট কিন্তু অপারেটিং সিস্টেম-স্বাধীন "সিস্টেম BIOS"-এর সাথে মিলে, যা ROM-এ অবস্থান করে, "সিপি/এম বায়োস"-এর সমতুল্য রূপটি উপস্থাপন করে।

মূলত আইবিএম পিসি-এর জন্য প্রোপ্রাইটারি BIOS-টি কিছু কোম্পানি, যেমন কমপ্যাক, ফিনিক্স টেকনোলজিস, এএমআই এবং অন্যান্যদের দ্বারা রিভার্স ইঞ্জিনিয়ারিং করা হয়েছে, সামঞ্জস্যপূর্ণ সিস্টেম তৈরির উদ্দেশ্যে।

PS/2 যন্ত্র প্রবর্তনের সাথে সাথে, IBM সিস্টেম BIOS-কে রিয়েল-মোড এবং প্রোটেক্টেড-মোড অংশে বিভক্ত করে। রিয়েল-মোড অংশটি DOS-এর মতো বিদ্যমান অপারেটিং সিস্টেমের সাথে পশ্চাৎ-সামঞ্জস্য বজায় রাখার জন্য নির্ধারিত ছিল এবং তাই এর নাম দেওয়া হয় "CBIOS" ("Compatibility BIOS"-এর সংক্ষিপ্ত রূপ), আর "ABIOS" ("Advanced BIOS"-এর সংক্ষিপ্ত রূপ) বিশেষভাবে বহুকাজসম্পন্ন অপারেটিং সিস্টেম যেমন ওএস/২-এর জন্য উপযোগী নতুন ইন্টারফেস প্রদান করত।
 ব্যবহারকারী ইন্টারফেস 
মূল আইবিএম পিসি এবং এক্সটি-এর BIOS-এ কোনো ইন্টারঅ্যাকটিভ ব্যবহারকারী ইন্টারফেস ছিল না। ত্রুটি কোড বা বার্তা পর্দায় প্রদর্শিত হতো, অথবা পাওয়ার-অন সেলফ-টেস্ট (POST) ভিডিও ডিসপ্লে অ্যাডাপ্টার সফলভাবে আরম্ভ করার পর্যায়ে পৌঁছাতে না পারলে ত্রুটির সংকেত দিতে নির্দিষ্ট ধারার শব্দ উৎপন্ন করা হতো। আইবিএম পিসি এবং এক্সটি-তে বিকল্পসমূহ মূল বোর্ড এবং এক্সপ্যানশন কার্ড-এ থাকা সুইচ ও জাম্পারের মাধ্যমে নির্ধারিত হতো। ১৯৯০-এর দশকের মাঝামাঝি সময় থেকে BIOS ROM-এ একটি "BIOS কনফিগারেশন ইউটিলিটি" (BCU) অথবা "BIOS সেটআপ ইউটিলিটি" অন্তর্ভুক্ত করা প্রচলিত হয়ে ওঠে, যা সিস্টেম চালু করার সময় একটি নির্দিষ্ট কী-সমষ্টি চাপলে প্রবেশযোগ্য ছিল। এই প্রোগ্রামটি ব্যবহারকারীকে পূর্বে ডিআইপি সুইচ ব্যবহার করে নির্ধারিত সিস্টেম কনফিগারেশন বিকল্পসমূহ কীবোর্ড-নিয়ন্ত্রিত ইন্টারঅ্যাকটিভ মেনু ব্যবস্থার মাধ্যমে নির্ধারণ করার সুযোগ দিত। অন্তর্বর্তী সময়ে, আইবিএম-সামঞ্জস্যপূর্ণ পিসিযার মধ্যে আইবিএম এটিও অন্তর্ভুক্তব্যাটারি-সমর্থিত RAM-এ কনফিগারেশন সেটিং সংরক্ষণ করত এবং এই মেমরিতে সংরক্ষিত কনফিগারেশন বিকল্প নির্ধারণের জন্য ROM-এর পরিবর্তে ফ্লপি ডিস্কে থাকা বুটযোগ্য কনফিগারেশন প্রোগ্রাম ব্যবহার করত। ফ্লপি ডিস্কটি কম্পিউটারের সাথে সরবরাহ করা হতো, এবং এটি হারিয়ে গেলে সিস্টেম সেটিং পরিবর্তন করা যেত না। সাধারণভাবে EISA বাস-সম্বলিত কম্পিউটারগুলোর ক্ষেত্রেও একই প্রযোজ্য ছিল, যেখানে কনফিগারেশন প্রোগ্রামটির নাম ছিল EISA Configuration Utility (ECU)।

একটি আধুনিক উইন্টেল-সামঞ্জস্যপূর্ণ কম্পিউটার ১৯৯০-এর দশকের শেষভাগের ROM-নিবাসী BIOS সেটআপ ইউটিলিটিগুলোর প্রকৃতির সাথে মূলত অপরিবর্তিত একটি সেটআপ রুটিন প্রদান করে; ব্যবহারকারী কীবোর্ড এবং ভিডিও ডিসপ্লে ব্যবহার করে হার্ডওয়্যার বিকল্পসমূহ কনফিগার করতে পারেন। আধুনিক উইন্টেল যন্ত্র BIOS কনফিগারেশন সেটিং ফ্ল্যাশ ROM-এ সংরক্ষণ করতে পারে, সম্ভবত সেই একই ফ্ল্যাশ ROM-এ যেখানে BIOS নিজেই সংরক্ষিত থাকে।
 এক্সটেনশন (অপশন ROMs) 

হার্ড ডিস্ক ড্রাইভ হোস্ট বাস অ্যাডাপ্টার এবং ভিডিও কার্ড-এর মতো পেরিফেরাল কার্ডগুলোর নিজস্ব ফার্মওয়্যার থাকে, এবং BIOS এক্সটেনশন অপশন ROM কোড এক্সপ্যানশন কার্ডের ফার্মওয়্যারের অংশ হতে পারে; এই কোড BIOS-এ অতিরিক্ত সক্ষমতা যোগ করে। অপশন ROM-এ থাকা কোড BIOS যখন মাস স্টোরেজ থেকে অপারেটিং সিস্টেম বুট করে তার আগে কার্যকর হয়। এই ROM-গুলো সাধারণত হার্ডওয়্যার পরীক্ষা ও আরম্ভ করে, নতুন BIOS পরিষেবা যোগ করে, অথবা বিদ্যমান BIOS পরিষেবাগুলোকে নিজেদের পরিষেবা দিয়ে প্রতিস্থাপন করে। উদাহরণস্বরূপ, একটি এসসিএসআই কন্ট্রোলার-এ সাধারণত একটি BIOS এক্সটেনশন ROM থাকে, যা সেই কন্ট্রোলারের মাধ্যমে সংযুক্ত হার্ড ড্রাইভের জন্য সমর্থন যোগ করে। একটি এক্সটেনশন ROM তাত্ত্বিকভাবে অপারেটিং সিস্টেম ধারণ করতে পারে, অথবা এটি সম্পূর্ণ ভিন্ন একটি বুট প্রক্রিয়া যেমন নেটওয়ার্ক বুটিং বাস্তবায়ন করতে পারে। BIOS এক্সটেনশন ROM-যুক্ত একটি অ্যাডাপ্টার কার্ড (অথবা একটি ROM চিপ) অপসারণ বা সংযোজনের মাধ্যমে একটি IBM-সামঞ্জস্যপূর্ণ কম্পিউটার সিস্টেমের কার্যপ্রণালী সম্পূর্ণভাবে পরিবর্তন করা যেতে পারে।

মাদারবোর্ড BIOS সাধারণত সমন্বিত ডিসপ্লে ও সমন্বিত স্টোরেজ আরম্ভ ও বুটস্ট্র্যাপ করার কোড ধারণ করে। আরম্ভ প্রক্রিয়ায় সংশ্লিষ্ট ডিভাইসের কোড কার্যকর করা অন্তর্ভুক্ত থাকতে পারে, যাতে ডিভাইসটি সনাক্ত করা, ডিভাইসের ধরন যাচাই করা, তারপর বেস রেজিস্টার স্থাপন করা, পয়েন্টার নির্ধারণ করা, ইন্টারাপ্ট ভেক্টর টেবিল স্থাপন করা, উপলব্ধ রেজিস্টার সংগঠনের জন্য পেজিং মোড নির্বাচন করা, ইন্টারাপ্ট-সম্পর্কিত সফটওয়্যার রুটিনে প্রবেশের জন্য ডিফল্ট মান নির্ধারণ করা, এবং ডিফল্ট মান ব্যবহার করে ডিভাইসের কনফিগারেশন নির্ধারণ করা অন্তর্ভুক্ত থাকতে পারে। অতিরিক্তভাবে, এসসিএসআই, রেইড, নেটওয়ার্ক ইন্টারফেস কার্ড এবং ভিডিও কার্ড-এর মতো প্লাগ-ইন অ্যাডাপ্টার কার্ডগুলো প্রায়শই নিজস্ব BIOS (যেমন ভিডিও BIOS) অন্তর্ভুক্ত করে, যা নির্দিষ্ট উপাদানের জন্য সিস্টেম BIOS কোডকে সম্পূরক বা প্রতিস্থাপন করে। এমনকি মাদারবোর্ডে অন্তর্নির্মিত ডিভাইসগুলোও এভাবে কাজ করতে পারে; তাদের অপশন ROM-গুলো মাদারবোর্ড BIOS-এর অংশ হতে পারে।

যদি কোনো কার্ড মাদারবোর্ড BIOS দ্বারা সমর্থিত না হয় এবং অপারেটিং সিস্টেম লোড হওয়ার আগে (সাধারণত বুট প্রক্রিয়ায় প্রয়োজনীয় হলে) BIOS পরিষেবার মাধ্যমে সেটিকে আরম্ভ বা প্রবেশযোগ্য করতে হয়, তবে একটি অ্যাড-ইন কার্ডের জন্য অপশন ROM প্রয়োজন হয়। প্রাথমিক কিছু পিসি সিস্টেমে (বিশেষত আইবিএম পিসিজেআর অন্তর্ভুক্ত) ROM-এর একটি অতিরিক্ত সুবিধা ছিল যে ROM প্রধান সিস্টেম RAM-এর তুলনায় দ্রুততর ছিল। (আধুনিক সিস্টেমে পরিস্থিতি সম্পূর্ণ বিপরীত; BIOS ROM কোড সাধারণত RAM-এ অনুলিপি ("শ্যাডো") করা হয় যাতে এটি দ্রুততরভাবে কার্যকর হতে পারে।)

 ভৌত অবস্থান 
অপশন ROM সাধারণত অ্যাডাপ্টার কার্ডে অবস্থান করে। তবে, মূল পিসি, এবং সম্ভবত পিসি এক্সটি-তেও, মাদারবোর্ডে (IBM-এর পরিভাষায় "সিস্টেম বোর্ড") একটি অতিরিক্ত ROM সকেট ছিল, যেখানে একটি অপশন ROM সন্নিবেশ করা যেত; এছাড়া BASIC ইন্টারপ্রেটার ধারণকারী চারটি ROM অপসারণ করে কাস্টম ROM দ্বারা প্রতিস্থাপন করা যেত, যা অপশন ROM হতে পারত। আইবিএম পিসিজেআর পিসিগুলোর মধ্যে অনন্য, কারণ এর সামনের দিকে দুটি ROM কার্ট্রিজ স্লট রয়েছে। এই স্লটগুলোর কার্ট্রিজগুলো অপশন ROM-এর জন্য ব্যবহৃত ঊর্ধ্ব মেমরি এলাকার একই অঞ্চলে ম্যাপ হয়, এবং কার্ট্রিজগুলোতে এমন অপশন ROM মডিউল থাকতে পারে যা BIOS শনাক্ত করতে পারে। কার্ট্রিজগুলোতে BASIC প্রোগ্রামের মতো অন্যান্য ধরনের ROM মডিউলও থাকতে পারে, যা ভিন্নভাবে পরিচালিত হয়। একটি পিসিজেআর কার্ট্রিজে বিভিন্ন ধরনের একাধিক ROM মডিউল থাকতে পারে, সম্ভবত একটি ROM চিপেই একত্রে সংরক্ষিত।