GNU/Linux >> Belajar Linux >  >> Linux

Apa fungsi BIOS saat sistem operasi sedang berjalan?

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

Sistem operasi lama seperti MS-DOS mengandalkan BIOS untuk banyak tugas (mis. 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 interupsinya sendiri, yang dapat dipanggil oleh aplikasi ruang pengguna. Rutinitas kernel bisa lebih portabel (karena tidak bergantung pada perangkat keras tertentu), lebih fleksibel (vendor OS dapat mengubahnya sesuai permintaan daripada harus menggunakan apa pun yang disertakan dengan perangkat keras), lebih canggih (mereka dapat mengeksekusi secara sewenang-wenang kompleks kode daripada apa yang diprogram ke dalam BIOS), dan lebih aman (karena OS dapat mengontrol akses ke sumber daya bersama dan mencegah program saling mengalahkan, menerapkan skema izin sewenang-wenangnya sendiri).

Untuk berinteraksi dengan perangkat keras tertentu, OS dapat memuat dan menggunakan driver perangkatnya sendiri. Jadi OS atau aplikasi tidak perlu 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.

Meskipun penggunaan BIOS sangat terbatas saat OS berjalan, fungsinya masih digunakan secara periferal. Misalnya, ketika komputer tidur, OS tidak berjalan dan akhirnya jatuh ke firmware untuk mengatur perangkat keras ke keadaan yang benar untuk menjeda dan melanjutkan OS. Penggunaan ini umumnya terbatas pada panggilan ACPI daripada panggilan ke antarmuka BIOS lengkap. ACPI adalah ekstensi BIOS yang "menghadirkan manajemen daya di bawah kendali sistem operasi (OSPM), berbeda dengan sistem pusat BIOS sebelumnya, yang mengandalkan firmware khusus platform untuk menentukan manajemen daya dan kebijakan konfigurasi".

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

Untuk informasi selengkapnya tentang bagaimana peran BIOS berkurang dari waktu ke waktu, lihat Wikipedia.


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
  • melanjutkan setelan acara

Suspend-to-disk diterapkan di OS sebagian besar waktu karena OS dapat memulihkan statusnya lebih cepat (hanya status kernel yang dimuat ulang, dan status program ditukar saat 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 bergantung pada BIOS yang melewatkan inisialisasi dan pengujian RAM, sehingga OS memerlukan API untuk memberi tahu BIOS bahwa ia bermaksud untuk dilanjutkan dengan konten RAM saat ini. Untuk menyediakan layanan ini, BIOS meminta OS membiarkan area RAM tertentu tetap utuh.

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


Ada tiga area utama di mana OS menggunakan BIOS dalam sistem modern, seperti yang menggunakan standar UEFI. Yang pertama adalah serangkaian layanan yang dikenal sebagai layanan runtime UEFI. Layanan ini memungkinkan OS mengambil informasi yang hanya diketahui oleh BIOS, seperti waktu yang digunakan BIOS, urutan boot, profil keamanan pengguna saat ini, informasi tentang motherboard, DIMM, dll.

Yang kedua adalah Mode Manajemen Sistem, yang merupakan bagian tersembunyi dari memori (SMRAM) yang diakses oleh interupsi prioritas tinggi (SMM). Banyak BIOS menggunakan ini untuk mengimplementasikan fitur OEM dengan keamanan tinggi atau untuk mengimplementasikan solusi perangkat keras.

Yang ketiga adalah ACPI. ACPI menyediakan konfigurasi, manajemen daya, dan data perangkat keras serta kode yang digunakan oleh OS untuk meningkatkan apa yang dapat diketahui oleh driver OS menggunakan standar industri atau driver perangkat. Misalnya, apakah ada sinyal khusus untuk mengontrol daya hard drive, atau apakah ada cara khusus untuk berkomunikasi dengan baterai yang tidak tercakup dalam standar.

Tim


Linux
  1. Apa runlevel sistem Linux saat ini?

  2. Deteksi Sistem Init Menggunakan Shell?

  3. Linux – Bagaimana Cara Mengetahui Hard Disk Apa yang Ada di Sistem?

  1. Apa itu Pemisah Kata Readline?

  2. Linux – Apa yang Akan Terjadi Jika Hard Drive Gagal Saat Kernel Linux Berjalan?

  3. Jadwalkan reboot di sistem operasi Ubuntu

  1. Port jaringan mana yang dicadangkan oleh Sistem Operasi Linux?

  2. Apa saja opsi pemasangan untuk meningkatkan kinerja sistem file ext4 di Linux?

  3. Apa itu vdso dan vsyscall?