Mở trình đơn chính

Các thay đổi

không có tóm lược sửa đổi
[[Tập tin:Kernel Layout.svg|nhỏ|200px|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ứng]] và [[phần mềm]]).<ref name="Wulf74">Wulf 74 pp.337-345</ref> 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à [[RAM|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 (máy tính)|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 [[lệnh gọi 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.<ref name="mono-micro">Roch 2004</ref> Có nhiều thiết kế nằm ở giữa hai thái cực này.
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."<ref name="Liedtke95">Liedtke 95</ref>
 
Hầu hết các hệ điều hành đều dựa trên cơ sở là [[nhân kernel]]. 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]] ,<ref name="Tanenbaum79">Tanenbaum 79, chapter 1</ref> 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''''',<ref name="Wulf74">Wulf 74 pp.337-345</ref><ref name="Deitel82">Deitel 82, p.65-66 cap. 3.9</ref><ref name="kernelnames">Lorin 81 pp.161-186, Schroeder 77, Shaw 75 pp.245-267</ref><ref name="Hansen70">Brinch Hansen 70 pp.238-241</ref> (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]],<ref name="supervisor">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.</ref> 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 lời gọi[[hàm hệ thống bởi ]],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 ==
229

lần sửa đổi