Nhân hệ điều hành

Bách khoa toàn thư mở Wikipedia
Bước tới: menu, tìm kiếm
Nhân hệ điều hành kết nối phần mềm ứng dụng với phần cứng máy tính.

Nhân hệ điều hành là thành phần trung tâm của hầu hết các hệ điều hành máy tính. Nó có nhiệm vụ quản lý các tài nguyên hệ thống (liên lạc giữa các thành phần phần cứngphần mềm).[1] Thông thường, với vai trò một thành phần cơ bản của một hệ điều hành, nhân có thể cung cấp tầng trừu tượng mức thấp nhất cho các tài nguyên máy tính (đặc biệt là bộ nhớ, CPU, và các thiết bị vào ra mà phần mềm ứng dụng cần điều khiển để thực hiện các chức năng của mình. Nhân hệ điều hành thường cung cấp các tiện ích này cho các tiến trình của các phần mềm ứng dụng qua các cơ chế liên lạc giữa các tiến trình (inter-process communication) và các hàm hệ thống (system call).

Các nhân khác nhau thực hiện các tác vụ của hệ điều hành theo các cách khác nhau, tùy theo thiết kế và cài đặt. Các nhân kiểu nguyên khối (monolithic kernel) thực hiện các nhiệm vụ của mình bằng cách thực thi toàn bộ mã hệ điều hành trong cùng một địa chỉ bộ nhớ để tăng hiệu năng hệ thống. Trong khi đó các nhân loại nhỏ (microkernel) chạy hầu hết các dịch vụ tại không gian người dùng (user space) với mục đích tăng khả năng bảo trì và tính mô đun của hệ điều hành.[2] Có nhiều thiết kế nằm ở giữa hai thái cực này.

Khái quát chung[sửa | sửa mã nguồn]

Một cách nhìn điển hình của một kiến trúc máy tính dưới một chuỗi các tầng trừu tượng: phần cứng, những phần mềm cố định - firmware, trình biên dịch ngôn ngữ assembly, nhân hệ điều hành, hệ điều hànhcác ứng dụng (xem thêm tại Structured Computer Organization, by Andrew S. Tanenbaum.).

Trong một định nghĩa về 'nhân hệ điều hành' Jochen Liedtke đã tuyên bố rằng "sử dụng thường xuyên để biểu thị cho một phần của hệ điều hành có tính bắt buộc và chia sẻ với tất cả các phần mềm khác."[3]

Hầu hết các hệ điều hành đều dựa trên cơ sở là nhân. Sự tồn tại của nhân hệ điều hành là hệ quả tự nhiên của việc thiết kế hệ thống máy tính thành một chuỗi các tầng trừu tượng,[4] mỗi tầng lại dựa vào các chức năng của chính các tầng ngay dưới chúng. Nhân hệ điều hành dưới một khía cạnh nào đó là một cái tên đơn giản biếu thị cho tầng trừu tượng ở mức thấp nhất được thi hành trong các phần mềm. Trong một loại nhằm tránh sự sử dụng nhân hệ điều hành, nó sẽ thiết kế toàn bộ phần mềm trong một hệ thống mà không sử dụng đến các tầng trừu tượng; điều này sẽ làm gia tăng sự phức tạp của việc thiết kế ví như một hệ thống đơn giản nhất có tính khả thi có thể thực thi các phần mềm.

Trong khi được biết đến với cái tên phổ biến nhân hệ điều hành, những cách gọi mới mẻ cho bộ phần tương tự của hệ thống máy tính được biết đến như hạt nhân - nucleus hay là lõi - core,[1][5][6][7] (Chú ý rằng, bất cứ khi nào từ core cũng được sử dụng có liên quan tới bộ nhớ chính của hệ thống máy tính, bởi vì các máy tính ra đời trước sử dụng một dạng của bộ nhớ được gọi là core memory), và được hình thành một cách sáng tạo như những vùng chỉ chứa những yếu tố cần thiết, cốt lõi của một hệ điều hành.

Trong hầu hết các trường hợp, boot loader bắt đầu thực thi nhân hệ điều hành trong supervisor mode,[8] Nhân hệ điều hành sau đó được nạp phần đầu của nó và thi thành tiến trình đầu tiên. Sau khi khởi động hoàn tất, nhân hệ điều hành không được thực thi ngay lập tức, nó chỉ nằm trong lời trả lời cho sự kiện bên ngoài(Ví dụ:, thông qua hàm hệ thống,các ứng dụng sẽ yêu cầu dịch vụ từ nhân hệ điều hành, hoặc thông qua ngắt được sử dụng bởi phần cứng để thông báo cho nhân hệ điều hành về các sự kiện xảy ra). Ngoài ra, nhân hệ điều hành còn đặc biệt cung cấp một vòng lặp được thực thi bất cứ lúc nào mà không có tiến trình nào được thực thi; nó thường được gọi là tiến trình nhàn rỗi.

Chú thích[sửa | sửa mã nguồn]

Về các chú thích dẫn đến nguồn, xem danh sách tham khảo tại mục dưới.

  1. ^ a ă Wulf 74 pp.337-345
  2. ^ Roch 2004
  3. ^ Liedtke 95
  4. ^ Tanenbaum 79, chapter 1
  5. ^ Deitel 82, p.65-66 cap. 3.9
  6. ^ Lorin 81 pp.161-186, Schroeder 77, Shaw 75 pp.245-267
  7. ^ Brinch Hansen 70 pp.238-241
  8. ^ The highest privilege level has various names throughout different architectures, such as supervisor mode, kernel mode, CPL0, DPL0, Ring 0, etc. See Ring (computer security) for more information.

Tham khảo[sửa | sửa mã nguồn]

Đọc thêm[sửa | sửa mã nguồn]