Saya mencari perangkat lunak open source seperti Virtual-box yang dapat saya jalankan di Linux tetapi memberikan kemungkinan untuk memprogram BIOS (menggunakan program BIOS pribadi).
Saya ingin memahami (secara praktis) proses boot komputer dan memiliki manipulasi yang lebih dalam dari mode nyata x86. Saya juga ingin memahami mekanisme yang berbeda untuk berkomunikasi dengan periferal, yaitu mengontrol perangkat seperti keyboard dan hard drive, serta memahami mode I/O dan interupsi.
Jawaban yang Diterima:
Ada beberapa emulator mesin virtual yang dapat meniru prosesor dan periferal x86. Masing-masing dilengkapi dengan BIOS, beberapa di antaranya dengan BIOS open-source. Anda harus melihat QEMU, yang beroperasi sepenuhnya secara independen dari host (dapat berjalan di mesin apa pun, meskipun memiliki mekanisme untuk berjalan lebih cepat jika mesin yang diemulasi memiliki arsitektur yang sama dengan host). QEMU hadir dengan PC-BIOS.
Jika Anda ingin bekerja dalam mode nyata x86, Anda juga dapat melihat Dosbox.
Coreboot juga harus menarik bagi Anda. Ini adalah BIOS open source untuk x86.
Melihat BIOS akan memberi Anda beberapa wawasan tentang bagaimana prosesor x86 melakukan booting, termasuk semua kebiasaan yang diwarisi dari 30+ tahun sejarah dengan evolusi signifikan dalam kemampuan perangkat keras. Ini bukan hal terbaik untuk dilihat jika yang ingin Anda pahami adalah bagaimana berkomunikasi dengan periferal. Untuk itu, lihat driver perangkat di kernel sistem operasi — baik Linux, atau yang lebih sederhana seperti MINIX 3.
Saya juga merekomendasikan untuk melihat arsitektur CPU lain seperti ARM dan MIPS, sehingga Anda mendapatkan gambaran tentang apa yang umum dalam interaksi OS/perangkat keras dan apa yang khusus untuk arsitektur PC.