PROSES
BOOTING PADA SISTEM OPERASI
DEFINISI
PROSES BOOTING
Sebenarnya,
apa sih yang dimaksud dengan proses booting itu? Langkah awal dalam
mengoperasikan komputer adalah proses booting. Proses booting adalah suatu
proses yang terjadi pada saat seseorang menghidupkan komputer, dimana masuknya
arus listrik ke dalam peralatan komputer dan kemudian sistem memeriksa ada atau
tidaknya perangkat keras ( hardware ) yang terhubung pada komputer, agar
komputer dapat berkomunikasi dengan pengguna (user).
TAHAP-TAHAP
TERJADINYA PROSES BOOTING
Tahap
awal pada proses booting yang dilakukan oleh sistem operasi adalah bootsrap
loader. Bootsrap loader adalah aplikasi pertama yang dijalankan BIOS sesaat
setelah booting. Bootloader akan meload kernel yang menjalankan sistem operasi,
serta bertujuan untuk melacak semua alat input dan alat output yang terpasang
atau terhubung pada komputer.. Dalam beberapa sistem, terdapat bootloader yang
berbeda. Bootloader Windows, berbeda dengan Bootloader Linux, Berbeda juga
dengan bootloader BSD.
Secara
umum, gambaran tahapan-tahapan yang terjadi pada proses booting sistem operasi
adalah sebagai berikut:
1. Saat
komputer dihidupkan, memorinya masih kosong. Belum ada instruksi yang dapat
dieksekusi oleh prosesor. Oleh karena itu, prosesor dirancang untuk selalu
mencari alamat tertentu di BIOS ( Basic Input Output System) ROM. Pada alamat
tersebut, terdapat sebuah instruksi jump yang menuju kealamat eksekusi awal
BIOS. Setelah itu, prosesor menjalankan Power On Self Test(POST), yaitu
memeriksa kondisi hardware yang terhubung pada komputer.
2. Setelah
itu, BIOS mencari Video Card. Secara khusus dia mencari BIOS milik Video Card.
Kemudian sistem BIOS menjalankan Video Card BIOS. Barulah sesudah itu, Video
Card di inisalisasi.
3. Kemudian
BIOS memeriksa ROM pada hardware yang lain, apakah memiliki BIOS yang tersediri
apakah tidak. Jika ya, maka akan dieksekusi juga.
4. Lalu
BIOS melakukan pemeriksaan lagi, misalnya memeriksa besar memori dan jenis
memori. Lebih lanjut lagi, dia memeriksa hardware yang lain, seperti disk. Lalu
dia mencari disk dimana proses boot bisa dilakukan, yaitu mencari boot sector.
Boot sector ini bisa berada di hard disk, atau floppy disk.
Secara ringkas proses booting pada Linux diuraikan sebagai berikut :
1. BIOS: Basic Input/Output System merupakan interface level paling bawah yang
menghubungkan antara komputer dan periperalnya. BIOS melakukan pengecekan
integritas memori dan mencari instruksi pada? Master Boot Record (MBR) yang
terdapat
pada floppy drive atau harddisk.
2. MBR menjalankan boot loader. Di linux, boot loader yang sering dipakai
adalah LILO
(Linux Loader) dan GRUB (GRand Unified Boot loader). Pada Red Hat dan
Turunannya
menggunakan GRUB sebagai boot loader.
3. LILO/GRUB akan membaca label sistem operasi yang kernelnya akan dijalankan.
Pada
boot loader inilah sistem operasi mulai dipanggil. Untuk mengkonfigurasi file
grub, buka
filenya di /boot/grub/grub.conf
4. Setelah itu, tanggung jawab untuk booting diserahkan ke kernel. Setelah itu,
kernel akan
menampilkan versi dari kernel yang dipergunakan, mengecek status SELinux,
menegecek
paritisi swap, mengecek memory, dan sebagainya.
5. Kernel yang dipanggil oleh bootloader kemudian menjalankan program init, yaitu
proses
yang menjadi dasar dari proses-proses yang lain. Ini dikenal dengan nama The
First
Process. Proses ini mengacu pada script yang ada di file /etc/rc.d/rc.sysinit.
6. Program init kemudian menentukan jenis runlevel yang terletak pada file
/etc/inittab.
Berdasarkan pada run-level, script kemudian menjalankan berbagai proses lain
yang
dibutuhkan oleh sistem sehingga sistem dapat berfungsi dan digunakan. Runlevel
adalah
suatu parameter yang mengatur servis yang akan dijalankan misalnya single user,
reboot,
shutdown, dan sebagainya. Program yang mengatur runlevel ini adalah init
yang terletak
pada direktori /etc/inittab.
Ini adalah file di /etc/inittab:
Di file tersebut, dapat dilihat jenis-jenis run level. Ada 7
jenis runlevel yang bisa
digunakan untuk berbagai macam keperluan yang selengkapnya dapat dilihat
sebagai
berikut:
0:
sistem halt
1: Modus single user, untuk maintenance (backup/restore) dan perbaikan
2: Multi user tanpa dukungan jaringan
3: Multiuser dengan dukungan jaringan baerbasis console (text)
4: Tidak digunakan
5: Multiuser dengan dukungan jaringan berbasis grafis
6: reboot
Selanjutnya
ada system initialization.
Dan
berdasarkan prosesnya, booting dapat dikenali dengan beberapa jenis, yaitu:
Cold
Boot → Boot (proses menghidupkan komputer) yang terjadi pada saat komputer
dalam keadaan mati. Cold boot dilakukan dengan cara menghidupkan komputer
dengan menekan tombol switch power. Booting dingin mendaur ulang akses memori
acak komputer sekaligus juga menghapus virus-virus yang mungkin berada dalam
memori sebelumnya.
Warm
Boot → Boot (proses menghidupkan komputer) yang terjadi pada saat komputer
dialiri listrik kembali dan listrik dimatikan hanya sejenak. Dengan tujuan
mengulang kembali proses komputer dari awal. Warm Boot ini biasanya terjadi
disebabkan oleh software crash atau terjadi pengaturan ulang dari sistem. Atau
Warm boot bisa juga diartikan mengaktifkan kembali tanpa harus dimatikan
terlebih dahulu, misalnya dengan menekan tombol reset, atau memencet sekaligus
tombol CTRL+ALT+DEL pada sistem operasi Disk Operating System (DOS). Me-restart
komputer dengan menekan Ctrl+Alt+Del atau melakukan shutdown dan restart.
Booting panas ini dapat dideteksi dan dimanipulasi oleh virus.
Soft
Boot → Boot (proses menghidupkan komputer) yang dikendalikan melalui sistem.
Hard
Boot → Boot (proses menghidupkan komputer) yang dilakukan dengan cara dipaksa.
ReBoot
→ Peristiwa mengulang kembali sistem dari awal. reBoot dilakukan oleh beberapa
hal, antara lain seperti sistem tidak bereaksi dalam beberapa lama, atau
terjadi perubahan setting dalam sistem.
Pada
windows, proses start up booting dapat diuraikan sebagai berikut :
1. MBR
(Master Boot Record) adalah sebuah program yang sangat kecil yang terdapat pada
sector pertama hardisk, MBR kemudian me-load suatu program bernama NTLDR ke
dalam memori.
2. NTLDR
kemudian memindahkan komputer ke “flat memory model” (bypassing the 640KB
memory restrictions placed on PCs) kemudian membaca file BOOT.INI.
3. Jika
komputer mempunyai beberapa partisi yang bootable, NTLDR akan menggunakan
informasi yang terdapat pada file BOOT.INI untuk menampilkan pilihan boot,
apabila hanya terinstall windows xp saja maka tampilan menu akan dilewati dan
windows akan me-load windows xp.
4. Sebelum
meload windows xp, NTLDR membuka program lain ke dalam memory yang disebut
NDETEC.COM. File ini melakukan pengecekan semua hardware yang terdapat pada
komputer. Setelah semua hardware ditemukan, NDTECT.COM memberikan kembali
informasi tersebut ke NTLDR.
5. NTLDR
kemudian berusaha me-load versi Windows XP yang dipilih pada step 3. Hal ini
dilakukan dengan menemukan file NTOSKRNL pada folder System32 yang terdapat
pada directory windows xp . NTOSKRNL adalah program utama pada system operasi
windows yaitu sebuah “kernel” Setelah kernel tersebut di-load ke memory, NTLDR
passes control of the boot process to the kernel and to another file named
HAL.DLL. HAL.DLL controls Windows’ famous hardware abstraction layer (HAL)
6. NTOSKRNL
kemudia menangani proses boot selanjutnya. Langkah pertama adalah meload
beberapa “low-level system drivers”. Kemudian NTOSKRNL me-load semua file-file
yang dibutuhkan untuk membuat “core” sistem operasi windows xp.
7. Kemudian,
Windows akan memverifikasi apakah terdapat lebih dari satu konfigurasi hardware
profile pada komputer, kalau terdapat lebih dari satu hardware profile windows
akan menampilkan menu pilihan, tetapi apabila hanya terdapat satu profile maka
windows akan langsung me-load default profile.
8. Sesudah
windows mengenali hardware profile yang digunakan, windows kemudian me-load
semua device driver untuk semua hardware yang terdapat pada komputer, Pada saat
ini tampilan monitor menampilkan “Welcome To Windows XP boot screen”.
9. Terakhir
windows menjalankan semua service yang dijadwalkan secara otomatis. Pada saat
ini tampilan monitor menampilkan “logon screen”.
MENGAPA
PERANAN BIOS SANGAT PENTING DALAM PROSES BOOTING ??
Istilah
BIOS (Basic Input Output System ) pertama kali muncul dalam sistem operasi CP/M
yang merupakan salah datu bagian dari CP/M yang dimuat pada saat proses booting
dimulai. BIOS berhadapan 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.
BIOS
menyediakan komunikasi antarmuka 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.
BIOS
dalam sistem komputerIBM PC atau kompatibelnya (komputer yang berbasis keluarga
prosesorIntel x86) merujuk kepada kumpulan rutin perangkat lunak yang mampu
melakukan hal-hal berikut:
1. Inisialisasi
(penyalaan) serta pengujian terhadap perangkat keras (dalam proses yang disebut
dengan Power On Self Test, POST).
2.
Memuat dan menjalankan sistem operasi.
3.
Mengatur beberapa konfigurasi dasar dalam komputer
(tanggal,waktu,konfigurasi
media penyimpanan, konfigurasi proses booting, kinerja, serta
kestabilan komputer).
4. Membantu
sistem operasi dan aplikasi dalam proses pengaturanperangkat keras dengan
menggunakan BIOS Runtime Services.
Secara ringkas proses booting pada Linux diuraikan sebagai berikut :
1. BIOS: Basic Input/Output System merupakan interface level paling bawah yang
2. MBR menjalankan boot loader. Di linux, boot loader yang sering dipakai adalah LILO
3. LILO/GRUB akan membaca label sistem operasi yang kernelnya akan dijalankan. Pada
4. Setelah itu, tanggung jawab untuk booting diserahkan ke kernel. Setelah itu, kernel akan
5. Kernel yang dipanggil oleh bootloader kemudian menjalankan program init, yaitu proses
6. Program init kemudian menentukan jenis runlevel yang terletak pada file /etc/inittab.
Di file tersebut, dapat dilihat jenis-jenis run level. Ada 7 jenis runlevel yang bisa
1: Modus single user, untuk maintenance (backup/restore) dan perbaikan
2: Multi user tanpa dukungan jaringan
3: Multiuser dengan dukungan jaringan baerbasis console (text)
4: Tidak digunakan
5: Multiuser dengan dukungan jaringan berbasis grafis
6: reboot