Sabtu, 27 Maret 2010

Proses Startup dan Shutdown dalam LINUX

Posted by icha imo at 12.17

Startup dan Shutdown Di Linux

Selama proses booting, Linux akan memanggil sebuah loader yang disebut dengan LILO (belakangan juga muncul loader bernama GRUB), yang kemudian akan memanggil sebuah program yang bernama dengan init. Program init inilah yang kemudian akan memeriksa file-file inisialisasi sistem, lokasi file-file tersebut berada, dan menjalankan Linux sesuai dengan default run level yang digunakan.

Proses Startup.

Proses starup dimulai ketika sistem sudah memanggil LILO dan proses booting sudah diserahkan pada sebuah program induk yang disebut dengan init. Pada hampir kebanyakan distribusi Linux, proses startup mengikuti aturan-aturan seperti berikut.
1. Eksekusi LILO
2. LILO Memuat secondary loader pada /boot/chain.b.
3. /boot/chain.b menjalankan Kernel Linux. Sampai pada bagian ini, seorang pengguna akan melihat tampilan pesan pada layar seperti menjalankan daemon, memerika integritas perangkat keras, dan sebagainya.
4. Kernel menyerahkan tugasnya kepada init.
5. Init menjalankan berbagai program di belakang layar yang dibutuhkan oleh seorang user untuk login ke dala sistem.
6. Init memanggil program yang digunakan untuk login.

Proses Startup pada tiap Distribusi.

Seperti sudah diterangkan di atas, setelah init mengambil alih tugas booting sistem dari LILI atau GRUB, init akan menjalankan sistem sesuai dengan default run level yang digunakan. Pada beberapa distribusi, penanganan run level ini berbeda satu dengan lainnya.

Run Level pada RedHat dan OpenLinux.

Kedua distribusi ini meletakkan program-program shell pada direktori /etc/rc.d. Program-program yang berhubungan dengan init diletakkan dalam sebuah direktori master pada /etc/rc.d/init.d. Sedangkan direktori lainnya lagi memiliki nama yang sama untuk setiap run level, misalnya /etc/rc1.d/ untuk run level 1.

Debian/GNU LINUX.

Debian memiliki kesamaan dengan RedHat ataupun OpenLinux. Perbedaan terletak pada direktori master, yaitu /etc/init.d sedangkan untuk RedHat atau OpenLinux adalah /etc/rc.d.init.d.

Slackware.

Slackware memiliki kesamaan dengan RedHat ataupun OpenLinux. Perbedan terletak pada distribusi Slackware yang tidak menggunakan file dengan link sombolik seperti yang digunakan oleh distribusi lainnya. Jadi setiap file yang berhubungan dengan init adalah program binari yang memang dapat dieksekusi untuk menjalankan script shell.

SuSE.

Perbedaan utama SuSE dengan RedHat ataupun Open Linux adalah struktur yang berada pada direktori master /etc/rc.d/rc di link kembali ke direktori aktif yang berada pada /etc/rc.d/.

Proses Startup dan LILO.

Penggunaan boot manajer memungkinkan kita untuk menjalankan lebih dari sistem operasi pada satu komputer. Dengan boot manajer kita dapat memilih salah satu sistem operasi untuk dijalankan pada waktu proses booting pertama kali. Kebanyakan distribusi saat ini menyertakan LILO atau GRUB yang dapat diinstal pada waktu proses instalasi. Keberadaan boot manajer ini memungkinkan seorang user untuk dapat menggunakan harddisk berukuran besar dengan menyertakan opsi linear pada lilo.conf. Untuk mengkonfigurasikan lilo, dapat dilakukan dengan menggunakan tool-tool berbasis grafis, seperti RedHat dengan Linuxconf atau Webmin untuk Open Linux. Meskipun tersedia tool berbasis grafis, kita dapat mengkonfigurasikan lilo dengan menggunakan cara manual pada file /etc/lilo.conf.Jika pada satu komputer terdapat dua sistem operasi (misal Linux dan MS Windows), pada file lilo.conf terdapat dua baris utama yang menunjukkan opsi yang digunakan untuk menjalankan kedua sistem operasi tersebut. Pada kedua baris tersebut terdapat sebuah opsi label yang merupakan nama dari sistem operasi yang digunakan untuk menjalankan salah satu sistem operasi yang digunakan.

Salah satu opsi yang digunakan pada lilo adalah pengaturan waktu yang digunakan untuk memberikan kesempatan user memilih salah satu sistem operasi yang digunakan sebelum nilai default yang digunakan lilo dijalankan. Opsi ini menggunakan timeout dan berisikan nilai dalam satuan detik. Misalkan kita akan mengatur timeout dengan satuan waktu 20 detik, tambahkan opsi berikut ke dalam lilo.conf.
timeout = 200
opsi lainnya dalah default, yang digunakan untuk mengatur dafult sistem operasi yang akan dijalankan jika batas timeout di atas sudah habis. Untuk mengatur Linux sebagai default sistem operasi yang akan dijalankan, gunakan opsi berikut.
default = linux
Untuk menjalankan sistem operasi, dalam konfigurasi lilo harus dimasukkan opsi image yang digunakan untuk memanggil image dari kernel Linux. Contoh berikut digunakan untuk memanggil image kernel yang digunakan pada distribusi RedHat 7.2.
image=/boot/vmlinuz-2.4.7-10
Setelah memuat image dari Kernel Linux, langkah berikutnya adalah menentukan label dari kernel Linux yang digunakan, termasuk partisi tempat file image tersebut berada.
label=linux

