jump to navigation

Inisialisasi BIOS 10 November 2009

Posted by teguharifianto in Kuliah.
trackback

BIOS (Basic Input Output System) adalah antar muka antara perangkat keras dan perangkat lunak level dasar. BIOS menyediakan kumpulan instruksi yang digunakan sistem operasi. Kesuksesan proses booting tergantung pada BIOS, yang menyediakan antar muka level terendah ke perangkat peripheral dan kontrol. Bios pertama kali menjalankan power on self test (POST) kemudian mencari peripheral dan perangkat untuk melakukan booting. Informasi konfigurasi perangkat keras disimpan pada area kecil (biasanya 64 byte) secara permanen pada CMOS (Complementary Metal Oxide Sermiconductor) yang terdapat pada motherboard. Setelah POST, perangkat booting dipilih dari daftar perangkat yang terdeteksi booting. Perangkat booting termasuk di dalamnya floppy drive, hard drive, CDROM, network interface, zip drive dan media removable lain. BIOS membaca dan mengeksekusi sektor fisik pertama dari media booting yang dipilih pada sistem. Biasanya 512 byte pertama dari hard disk.

Boot Loader

Boot loader bertanggung jawab untuk mengambil dan memulai sistem operasi Linux jika komputer di start up. Boot loader biasanya dilakukan salah satu dari dua cara berikut :

  • BIOS melewatkan kontrol ke initial program loader (IPL) yang diinstall dalam Master Boot Record (MBR).
  • BIOS melewatkan kontrol ke boot loader lain, yang melewatkan kontrol ke IPL yang di-install dalam partisi boot sector.

Baik cara pertama maupun kedua IPL harus terdapat dalam ruang yang sangat kecil tidak lebih dari 446 byte. Sehingga IPL untuk GRUB merupakan tahap pertama yang meletakkan task ke tahap kedua dari boot loader yang melakukan sebagian besar proses booting sistem. Spesifikasi minimum untuk Linux terdiri dari label, lokasi kernel, sistem file root dan lokasi inisial ramdisk (initrd).

Terdapat dua cara untuk konfigurasi boot loader :

  1. Boot loader primer : menginstall tahap pertama dari Linux boot loader ke dalam Master Boot Record. Boot loader harus dikonfigurasi untuk melewatkan nkontrol ke sistem operasi lain.
  2. Boot loader sekunder : menginstall tahap pertama dari Linux boot loader ke boot sector dari beberapa partisi. Boot loader lainnya harus diinstall ke dalam MBR dan dikonfigurasi untuk melewatkan kontrlol ke Linux boot loader.

Inisialisasi Kernel

Aktifitas inisialisasi kernel berlangsung secara cepat pada saat booting. Untuk melihat pesan kernel yang dilewatkan pada init dapat melihat output file /var/log/dmesg. Output memperlihatkan langkah inisialisasi dasar dari kernel Linux yang meliputi :

  • Mendeteksi driver perangkat yang dikompilasi dan menempatkannya pada perangkat yang berhubungan. Jika berhasil, driver akan menginisialisasi dan kernel memberi pesan.
  • Apabila driver selesai dikompilasi sebagai modul dalam kernel, maka akan dimasukkan dalam initrd yang kemudian di-mount oleh kernel ke RAM disk untuk inisialisasi proses.
  • Setelah semua driver dibuka, kernel akan melakukan mounting sistem file root dengan mode read only.
  • Proses pertama kemudian disimpan pada init dan kontrol dilewatkan dari kernel ke proses.

Init adalah parent dari semua proses. Untuk melihat urutan proses tree dapat menjalankan perintah pstree:

$ pstree

init-+-apmd

/-atd

/-automount

/-crond—crond

/-deskguide_apple

/-gdm-+-X

/ `-gdm—gnome-session

Karena init adalah proses pertama, maka selalu mempunyai nomor PID 1. File /etc/inittab berisi informasi bagaimana init harus set up sistem pada setiap run level. Jika file /etc/inittab hilang atau terkorupsi, maka tidak dapat dilakukan booting pada standard run level (0-6) dan memerlukan penggunaan mode single atau darurat. Isi /etc/inittab adalah :

  • Inisialisasi run level
  • Skrip inisialisasi sistem
  • Direktori skrip run level khusus
  • Menangkap urutan kunci tertentu
  • Menentukan kegagalan power UPS / menyimpan skrip
  • Menentukan virtual console
  • Inisialisasi X pada run level 5

Run Level

init mendefinisikan run level 0-6 meliputi:

Run Level Efek

0 Halt

1 S, emergency Mode single user

2 Multi user, tanpa jaringan NFS

3 Full multi user (termasuk jaringan)

4 Didefinisikan user, tetapi duplikat runlevel 3 (default)

5 X11 (termasuk jaringan)

6 Reboot

Run level dipilih sebagai default pada /etc/inittab, dilewatkan sebagai argumen dari boot loader atau menjalankan init setelah booting (dimana x adalah run level yang dipilih). Baris initdefault pada file /etc/inittab mengontrol run level default setelah sistem dimulai. Formatnya adalah sebagai berikut:

id:x:initdefault:

dimana x adalah run level setelah sistem dimulai. Untuk melihat run level saat ini dan sebelumnya dapat dilihat pada /sbin/runlevel.

Comments»

No comments yet — be the first.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: