Apakah BIOS Saya Adakah Selepas Booting?
Sebaik sahaja komputer anda selesai proses boot dan anda tegas di dalam sistem operasi yang sedang sibuk, ada apa-apa yang tersisa untuk BIOS lakukan?
Sesi Soalan & Jawapan hari ini datang kepada kami dengan hormat SuperUser-satu bahagian pembahagian Stack Exchange, kumpulan pemanduan komuniti laman web Q & A.
Soalan
Pembaca SuperUser Indrek menimbulkan soalan berkaitan BIOS ini:
Saya sentiasa tertanya-tanya sama ada BIOS (selain daripada menjalankan POST, memulakan bootloader dan lulus kawalan ke OS selepas menekan butang kuasa) mempunyai sebarang tujuan atau fungsi semasa sistem operasi sedang berjalan?
Adakah sistem operasi berkomunikasi dengan BIOS semasa berjalan dan jika ya, bagaimana?
Sesungguhnya? Apakah fungsi BIOS yang ada selain peranan kritikal dalam permulaan komputer?
Jawapannya
Dengan ihsan SuperUser penyumbang Mechanical Snail, gambaran keseluruhan bagaimana peranan BIOS telah berubah dari masa ke masa dan apa yang sedang dan tidak dilakukan hari ini:
Peranan BIOS
Dengan OS moden, tidak praktikal. Linus Torvalds dilaporkan berkata tugasnya adalah "hanya memuat OS dan mendapatkan neraka dari sana".
Sistem operasi lama seperti MS-DOS bergantung pada BIOS untuk banyak tugas (cth. Akses cakera), dengan menghubungi gangguan.
Dengan OS moden, bootloader dengan cepat bertukar menjadi mod 32- atau 64-bit dan melaksanakan kernel OS. Kernel boleh mendaftarkan pengendali ganggu sendiri, yang boleh dipanggil oleh aplikasi ruang pengguna. Rutin kernel boleh menjadi lebih mudah alih (kerana mereka tidak bergantung pada perkakasan tertentu), lebih fleksibel (vendor OS dapat mengubahnya berdasarkan permintaan dan tidak perlu menggunakan apa pun yang datang dengan perkakasan), lebih canggih (mereka dapat melaksanakan secara rumit kod dan bukannya yang telah diprogramkan ke dalam BIOS), dan lebih selamat (kerana OS boleh mengawal akses kepada sumber yang dikongsi dan menghalang program daripada menggabungkan satu sama lain, melaksanakan skim kebenaran sewenang-wenangnya sendiri).
Untuk berinteraksi dengan perkakasan tertentu, OS boleh memuat dan menggunakan pemacu peranti sendiri. Jadi, tidak perlu OS atau aplikasi untuk memanggil kebanyakan rutin BIOS sama sekali. Malah, atas sebab keselamatan, gangguan BIOS juga dilumpuhkan. Sejak BIOS hidup dalam mod sebenar 16-bit, sukar untuk memanggil OS moden.
Walaupun penggunaan BIOS sangat terhad semasa OS berjalan, fungsinya masih digunakan secara periferal. Sebagai contoh, apabila komputer tidur, OS tidak berjalan dan akhirnya jatuh ke firmware untuk menetapkan perkakasan ke keadaan yang betul untuk berhenti seketika dan meneruskan OS. Penggunaan ini secara amnya terhad kepada ACPIcalls dan bukan panggilan ke antara muka BIOS penuh. ACPI adalah pelanjutan BIOS yang "membawa pengurusan kuasa di bawah kawalan sistem pengendalian (OSPM), berbanding sistem BIOS-central yang sebelumnya, yang bergantung kepada firmware khusus platform untuk menentukan dasar pengurusan dan konfigurasi kuasa".
Perhatikan bahawa secara rasmi "BIOS" merujuk kepada antara muka teguh tertentu, tetapi istilah ini biasanya digunakan untuk merujuk kepada firmware komputer pada umumnya. Beberapa komputer baru-baru ini (terutama yang Apple) telah menggantikan BIOS (sensu strictu) dengan UEFI, yang tentunya adalah apa yang dipanggil untuk melaksanakan fungsi-fungsi ini.
Untuk maklumat lanjut tentang bagaimana peranan BIOS telah berkurang dari masa ke masa, lihat Wikipedia.
Satu lagi penyumbang SuperUser, Simon Richter, memberikan gambaran keseluruhan tentang perkara yang BIOS masih dilakukan:
BIOS dan Pengurusan Kuasa
BIOS menyediakan beberapa perkhidmatan kepada Sistem Pengoperasian, yang kebanyakannya berkaitan dengan pengurusan kuasa:
- mengubah suai CPU dan jam bas
- membolehkan / melumpuhkan alat mainboard
- kawalan kuasa pelabuhan pengembangan
- menggantung ke cakera dan menggantung-ke-RAM
- meneruskan tetapan acara
Suspend-to-disk dilaksanakan di OS paling banyak ketika OS dapat memulihkan keadaannya dengan lebih cepat (hanya keadaan kernel dimuat semula, dan keadaan program bertukar apabila diperlukan, yang jauh lebih pantas daripada memuatkan seluruh RAM), tetapi ciri ini kekal dalam spesifikasi.
Suspend-to-RAM tidak dapat dilaksanakan oleh OS, kerana ia bergantung pada BIOS melangkau inisialisasi RAM dan ujian, jadi OS memerlukan API untuk memberitahu BIOS bahawa ia bermaksud untuk dilanjutkan dengan kandungan RAM semasa. Untuk memberikan perkhidmatan ini, BIOS meminta OS untuk meninggalkan kawasan RAM tertentu utuh.
Antara muka untuk OS untuk semua perkhidmatan BIOS adalah sekeping kod mesin maya yang perlu dijalankan pada emulator, dan yang menghasilkan operasi I / O yang diperlukan ke perkakasan. Untuk menggantung, ini secara amnya dilaksanakan supaya melaksanakan salah satu perkakasan menulis kemudian mencetuskan gangguan, yang memindahkan kawalan ke BIOS.
Mempunyai sesuatu untuk menambah penjelasannya? Bunyi dalam komen. Ingin membaca lebih banyak jawapan dari pengguna Stack Exchange yang berteknologi tinggi? Lihat thread perbincangan penuh di sini.