If-Koubou

Apa yang Dilakukan BIOS Saya Setelah Melakukan Booting?

Apa yang Dilakukan BIOS Saya Setelah Melakukan Booting? (Bagaimana caranya)

Setelah komputer Anda menyelesaikan proses boot dan Anda dengan kuat berada di dalam sistem operasi, apakah ada yang tersisa untuk BIOS lakukan?

Sesi Tanya & Jawab hari ini hadir untuk memberi kami hak milik SuperUser-subdivisi Stack Exchange, kumpulan situs web Q & A berbasis komunitas.

Pertanyaan

Pembaca SuperUser Indrek mengajukan pertanyaan terkait BIOS ini:

Saya selalu bertanya-tanya apakah BIOS (selain melakukan POST, memulai bootloader dan meneruskan kontrol ke OS setelah menekan tombol power) memiliki tujuan atau fungsi apa pun saat sistem operasi berjalan?

Apakah sistem operasi berkomunikasi dengan BIOS saat berjalan dan jika demikian, bagaimana caranya?

Memang? Apa fungsi yang dimiliki BIOS selain peran pentingnya dalam startup komputer?

Jawaban

Courtesy of SuperUser kontributor Mechanical Snail, tinjauan tentang bagaimana peran BIOS telah berubah dari waktu ke waktu dan apa yang sedang dan tidak dilakukan hari ini:

Peran BIOS

Dengan OS modern,praktis tidak ada. Linus Torvalds dilaporkan mengatakan tugasnya adalah untuk "memuat OS dan keluar dari sana".

Sistem operasi yang lebih lama seperti MS-DOS bergantung pada BIOS untuk banyak tugas (misalnya akses disk), dengan memanggil interupsi.

Dengan OS modern, bootloader dengan cepat beralih ke mode 32- atau 64-bit dan mengeksekusi kernel OS. Kernel dapat mendaftarkan penangan interupsi sendiri, yang dapat dipanggil oleh aplikasi ruang-pengguna. Rutinitas kernel dapat lebih portabel (karena tidak bergantung pada perangkat keras tertentu), lebih fleksibel (vendor OS dapat mengubahnya sesuai permintaan dan tidak perlu menggunakan perangkat keras apa pun), lebih canggih (mereka dapat mengeksekusi semau kompleks kode daripada apa yang diprogram ke dalam BIOS), dan lebih aman (karena OS dapat mengontrol akses ke sumber daya bersama dan mencegah program dari gangguan satu sama lain, menerapkan skema perizinan sewenang-wenang sendiri).

Untuk berinteraksi dengan perangkat keras tertentu, OS dapat memuat dan menggunakan driver perangkat sendiri. Jadi tidak perlu OS atau aplikasi untuk memanggil sebagian besar rutinitas BIOS sama sekali. Bahkan, untuk alasan keamanan, interupsi BIOS bahkan dinonaktifkan. Karena BIOS hidup dalam mode nyata 16-bit lebih sulit untuk memanggil OS modern.

Sementara penggunaan BIOS sangat terbatas sementara OS berjalan, fungsinya masih digunakan secara periferal. Sebagai contoh, ketika komputer tidur, OS tidak berjalan dan akhirnya jatuh ke firmware untuk mengatur perangkat keras ke keadaan yang benar untuk berhenti dan melanjutkan OS. Penggunaan ini umumnya terbatas pada ACPIcalls daripada panggilan ke antarmuka BIOS lengkap. ACPI adalah ekstensi BIOS yang "membawa manajemen daya di bawah kendali sistem operasi (OSPM), yang bertentangan dengan sistem BIOS-pusat sebelumnya, yang bergantung pada platform-spesifik firmware untuk menentukan manajemen daya dan kebijakan konfigurasi".

Perhatikan bahwa secara resmi "BIOS" mengacu pada antarmuka firmware tertentu, tetapi istilah ini biasanya digunakan untuk merujuk ke firmware komputer secara umum. Beberapa komputer terbaru (terutama yang Apple) telah menggantikan BIOS (sensu strictu) dengan UEFI, yang tentu saja kemudian disebut untuk mengimplementasikan fungsi-fungsi ini.

Untuk informasi lebih lanjut tentang bagaimana peran BIOS telah berkurang dari waktu ke waktu, lihat Wikipedia.

Kontributor SuperUser lain, Simon Richter, memberi kita gambaran tentang hal-hal yang masih dilakukan oleh BIOS:

BIOS dan Manajemen Daya

BIOS menyediakan sejumlah layanan ke Sistem Operasi, yang sebagian besar terkait dengan manajemen daya:

  • memodifikasi jam CPU dan bus
  • mengaktifkan / menonaktifkan perangkat mainboard
  • kontrol daya port ekspansi
  • suspend-to-disk dan suspend-to-RAM
  • lanjutkan pengaturan acara

Suspend-to-disk diimplementasikan dalam OS sebagian besar waktu karena OS dapat memulihkan keadaannya lebih cepat (hanya negara kernel yang dimuat ulang, dan kondisi program bertukar ketika diperlukan, yang secara signifikan lebih cepat daripada memuat ulang seluruh RAM), tetapi fitur tetap dalam spesifikasi.

Suspend-to-RAM tidak dapat diimplementasikan oleh OS, karena ini bergantung pada BIOS yang melewatkan inisialisasi dan pengujian RAM, jadi OS memerlukan API untuk memberi tahu BIOS bahwa ia berniat untuk dilanjutkan dengan konten RAM saat ini. Untuk menyediakan layanan ini, BIOS meminta OS untuk meninggalkan area RAM tertentu secara utuh.

Antarmuka untuk OS untuk semua layanan BIOS adalah bagian dari kode mesin virtual yang perlu dijalankan pada emulator, dan yang menghasilkan operasi I / O yang diperlukan ke dalam perangkat keras. Untuk menangguhkan, ini umumnya dilaksanakan sehingga mengeksekusi salah satu perangkat keras menulis kemudian memicu interupsi, yang mentransfer kontrol ke BIOS.

Memiliki sesuatu untuk ditambahkan ke penjelasan? Bicaralah di komentar. Ingin membaca lebih banyak jawaban dari pengguna Stack Exchange yang paham teknologi lainnya? Lihat diskusi lengkap di sini.