CHƢƠNG 1 : TỔNG QUAN VỀ HỆ ĐIỀU HÀNH
2.2. Hệ điều hành UNIX
2.2.3. Cấu trúc hệ điều hành UNIX
UNIX đƣợc cấu thành từ 3 thành phần chính: Shells (các lớp vỏ), kernel (nhân hay còn gọi là lõi) và hệ thống file. Tồn tại nhiều hệ điều hành UNIX khác nhau nhƣ SCO UNIX, IBM UNIX, AT&T UNIX,... nhƣng chúng đều có một cấu trúc chung.
Các hệ điều hành mã nguồn mở Linux, chẳng hạn nhƣ Red Hat, Slackware,... cũng có cấu trúc giống nhƣ UNIX.
2.2.3.1. Phần lõi (Kernel)
Là trung tâm của hệ điều hành. Kernel là một ngôn ngữ bậc thấp, thấp hơn phần vỏ (shell) dùng để điều hành các tiến trình. Kernel quản lý việc sử dụng bộ nhớ, hệ thống file, các thiết bị phần cứng và phần mềm.
2.2.3.2. Phần vỏ (shell)
Shell là ngôn ngữ bậc cao hơn so với kernel. Shell dùng vào hai mục đích quan trọng: Bộ dịch lệnh, ví dụ khi dùng những lệnh nhƣ cat, who, ls,... shell sẽ chỉ ra ta đã gõ vào lệnh chính xác hay chƣa; và mục đích quan trọng nhất là khả năng dùng nó nhƣ một ngôn ngữ lập trình.
Mức shell có thể đƣợc lập trình thực hiện các chức năng thực hiện một công việc nào đó. Lập trình shell là một khái niệm tƣơng tự với lập trình ứng dụng trên các ngôn ngữ lập trình tuần tự. Có thể so sánh shell nhƣ một thƣ viện các hàm con nhƣ các thƣ viện liên kết trong ngôn ngữ C.
UNIX cho phép ngƣời dùng sử dụng một trong nhiều loại shell chuẩn mà hệ thống cung cấp nhƣ: C-Shell, Korn-Shell,... Điểm khác nhau giữa các shell chính là tập lệnh và cách thức sử dụng chúng.
2.2.3.3. Hệ thống file
Hệ thống file trong UNIX đƣợc chia thành 3 nhóm: Các thƣ mục, các file thông thƣờng và các file đặc biệt. Mọi tài nguyên của hệ thống kể cả các thiết bị phần cứng đều đƣợc coi là file. Điều này làm cho việc kết xuất thông tin đƣợc qui chuẩn và các chƣơng trình ứng dụng cũng đƣợc xây dựng mềm dẻo hơn.
Hình 2.2 Mô tả cấu trúc file cơ bản của các hệ thống UNIX
Các thư mục trong cây:
/unix - phần nhân của hệ điều hành
/etc - chứa các file quản trị hệ thống, ngƣời dùng thông thƣờng có thể truy cập phần lớn các file này. Trong thƣ mục này chứa file passwd, ngoài ra còn một số các file, thƣ mục quan trọng cấu hình cho hệ thống nhƣ: utmp, /adm/sulog, motd, group, conf, profile.
/dev: Chứa các file thiết bị vật lý nhƣ máy in, ổ đĩa.
/tmp: Thƣ mục chứa các file tạm thời (temporary).
/lib: Thƣ mục chứa các chƣơng trình ngôn ngữ bậc cao có tính chất thƣ viện.
/usr: Chứa các thƣ mục dành cho mỗi ngƣời dùng trong hệ thống.
/bin: Chứa các chƣơng trình khả thi (hay các lệnh của hệ điều hành)