root=/dev/hda5
Langkah terakhir adalah dengan mengaktifkan perubahan yang dilakukan pada file lilo.conf dengan mengetikkan perintah lilo pada prompt Linux seperti berikut.
#lilo
Berikut ini adalah isi file lilo.conf yang penulis gunakan pada distribusi RedHat 7.2.
Prompt
timeout=50
default=linux
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/message
linear
image=/boot/vmlinuz-2.4.7-10
label=linux
read-only
root=/dev/hda5

init dan Run Level

Ada beberapa cara untuk melakukan booting terhadap sistem, yang sering sekali digunakan adalah dengan membooting sistem menggunakan harddisk dan menggunakan floppy drive. RedHat dan distribusi Linux lainnya menggunakan proses boot yang yang disebut dengan init sysV yang merupakan sistem booting yang digunakan oleh BSD. Init adalah program dari kernel yang dieksekusi pada waktu startup, dan kemudian memiliki nomor PID 1. Proses boot ini kemudian menjadi proses induk (parent process) bagi semua proses yang berada dalam sistem.

Langkah-langkah yang dilakukan oleh sistem pada waktu booting adalah :
1. Kernel menjalankan program init yang berada pada direktori /sbin
2. init menjalankan script shell /etc/rc.d/rc.sysinit.
3. rc.sysinit menjalankan sistem lainnya dan menampilkan proses startup.
4. Init menjalankan script yang sesuai dengan default run level.
5. Init menjalankan script pada /etc/rc.d/rc.local.

Program ini kemudian menjalankan banyak proses dan menuliskan informasi ke konsol dan sistem log pada /var/log/message tentang status dari setiap proses yang dijalankan.init menjalankan semua proses yang dibutuhkan oleh sistem operasi untuk melaksanakan tugasnya, seperti networking, menggunakan mouse, fungsi dari I/O dan sebagainya. init juga harus mengetahui program mana yang harus dijalankan dengan membaca file-file yang berada pada /etc/rc.d. Setiap file yang berada pada direktori ini dikelompokkan berdasarkan run level, pada tiap-tiap direktori.
Run level terdiri dari berbagai tipe layanan, dari single user mode (run level 1) sampai multiuser, multitasking (run level 3). Tabel berikut memperlihatkan run level yang tersedia pada Linux.

Tabel 1 Run Level pada Linux

Run Level Penjelasan
0 Halt
1 Single user mode
2 Multi user, tidak ada NFS
3 Full multiuser mode
4 Unused (tidak digunakan)
5 X11
6 reboot

Run Level 0 : /etc/rc.d/rc0.d

Seperti yang anda lihat pada tabel diatas, run level 0 akan menjalankan sekumpulan script yang digunakan untuk shutdown. Script pada run level ini akan menjalankan proses seperti berikut :
1. Mematikan semua proses yang sedang berjalan
2.Mematikan file virtual memory yang di swap
3.Melakukan proses unmounting swap dan filesistem yang di mount.
Berikut ini adalah file-file yang digunakan ketika proses mematikan komputer berjalan.
K00linuxconf -> ../init.d/linuxconf*
K05keytable -> ../init.d/keytable*
K10xfs -> ../init.d/xfs*
K11drakfont -> ../init.d/drakfont*
K15numlock -> ../init.d/numlock*
K20kheader -> ../init.d/kheader*
K30usb -> ../init.d/usb*
K44rawdevices -> ../init.d/rawdevices*
K60atd -> ../init.d/atd*
K60crond -> ../init.d/crond*
K65identd -> ../init.d/identd*
K75netfs -> ../init.d/netfs*
K80random -> ../init.d/random*
K92anacron -> ../init.d/anacron*
K95harddrake -> ../init.d/harddrake*
K95kudzu -> ../init.d/kudzu*
K97sound -> ../init.d/sound*
K99syslog -> ../init.d/syslog*
S00killall -> ../init.d/killall*
S01halt -> ../init.d/halt*

Run Level 1: /etc/rc.d/rc1.d

Run Level 1 merupakan single user mode, atau merupakan mode untuk melakukan administrasi, run level ini digunakan seorang sistem administrator untuk melakukan perawatan software.
Untuk masuk kedalam mode ini pada waktu boot ketikkan perintah seperti berikut ini :
boot : linux single
dengan demikian anda akan langsung masuk kedalam runlevel 1 dengan melewati berbagai argumen yang ada pada kernel.

0 comments:

Posting Komentar

 

Anisa Aprilia Template by Ipietoon Blogger Template | Gift Idea