
1
Bài 4. Quản trịhệthống
Ngô Duy Hòa – KHMT - CNTT
Nội dung bài học
•Quátrình khởi động hệthống.
•Quản lý người dùng.
•Hệthống log files.
•…..
1. Quá trình khởi động
Boot process
Các bước cụthểPower-up / Reset
• Máy tính bắt đầu khởi động, CPU thực
hiện chương trình ở địa chỉ0xFFFF0 trong
BIOS (Basic Input Output System).
• Công việc chia làm 2 phần:
– POST – Power On Self Test:
•Nạp vào RAM code ÆKiểm tra các phần cứng
•Nếu OK ÆPOST code bị đảy ra khỏi RAM.
– Runtime services:
•Đọc CMOS Ætìm ra boot device.

2
BIOS boot monitor
• Runtime Services xác định được thiết bị
khởi động: HDD, Floppy, CD-ROM,..
•Xác định MBR (Master Boot Record) của
thiết bị.
– MBR – first sector : 512 Byte.
–Địa chỉ: sector 1, cylinder 0, header 0.
•Nạp MBR vào RAM ÆBIOS trao quyền
thực hiện cho MBR.
Boot Sector Floppy & HDD
Master Boot Record Master Boot Record
•MBR chứa 3 phần:
– BootLoader (446 bytes) chương trình mồi
gồm 2 phần:
• Code chương trình: thực hiện việc tìm kiếm phân
vùng tích cực (để khởi động).
• Các thông báo lỗi (error message).
–Bảng phân vùng (64 bytes):
• 4 thành phần (16 bytes): lưu trữthông tin vềcác
phân vùng chính (primary partition).
– Magic number: 0xAA55.
Cấu trúc các thành phầnMaster Boot Record
•Chỉcó 4 phân vùng chính (primary Part.).
•Nếu cần nhiều hơn 4 phân vùng:
– 1 phân vùng chính = 1 phân vùng mởrộng
(extended part.).
– Chia thành các phân vùng logic (logical Part.)
•Sector đầu tiên của các phân vùng đều là
boot sector Æcó thểcài OS trong phân
vùng bất kỳ.

3
Extended Partition Stage 1 bootloader
•Xác định phân vùng tích cực thông qua
boot flag.
•Nếu không tồn tại Æthông báo lỗi.
• Sau khi xác định được:
–Nạp boot sector của phân vùng khởi động
vào RAM Ætrao quyền điều khiển cho
chương trình boot sector.
–Bắt đầu giai đoạn thứ2 (stage 2 bootloader)
Stage 2 bootloader
•Nhiệm vụchính của giai đoạn này là:
–Nạp nhân HĐH (Linux kernel) vào RAM.
–Nạp RamDisk vào RAM.
•Cósựkhác biệt giữa các chương trình
BootLoader:
– LILO : Linux Loader
– GRUB : GRand Unified Bootloader.
LILO
• Linux Loader là chương trình truyền thống
của Linux hỗtrợkhởi động hệthống với
nhiều dạng HĐH khác nhau.
• LILO có kích thước >> 512 byte Æ được
chia làm 2 giai đoạn:
– Stage 1 (như đã nói phần trước):
•Cóthểnằm ởMBR
•Cóthểnằm ởphân vùng cài Linux.
– Stage 2 : nạp nhân HĐH
Các bước LILO thực hiện
•Thực hiện và in ký tựra màn hình:
– Stage 1 thực hiện và in chữL.
– Stage 1 nạp mã lệnh của Stage 2 vào RAM
và in chữI.
– Stage 2 bắt đầu thực hiện và in chữL.
–Cửa sổgõ lệnh xuất hiện. Thực hiện lệnh lilo
để truy cập đến map-file, là file xác định các
nhân HĐH.
– Khi map-file được nạp hoàn toàn vào RAM Æ
hiển thịký tựcuối cùng O.
File cấu hình LILO
•Cấu hình LILO:
/etc/lilo.conf
• boot: boot device
• map: map-file
• install: chứa bootstrap
code - chương trình
mồi khởi động OS
• image: kernel image

4
Nhược điểm LILO
•LILO đọc map-file để xác định vịtrí vật lý các
nhân OS.
•Nếu kernel hoặc ổ đĩa có 1 sự thay đổi nào đó
Æ map-file thay đổi Æphải tạo lại map-file.
GRUB
•Giải quyết vấn đề của LILO bằng cách trong
stage 2 chia ra hai phần:
– Stage 1.5: xác định kiểu file system của phân vùng
chứa nhân OS.
– Stage 2: nạp nhân OS vào RAM.
Cấu hình GRUB
• File cấu hình: /etc/grub/grub.conf
Chạy GRUB bằng tay
Ví dụ
• Khi màn hình hiển thịdòng chữGRUB thì ấn C
để chạy chế độ dòng lệnh.
–Lệnh kernel xác định kernel image.
–Lệnh initrd xác định ramdisk.
–Lệnh boot nạp kernel image Ækhởi động hệthống.
Kernel stage
• Kernel image được nạp vào RAM Æ
quyền điều khiển chuyển đến kernel img.
• Kernel image là dạng file nén:
– zImage : dạng nén với kích thước < 512KB.
– bImage : dạng nén với kích thước > 512KB.
•Gọi một sốlệnh đặc biệt Æchia thành các
chế độ làm việc riêng: user & kernel mode.
•Thực hiện giải nén kernel image.

5
Linux 2.6 kernel image Sơ đồ các bước thực hiện
Sơ đồ các bước thực hiện
• Startup_32() : swapper - process 0:
–Giải nén kernel image.
–Khởi tạo bảng trang trong bộnhớ(page tables,
memory tables)
–Xác định kiểu CPU.
• Startup_kernel():
–Thiết lập hệthống ngắt (interrupt).
–Nạp RAMdisk vào hệthống.
• Init process 1: tiến trình người dùng đầu tiên.
Vai trò RAMdisk
•Tạo một file system tạm thời trong RAM.
• Cho phép hệthống khởi động mà không
cần làm việc trực tiếp với ổcứng.
•Chứa một sốcác modules cần thiết làm
việc với các thiết bịphần cứng.
• Sau khi kernel boot Æfile system tạm bị
đẩy ra ngoài, thay vào đólàfile system
thực của OS.
Cây thư mục trong RAMdisk Init process
•Hệthống khởi động và được cấu hình làm
việc ởcác mức khác nhau: runlevel.
• Init là tiến trình người dùng đầu tiên luôn
có PID = 1.
•Init đọc cấu hình từ file /etc/inittab để khởi
động các dịch vụcần thiết.
•Mỗi một mức làm việc có một tập các dịch
vụcụthể tương ứng.