Linux, một hệ điều hành mã nguồn mở phổ biến, chứa đựng nhiều thành phần quan trọng giúp nó hoạt động mạnh mẽ và linh hoạt. Hãy cùng khám phá những yếu tố quan trọng nhất bên trong Linux.
Kernel - Cốt lõi của hệ thống
Kernel là trái tim của hệ điều hành UNIX. Nó được tải vào khi hệ thống khởi động và hoạt động liên tục trong bộ nhớ.
Chức năng chính của Kernel là quản lý tất cả nguồn lực của hệ thống, cung cấp một hệ thống liền mạch cho người dùng và các ứng dụng. Nó cung cấp dịch vụ như quản lý thiết bị, lập lịch quá trình, và nhiều hơn nữa.
Ví dụ về một vài chức năng của Kernel:
- Quản lý bộ nhớ và phân bổ cho từng quá trình.
- Lập lịch công việc của CPU để tối ưu hiệu suất.
- Điều khiển việc truyền dữ liệu trong máy.
- Giải thích và thực hiện các lệnh từ shell.
- Thực thi quyền truy cập file.
Tuy nhiên, bạn không cần phải biết về kernel để sử dụng hệ thống UNIX.
Shell: Trình thông dịch lệnh
Khi bạn đăng nhập vào một hệ thống Unix, bạn sẽ tương tác với một chương trình Shell. Shell chính là nơi bạn thấy dấu nhắc, thường xuất hiện ngay tại vị trí con trỏ trên màn hình. Để thực hiện công việc, bạn chỉ cần nhập các lệnh ngay tại dấu nhắc này.
Shell không chỉ đơn giản là một giao diện, nó còn là một trình thông dịch lệnh. Khi bạn nhập một lệnh, Shell tiếp nhận, sau đó chuyển lệnh đó cho kernel của hệ điều hành để xử lý. Kết quả của quá trình xử lý sẽ được hiển thị trở lại trên màn hình của bạn.
Hầu như mọi hệ thống UNIX đều có sẵn nhiều loại Shell, mỗi loại có những ưu điểm và nhược điểm riêng. Người dùng có thể chọn Shell phù hợp với mình dựa trên nhu cầu và sở thích cá nhân.
Mỗi người dùng có thể chọn sử dụng các shell khác nhau. Ban đầu, người quản trị hệ thống của bạn sẽ cung cấp một shell mặc định, nhưng người dùng hoàn toàn có thể thay đổi hoặc ghi đè lên nó. Các shell thường gặp nhất bao gồm:
- Bourneshell (sh)
- C shell (csh)
- Korn shell (ksh)
- TC Shell (tcsh)
- Bourne Again Shell (bash)
Mỗi Shell đều đi kèm với một ngôn ngữ lập trình riêng. Người dùng có thể viết các file lệnh, gọi là shell scripts
, để tự động hóa hàng loạt các tác vụ trên hệ thống.
Utilities: Tiện ích và công cụ đa dạng
UNIX cung cấp hàng trăm chương trình tiện ích, thường được gọi là lệnh, thực hiện các chức năng phổ biến như:
- Chỉnh sửa
- Bảo dưỡng file
- In ấn
- Sắp xếp
- Hỗ trợ lập trình
- Thông tin trực tuyến, và nhiều hơn nữa.
Tính linh hoạt: Các tiện ích được thiết kế theo module (tập hợp các khối lệnh), có nghĩa là chúng có thể được kết hợp để thực hiện các tác vụ phức tạp hơn.