Perangkat lunak BIOS dibangun ke dalam PC, dan merupakan kode pertama yang dijalankan oleh PC saat dinyalakan ('boot firmware'). Ketika PC dinyalakan, pekerjaan pertama untuk BIOS adalah uji daya sendiri, yang menginisialisasi dan mengidentifikasi perangkat sistem seperti CPU, RAM, kartu tampilan video, keyboard dan mouse, drive hard disk, drive disk optik dan perangkat keras lainnya. BIOS kemudian menempatkan perangkat lunak boot loader yang dipegang pada perangkat periferal (ditetapkan sebagai 'perangkat boot'), seperti hard disk atau CD / DVD, dan memuat serta menjalankan perangkat lunak itu, memberikannya kendali atas PC. [2] Proses ini dikenal sebagai booting, atau booting, yang merupakan kependekan dari bootstrap.
Persyaratan apa yang menentukan bahwa sistem komputer harus memiliki BIOS yang diinstal di atasnya?
Mengapa Sistem Operasional tidak bisa melakukan semua pekerjaan BIOS?
Jawaban:
BIOS adalah perangkat keras yang bergantung pada kode yang disimpan pada motherboard itu sendiri. Setiap motherboard yang berbeda memerlukan BIOS khusus yang ditulis untuknya, sehingga tidak mungkin memiliki BIOS generik / OS all-in-one (walaupun BIOS secara teknis hanya kode yang disimpan, sehingga Anda secara teoritis dapat menulis OS untuk satu motherboard tertentu) . Seperti yang Anda sebutkan, tujuan BIOS adalah untuk melakukan hal berikut:
Perhatikan bahwa Anda masih dapat memulai komputer tanpa penyimpanan eksternal - itulah sebabnya BIOS merupakan persyaratan untuk komputer. Dengan kata lain, BIOS menyediakan antarmuka perangkat lunak umum untuk memungkinkan program komputer yang tersimpan untuk berkomunikasi dengan berbagai perangkat perangkat keras yang terhubung ke motherboard.
Sebagai contoh, jika saya memiliki dua motherboard yang berbeda dengan dua pengontrol SATA yang berbeda, BIOS memungkinkan saya untuk menulis sepotong kode yang dapat bekerja dengan keduanya, tanpa sepengetahuan saya bagaimana motherboard sebenarnya mengirimkan perintah ke perangkat SATA. Saya hanya perlu memberi tahu komputer "baca sektor X dari perangkat SATA ini", dan BIOS bertanggung jawab untuk benar-benar mengirim perintah-perintah itu ke perangkat keras.
Di mana ia mendapatkan informasi "read sector X" adalah program tersimpan yang terdapat dalam BIOS, yang biasanya mengarahkan komputer untuk mulai membaca dari bootloader yang disimpan di lokasi umum. Lokasi-lokasi umum ini disepakati oleh berbagai pengembang perangkat lunak dan perangkat keras, dan biasanya disediakan untuk umum untuk memungkinkan lebih banyak kompatibilitas antar sistem.
Setelah tingkat dasar antarmuka (sekali lagi, antarmuka logis melalui perangkat lunak) ditetapkan, sistem operasi itu sendiri membangun antarmuka umum dengan berbagai perangkat perangkat keras Anda (biasanya dengan menggunakan "driver perangkat"), dan sistem operasi kemudian dapat mengontrol perangkat keras.
Akhirnya, perlu dicatat bahwa BIOS juga digunakan untuk membuat modifikasi pada konfigurasi perangkat keras komputer, dan menyimpannya di EEPROM on-board (jadi komputer Anda mengingat perubahan saat Anda memulai kembali). Namun, seperti yang saya nyatakan sebelumnya, begitu sistem operasi dimuat, ia memiliki kendali penuh atas komputer.
Hal ini memungkinkan produsen motherboard untuk mengembangkan perangkat lunak yang memungkinkan Anda untuk membuat perubahan ini dari dalam sistem operasi Anda, sebagai lawan harus reboot ke BIOS. Sekali lagi, ini sangat tergantung pada perangkat keras dan lunak, tetapi menunjukkan bahwa semua antarmuka komputer adalah relatif. BIOS persis seperti namanya - sistem input / output dasar, untuk memungkinkan antarmuka perangkat lunak umum untuk program yang lebih maju ("sistem operasi") untuk mengendalikan mesin.
sumber
Sistem operasi Anda ada di hard disk Anda, jika Anda menyalakan komputer Anda itu tidak akan secara ajaib mulai membaca dari hard disk itu. Ini adalah BIOS yang memuat boot loader dari hard disk , serta melakukan beberapa pengujian dan memungkinkan Anda untuk mengonfigurasi pengaturan BIOS tertentu.
OS Anda tidak dapat melakukan itu karena ada di hard disk dan bukan di ROM Anda.
Karenanya, Anda memerlukan BIOS atau teknologi serupa (tetapi berbeda) seperti EFI ...
Dimungkinkan untuk menempatkan bagian dari OS pada ROM (bertanggung jawab untuk memuat boot loader OS) oleh pabrikan; namun, ini tidak berlaku secara luas dan tetap ada BIOS atau EFI.
sumber
Tidak ada alasan logis yang nyata. Ini lebih merupakan masalah warisan dan sejarah.
Tidak ada persyaratan bahwa komputer harus memiliki BIOS yang diinstal. Ini warisan dari PC IBM. Meskipun ini terbukti merupakan ide yang bagus
Memiliki Sistem Operasi melakukan itu tidak akan benar-benar mengubah apa pun karena masih akan melakukan sesuatu seperti BIOS. Tentu saja OS harus dalam ROM, bukan pada perangkat I / O. Masalahnya mungkin muncul untuk masalah monopoli ketika pembangun OS memutuskan untuk membuat BIOS OS-nya tidak kompatibel dengan OS lain. Memiliki produsen BIOS yang terpisah dari OS meningkatkan kebebasan atas apa yang mungkin dijalankan perangkat lunak.
sumber
Diperlukan sesuatu untuk memulai Sistem Operasi. Jika OS dapat masuk ke dalam memori non-volatil maka dapat dimulai secara langsung, tetapi dengan OS berfitur lengkap seperti Windows, OSX atau Linux ini tidak mungkin.
Yang diperlukan adalah "OS" ringan kecil yang dapat dimuat pada powerup yang melakukan hal-hal dasar seperti memori dan akses disk dan kemudian memuat Sistem Operasi. Meskipun ini bisa menjadi bagian dari OS itu sendiri dan bukan entitas yang terpisah, ada alasan lain mengapa Anda ingin proses lain dimulai terlebih dahulu:
Proses ini dikenal sebagai bootstrap .
sumber
Konsep PC BIOS berasal dari CP / M, sistem operasi yang populer di komputer berbasis 8-bit Z-80 "S-100" sebelum IBM PC mengambil alih.
CP / M diharapkan fungsi-fungsi yang bergantung pada perangkat keras berada dalam ROM (BIOS). Bagian lain, diambil dari disk oleh bootloader, adalah perangkat lunak yang mendukung sistem file CP / M (BDOS) dan kemudian terakhir prosesor perintah atau "shell" (CCP). Perangkat keras yang diharapkan untuk didukung oleh CP / M tidak terlalu banyak: drive disk, layar, satu atau dua port serial (port COM atau AUX) yang dapat dilengkapi printer atau modem.
PC BIOS melakukan fungsi bootstrap dasar mirip dengan yang dilakukan CP / M, dan DOS menggunakan fungsi BIOS untuk melakukan input dan output dasar, sebagaimana dimaksud. Pemrogram akhirnya melewati fungsi-fungsi ini karena mereka lambat. Hal ini menyebabkan pembuat klon PC pada pertengahan 80-an menciptakan kembali platform secara keseluruhan (semudah IBM mendokumentasikan PC asli dengan sangat baik di dalam dan luar), bukan hanya menyediakan BIOS dengan antarmuka yang kompatibel, meskipun mereka harus melakukannya juga.
Pada titik ini kita dapat mengatakan, untuk OS modern, BIOS tidak benar-benar diperlukan selain mem-boot sistem. Namun ...
Mulai awal 90-an, gagasan manajemen daya mulai berlaku dan BIOS ditugaskan untuk hal ini. APM bekerja dengan baik dengan OS satu-tugas seperti DOS, tetapi tidak dengan OS multitasking sejati seperti Windows atau Linux. Sekitar waktu ini 386 dalam kekuatan penuh, CPU Intel yang mendukung multitasking nyata. DOS dan BIOS tidak diperbarui sebagai tanggapan atas kemampuan baru CPU ini, terutama karena semua CPU Intel masih akan berjalan dalam mode kompatibilitas 16-bit lama yang dirancang untuk PC-BIOS asli. Jadi OS modern cukup mengabaikan / mem-bypass semua fungsi input / output CP / M-like dari BIOS kecuali mungkin selama tahap boot awal.
Akhirnya ACPI dikembangkan, sebagian besar bagian dari BIOS, yang mendukung manajemen daya dan konfigurasi hal-hal (biasanya laptop) platform-spesifik. ACPI juga menangani kondisi peralihan daya akhir dari hibernasi, tidur, atau mati.
Jadi hari ini adalah ACPI dan penggantinya, EFI, yang membuat sesuatu seperti BIOS menjadi kebutuhan PC. Konsep menyeluruhnya adalah untuk ACPI menjadi antarmuka antara hal-hal platform atau motherboard spesifik dan OS, sehingga build terpisah dari OS tidak harus dibuat untuk setiap jenis motherboard.
Papan pengembangan yang menampung CPU ARM yang menjalankan Linux (serta perangkat keras ponsel) mengalami masalah ini. Biasanya mereka akan datang dengan firmware hanya bootloader seperti U-boot, tetapi OS harus mendukung setiap papan sebagai platform terpisah.
sumber
Dalam arti tertentu, Anda benar. BIOS dan OS sebagian melakukan hal yang sama. Pemisahan dalam BIOS dan OS semata-mata untuk fleksibilitas.
BIOS biasanya dibuat oleh produsen perangkat keras. Perangkat keras harus memastikan, bahwa fungsionalitas dasar ada, misalnya bahwa disk drive dapat dibaca dan bahwa tampilan dasar untuk diagnostik dan kesalahan ditampilkan. Demikian nama "Basic Input Output System".
Ini dapat dilakukan, sampai batas tertentu, tanpa pengetahuan lebih lanjut tentang komponen yang sebenarnya benar-benar hadir pada sistem tertentu, karena mereka semua harus mendukung standar BIOS kecil tertentu. Ini memungkinkan vendor untuk membuat sendiri sistem yang lengkap. BIOS hanya perlu melakukan cukup untuk memulai OS. Ada beberapa konvensi di mana titik awal ini berada, jadi itu hanya mencoba satu demi satu. Ini juga memungkinkan penggunaan berbagai sistem operasi pada perangkat keras yang sama. (ada fleksibilitas, lagi)
Setelah sistem operasi (atau setidaknya itu bootloader) ditemukan dan dimulai oleh BIOS, BIOS itu sendiri menjadi usang. OS modern hanya menggunakan sedikit fungsi BIOS setelah memuat.
Jika Anda ingin membuat OS melakukan semua pekerjaan Anda harus meletakkan OS di tempat di mana ia dapat diakses oleh perangkat keras tanpa bantuan awal dari perangkat lunak (ROM). Ini mungkin untuk beberapa sistem tertutup, di mana fleksibilitas tidak menjadi perhatian. Jika Anda berpikir tentang membangun dukungan perangkat keras ke beberapa perangkat keras lain, pada dasarnya Anda membangun semacam BIOS lagi ...
Kekhawatiran lain adalah ukuran dan biaya memori. OS berfitur lengkap berukuran besar dan mencoba untuk mendapatkan OS multi-gigabyte ke dalam ROM adalah mahal, di samping masalah tindak lanjut menambal dan memperbaruinya.
Jadi tidak, tidak ada alasan teknis, tetapi banyak yang praktis, terutama untuk platform PC yang fleksibel.
sumber
Untuk menjalankan program pada PC modern, Anda harus sudah memiliki program yang berjalan untuk memulai dengan yang tahu bagaimana mengoperasikan perangkat keras dan memuat program ke dalam memori. Masalah ayam-dan-telur ini diselesaikan dengan menanamkan program dasar ke dalam perangkat keras itu sendiri.
Sistem input / output dasar (BIOS) ini sangat kecil dan cakupannya sangat terbatas, tetapi memberikan fondasi yang cukup untuk boot loader tahap kedua, seperti GRUB atau NTLDR , dapat dimuat dan dijalankan. Loader tahap kedua ini lebih canggih daripada program BIOS yang memungkinkan mereka untuk memberikan fondasi yang lebih kuat untuk sistem operasi yang tepat untuk memuat dan mengambil kendali.
sumber
Jika CPU memiliki kemampuan untuk mengarahkan hard drive secara langsung, tanpa bergantung pada BIOS, atau EFI atau kode lain dalam ROM (atau NVRAM atau apa pun yang Anda miliki), maka secara teori CPU seperti itu dapat memuat OS dari disk ke dalam RAM dan mulai mengeksekusinya.
Sebenarnya, secara teori, CPU semacam itu bahkan bisa menjalankan instruksi tanpa memuatnya ke RAM. Tidak ada alasan teoritis bahwa komputer tidak dapat menggunakan hard drive sebagai penyimpanan utama. Tapi ini akan sangat, sangat lambat.
Ini berarti memiliki kode tambahan dalam CPU untuk mengakses disk, dan menghubungkan beberapa konsep tentang disk, seperti tabel partisi dan sistem file ke dalam CPU. CPU hari ini cukup besar untuk melakukan ini, tetapi itu tidak akan menjadi pendekatan yang sangat fleksibel atau efisien untuk merancang CPU.
sumber
Itu tidak membutuhkannya!
Yang sering disebut BIOS adalah sekumpulan 3 hal.
sumber