PERMASALAHAN STARTUP & SHUTDOWN
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.
- Eksekusi LILO
- LILO Memuat secondary loader pada /boot/chain.b.
- /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.
- Kernel menyerahkan tugasnya kepada init.
- Init menjalankan berbagai program di belakang layar yang dibutuhkan oleh seorang user untuk login ke dala sistem.
- Init memanggil program yang digunakan untuk login.
BIOS Basic Input/Output Systemadalah antar
muka level terendah antara komputer dan peripheral.
Bios melakukan pemeriksaan pada memori dan mencari instruksi pada MasterBoot Record (MBR) pada floppy atau hard drive.
MBRmenunjuk ke boot loader (LILO : Linux boot
loader)
LILO / GRUBakan menanyakan label sistem
operasi yang akan mengidentifikasi kernel yang dijalankan. Kernel akan menjalankan sistem operasi Linux.
Yang pertama kali dikerjakan oleh kernel adalah menjalankan program init.
Init adalah root/parent dari semua proses yang dijalankan pada Linux
Proses pertama yang memulai init adalah skrip /etc/rc.d/rc/sysinit.
Berdasarkan run-level yang ditentukan, skrip
dieksekusi untuk memulai proses tertentu untuk menjalankan sistem dan membuat sistem lebih fungsional.
Init Proses
Proses init adalah langkah terakhir pada prosedur boot dan di
identifikasi sebagai process ide ³1´.
Init bertanggung-jawab untuk memulai proses sistem seperti
yang ditentukan pada file /etc/inittab.
Init biasanya memulai ³getty´ yang menunggu layar login yang
menandakan proses shell seorang user.
Pada saat shutdown, init mengontrol urutan dan proses untuk shutdown.
Proses init tidak pernah shut down. Proses init merupakan proses user dan bukan proses sistem kernel meskipun dijalankan sebagai root.
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.
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 :
- Kernel menjalankan program init yang berada pada direktori /sbin
- init menjalankan script shell /etc/rc.d/rc.sysinit.
- rc.sysinit menjalankan sistem lainnya dan menampilkan proses startup.
- Init menjalankan script yang sesuai dengan default run level.
- 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).
Init proses
Proses init adalah langkah terakhir pada prosedur
Proses init adalah langkah terakhir pada prosedur boot dan di
identifikasi sebagai process ide ³1´.
Init bertanggung-jawab untuk memulai proses sistem seperti
yang ditentukan pada file /etc/inittab.
Init biasanya memulai ³getty´ yang menunggu layar login yang
menandakan proses shell seorang user.
Pada saat shutdown, init mengontrol urutan dan proses
untuk shutdown.
Proses init tidak pernah shut down. Proses init merupakan proses user dan bukan proses sistem kernel meskipun dijalankan sebagai root.
Proses boot / Run level
Run level menggambarkan keadaan sistem yang mendefinisikan layanan apa yang sedang berjalan. Run level ditunjukkan dengan angka. Seluruh baris di file /etc/inittab akan diproses sesuai dengan run level yang berlaku.Baris yang tidak mempunyai run level, berarti proses pada baris tersebut dijalankan pada setiap run level.
Linux mempunyai 6 state operasi dimana ³0´ adalah shutdown state dan ³3´ keatas adalah operasional penuh dengan semua proses yang esensial dijalankan untuk interaksi user
Berdasarkan sistem boot, Linux sistem akan melakukan :
Mengeksekusi program /sbin/init yang memulai semua
proses-proses lain. Program ini akan diberikan ke mesin oleh
proses awal yang didefinisikan pada file /etc/inittab
Komputer akan di-booting ke runlevel yang didefinisikan oleh
baris initdefault pada file /etc/inittab.
id:5:initdefault:
Pada contoh diatas, runlevel ´5´ dipilih. Runlevel ³5´
akan melakukan
booting sistem pada mode GUI menggunakan XDM dan X-Windows.Booting ke runlevel ´3´ (biasanya disebut mode console) biasanya digunakan oleh server yang tidak memerlukan GUI.
File inittab mengijinkan menggunakan kunci (Ctrl-Alt-Del),
memulai dial ke koneksi internet dll
Run level
Keterangan
0
Powerdown, kondisi dimana mesin
sudah aman untuk dimatikan
RUN LEVEL KETERANGAN
1 Mode single user, biasa digunakan
untuk administrasi sistem
2 Mode multiuser tanpa NFS
3 ModeFull multiuser
4 Tidak digunakan
5 ModeFull Multiuser dengan
X-Based login screen
6 Shutdown dan reboot,
digunakan untuk merestart mesin.
Tidak ada komentar:
Posting Komentar