GIÁO TRÌNH HỆ ĐIỀU HÀNH UNIX - LINUX - Trang 15

1
4

1.2.1. Sơ b v nhân

Nhân (còn được gọi là hệ lõi) của Linux, là một bộ các môdun chương trình có vai trò

điều khiển các thành phần của máy tính, phân phối các tài nguyên cho người dùng (các quá
trình người dùng). Nhân chính là cầu nối giữa chương trình ứng dụng với phần cứng.
Người dùng sử dụng bàn phím gõ nội dung yêu cầu của mình và yêu cầu đó được nhân gửi
tới shell: Shell phân tích lệnh và gọi các chương trình tương ứng với lệnh để thực hiện.

Một trong những chức năng quan trọng nhất của nhân là giải quyết bài toán lập lịch, tức

là hệ thống cần phân chia CPU cho nhiều quá trình hiện thời cùng tồn tại. Đối với Linux, số
lượng quá trình có thể lên tới con số hàng nghìn. Với số lượng quá trình đồng thời nhiều
như vậy, các thuật toán lập lịch cần phải đủ hiệu quả: Linux thường lập lịch theo chế độ
Round Robin (RR) thực hiện việc luân chuyển CPU theo lượng tử thời gian.

Thành phần quan trọng thứ hai trong nhân là hệ thống các môđun chương trình (được

gọi là lời gọi hệ thống) làm việc với hệ thống file. Linux có hai cách thức làm việc với các
file: làm việc theo byte (kí tự) và làm việc theo khối. Một đặc điểm đáng chú ý là file trong
Linux có thể được nhiều người cùng truy nhập tới nên các lời gọi hệ thống làm việc với file
cần đảm bảo việc file được truy nhập theo quyền và được chia xẻ cho người dùng.

1.2.2. Sơ b v shell

Một số nội dung chi tiết về shell (còn được gọi là h vỏ) trong Linux được trình bày

trong chương "Lập trình trên shell". Những nội dung trình bày dưới đây cung cấp một cách
nhìn sơ bộ về shell và vai trò của nó trong hoạt động chung của hệ điều hành.

Người dùng mong muốn máy tính thực hiện một công việc nào đó thì cần gõ lệnh thể

hiện yêu cầu của mình để hệ thống đáp ứng yêu cầu đó. Shell là bộ dịch lệnh và hoạt động
như một kết nối trung gian giữa nhân với người dùng: Shell nhận dòng lệnh do người dùng
đưa vào; và từ dòng lệnh nói trên, nhân tách ra các bộ phận để nhận được một hay một số
lệnh tương ứng với các đoạn văn bản có trong dòng lệnh. Một lệnh bao gồm tên lệnh và
tham số: từ đầu tiên là tên lệnh, các từ tiếp theo (nếu có) là các tham số. Tiếp theo, shell sử
dụng nhân để khởi sinh một quá trình mới (khởi tạo quá trình) và sau đó, shell chờ đợi quá
trình con này tiến hành, hoàn thiện và kết thúc. Khi shell sẵn sàng tiếp nhận dòng lệnh của
người dùng, một dấu nhắc shell (còn gọi là dấu nhắc nhập lệnh) xuất hiện trên màn hình.

Linux có hai loại shell phổ biến là: C-shell (dấu nhắc %), Bourne-shell (dấu nhắc $) và

một số shell phát triển từ các shell nói trên (chẳng hạn, TCshell - tcsh với dấu nhắc ngầm
định > phát triển từ C-shell và GNU Bourne - bash với dấu nhắc bash # phát triển từ
Bourne-shell). Dấu mời phân biệt shell nói trên không phải hoàn toàn rõ ràng do Linux cho
phép người dùng thay đổi lại dấu nhắc shell nhờ việc thay giá trị các biến môi trường

PS1

PS2. Trong tài liệu này, chúng ta sử dụng kí hiệu "hàng rào #" để biểu thị dấu nhắc

shell.

C-shell có tên gọi như vậy là do cách viết lệnh và chương trình lệnh Linux tựa như

ngôn ngữ C. Bourne-shell mang tên tác giả của nó là Steven Bourne. Một số lệnh trong C-
shell (chẳng hạn lệnh

alias) không còn có trong Bourne-shell và vì vậy để nhận biết hệ

thống đang làm việc với shell nào, chúng ta gõ lệnh:

# alias

Nếu một danh sách xuất hiện thì shell đang sử dụng là C-shell; ngược lại, nếu xuất hiện

thông báo "Command not found" thì shell đó là Bourne-shell.
Lệnh được chia thành 3 loại lệnh:

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.