BIOS

Dalam komputasi, **BIOS** (, **Basic Input/Output System**, atau dikenal sebagai **BIOS Sistem**, **ROM BIOS**, **BIOS ROM** atau **BIOS PC**) adalah firmware yang digunakan untuk menyediakan layanan berkala untuk sistem operasi dan program-program dan untuk melakukan inisiasi perangkat keras sealam proses booting (pengaktifan daya). Firmware BIOS sudah diinstal sebelumnya pada PC IBM atau sistem papan PC IBM yang kompatibel dan tersedia di beberapa sistem berbasis UEFI untuk menjaga kompatibilitas dengan sistem operasi yang tidak mendukung operasi asli UEFI. Namanya berasal dari Sistem *Input*/*Output* Dasar yang digunakan pada sistem operasi CP/M pada tahun 1975. BIOS yang awalnya merupakan hak milik PC IBM telah direkayasa ulang oleh beberapa perusahaan (seperti Phoenix Technologies) yang ingin menciptakan sistem yang kompatibel. Antarmuka sistem asli tersebut berfungsi sebagai standar de facto.

## Fungsi
merujuk kepada kumpulan rutin perangkat lunak yang mampu melakukan hal-hal berikut:
*Inisialisasi (penyalaan) serta pengujian terhadap perangkat keras (dalam proses yang disebut dengan Power On Self Test, POST)
*Memuat dan menjalankan sistem operasi
*Mengatur beberapa konfigurasi dasar dalam komputer (tanggal, waktu, konfigurasi media penyimpanan, konfigurasi proses booting, kinerja, serta kestabilan komputer)
*Membantu sistem operasi dan aplikasi dalam proses pengaturan perangkat keras dengan menggunakan BIOS Runtime Services.

BIOS menyediakan antarmuka komunikasi tingkat rendah, dan dapat mengendalikan banyak jenis perangkat keras (seperti keyboard). Karena kedekatannya dengan perangkat keras, BIOS umumnya dibuat dengan menggunakan bahasa rakitan (*assembly*) yang digunakan oleh mesin yang bersangkutan.

Istilah **BIOS** pertama kali muncul dalam sistem operasi CP/M, yang merupakan bagian dari CP/M yang dimuat pada saat proses booting dimulai yang berhadapan secara langsung dengan perangkat keras (beberapa mesin yang menjalankan CP/M  memiliki boot loader sederhana dalam ROM). Kebanyakan versi DOS memiliki sebuah berkas yang disebut "IBMBIO.COM" (IBM PC-DOS) atau "IO.SYS" (MS-DOS) yang berfungsi sama seperti halnya CP/M disk BIOS.

Kata BIOS juga dapat diartikan sebagai "kehidupan" dalam tulisan Yunani (Βίος).

## Komponen BIOS
Dalam BIOS, terdapat beberapa komponen dasar, yakni sebagai berikut:

* **Program BIOS Setup** yang memungkinkan pengguna untuk mengubah konfigurasi komputer (tipe harddisk, disk drive, manajemen daya listrik, kinerja komputer, dll) sesuai keinginan. BIOS menyembunyikan detail-detail cara pengaksesan perangkat keras yang cukup rumit apabila dilakukan secara langsung.
* **Driver** untuk perangkat-perangkat keras dasar, seperti video adapter, perangkat input, prosesor, dan beberapa perangkat lainnya untuk sistem operasi dasar 16-bit (dalam hal ini adalah keluarga DOS).
* **Program bootstraper utama** yang memungkinkan komputer dapat melakukan proses booting ke dalam sistem operasi yang terpasang.

## ROM dan NVRAM
BIOS juga sering disebut sebagai **ROM BIOS** karena pada awalnya BIOS disimpan dalam chip memori hanya baca (ROM) dalam motherboard. Mengapa disimpan di dalam ROM, adalah agar BIOS dapat dieksekusi pada waktu komputer dinyalakan, tanpa harus menunggu untuk menyalakan perangkat media penyipanan terlebih dahulu (yang memakan waktu lama). BIOS dalam komputer PC modern disimpan dalam chip ROM yang dapat ditulisi ulang secara elektrik atau Flash ROM. Oleh sebab itu, sekarang sebutan **Flash BIOS** lebih populer dibandingkan dengan **ROM BIOS**. Berikut ini adalah beberapa chip ROM yang digunakan sebagai tempat penyimpanan BIOS.

Meskipun BIOS disimpan dalam memori hanya baca, konfigurasi BIOS tidak disimpan dalam ROM, (hal ini disebabkan oleh sifat ROM yang statis) melainkan sebuah chip terpisah yang disebut sebagai Real-time clock (RTC), yang berupa sebuah ''Non-Volatile Random Access Memory'' (NVRAM). NVRAM juga sering disebut sebagai ''Complimentary Metal-Oxide Random Access Memory'' (CMOS RAM), karena menggunakan metode pembuatan CMOS. Karena menggunakan metode pembuatan CMOS, NVRAM membutuhkan daya yang sangat kecil agar dapat bekerja. Meskipun disebut *non-volatile*, NVRAM sebenarnya merupakan sebuah chip yang *volatile*, sehingga data yang tersimpan di dalamnya dapat terhapus dengan mudah jika daya listrik yang menghidupinya terputus. Oleh karena itu, NVRAM "dihidupi" oleh sebuah baterai (mirip baterai kalkulator atau jam) dengan bahan Litium dengan seri **CR-2032**. Sebuah baterai Litium CR-2032 dapat menghidupi NVRAM selama tiga hingga lima tahun. Jika daya dalam baterai habis, atau daya yang disuplainya terputus (akibat dicabut dari slotnya), maka semua konfigurasi akan dikembalikan ke kondisi standar, sesuai ketika BIOS tersebut diprogram oleh pabrikan. BIOS umumnya memberikan laporan **CMOS Checksum Error** atau **NVRAM Checksum Error**.

## Update BIOS

BIOS kadang-kadang juga disebut sebagai firmware karena merupakan sebuah perangkat lunak yang disimpan dalam media penyimpanan yang bersifat hanya-baca. Hal ini benar adanya, karena memang sebelum tahun 1995, BIOS selalu disimpan dalam media penyimpanan yang tidak dapat diubah. Seiring dengan semakin kompleksnya sebuah sistem komputer, maka BIOS pun kemudian disimpan dalam EEPROM atau Flash memory yang dapat diubah oleh pengguna, sehingga dapat di-*upgrade* (untuk mendukung prosesor yang baru muncul, adanya *[[bug]]* yang mengganggu kinerja atau alasan lainnya). Meskipun demikian, proses *update* BIOS yang tidak benar (akibat dieksekusi secara tidak benar atau ada hal yang mengganggu saat proses *upgrade* dilaksanakan) dapat mengakibatkan motherboard mati mendadak, sehingga komputer pun tidak dapat digunakan karena perangkat yang mampu melakukan proses booting (BIOS) sudah tidak ada atau mengalami kerusakan.

Oleh karena itu, untuk menghindari kerusakan (korupsi) terhadap BIOS, beberapa motherboard memiliki BIOS cadangan . Selain itu, kebanyakan BIOS juga memiliki sebuah region dalam EEPROM/Flash memory yang tidak dapat di-*upgrade*, yang disebut sebagai "**Boot Block**". *Boot block* selalu dieksekusi pertama kali pada saat komputer dinyalakan. Kode ini dapat melakukan verifikasi terhadap BIOS, bahwa kode BIOS keseluruhan masih berada dalam keadaan baik-baik saja (dengan menggunakan metode pengecekan kesalahan seperti checksum, CRC, hash dan lainnya) sebelum mengeksekusi BIOS. Jika *boot block* mendeteksi bahwa BIOS ternyata rusak, maka *boot block* akan meminta pengguna untuk melakukan pemrograman BIOS kembali dengan menggunakan floppy disk yang berisi program *flash memory programmer* dan *image* BIOS yang sama atau lebih baik. Pembuat *motherboard* sering merilis update BIOS untuk menambah kemampuan produk mereka atau menghilangkan beberapa bug yang mengganggu.

## Referensi

## Bacaan lanjutan

* 
* 
* 
* 
* 
* 
* BIOS Disassembly Ninjutsu Uncovered, 1st edition, a freely available book in PDF format https://web.archive.org/web/20220402165916/http://www.lejabeach.com/sisubb/BIOS_Disassembly_Ninjutsu_Uncovered.pdf
* More Power To Firmware, free bonus chapter to the *Mac OS&nbsp;X Internals: A Systems Approach* book

## Pranala luar

* 
* 
* 
* 
* 
*