1. START
Khi bật máy tính quá trình khởi động sẽ được thực hiện theo các bước sau:
- BIOS thực hiện kiểm tra tính toàn vẹn trên bộ nhớ và tìm kiếm các chỉ dẫn trên MBR.
- MBR nạp trình quản lý khởi động LILO hoặc GRUB.
- LILO/GRUB sẽ nhận diện kernel hệ điều hành và nạp nhân hệ điều hành từ /boot.
- Nhân hệ điều hành chuyển quyền điều khiển cho chương trình /sbin/init.
- Dựa trên mức hoạt động tương ứng, /sbin/init thực hiện nạp các dịch vụ và gắn kết (mount) tất cả các phần chia của hệ thống (trong /etc/fstab)
Tiến trình init: Các bước khởi động của init
- Đầu tiên, init gọi thi hành /etc/rc.d/rc.sysinit để thiết lập đường dẫn, kiểm tra các hệ thống tập tin v.v…
- Kế tiếp, init sẽ thực thi /etc/inittab (mô tả các mức thi hành).
- Init gọi thi hành script /etc/rc.d/init.d/functions cho biết các khởi động hay ngừng một chương trình và cách xác định PID của một chương trình.
- Tiếp tục, init khởi động các tiến trình ngầm nằm trong các thư mục /etc/rc.d/rc0.d/, /etc/rc.d/rc1.d/…
- Gọi thi hành /etc/rc.d/rc.local: bổ sung thêm các lệnh cần thiết.
- Sau khi init đã xử lý tất cả các mức thi hành, script /etc/inittab phát sinh một tiến trình getty cho mỗi virtual console cho mỗi mức thi hành.
Nội dung tập tin /etc/inittab
id : runlevels : action : process
Trong đó:
id: nhận diện các dòng trong tập tin, tối đa 4 ký tự.
runlevels: các mức thi hành mà một tiến trình nào đó được phép thực hiện trong mức đó.
action: mô tả hành động sẽ được thực hiện.
process: xác định tiến trình được thi hành.
Khởi động/ngừng thi hành daemon:
/etc/rc.d/init.d/deamon_name action
daemon_name: tên script quản lý dịch vụ hệ thống.
action: một trong 3 trạng thái: start, stop và restart
Quản lý khởi động dịch vụ
- Các script quản lý daemon dịch vụ hệ thống thực sự được đặt trong /etc/rc.d/init.d và có các liên kết (dạng symbolic link) vào các thư mục /etc/rc.d/rc[0-6].d tương ứng.
- Tiện ích /sbin/chkconfig là một công cụ dòng lệnh được sử dụng để giúp tạo hay xoá bỏ những liên kết này, giúp cho admin không cần phải thực hiện thủ công tạo các symbolic link trong các thư mục nằm trong /etc/rc.d/.
- Sau khi sử dụng chkconfig, các dịch vụ không thay đổi trạng thái ngay lập tức. Ta phải thực hiện ngừng hay khởi động từng dịch vụ riêng rẽ bằng lệnh:
/etc/rc.d/init.d/daemon_name start | stop | restart
Các run level: (xem tiếp trang sau)