Mở trình đơn chính

Các thay đổi

n
[[ImageTập tin:Kernel Layout.svg|thumb|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.
 
== Khái quát chung ==
[[ImageTập tin:Computer abstraction layers.svg|thumb|200px|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]], [[ngôn ngữ Assembly|trình biên dịch ngôn ngữ assembly]], nhân hệ điều hành, [[hệ điều hành]] và [[các tiến trình (máy tính)|các ứng dụng]] (xem thêm tại [http://www.pearsonhighered.com/educator/academic/product/0,,0131485210,00%2ben-USS_01DBC.html ''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."<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 đó, 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ệ thống bởi các ứng dụng để 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 ==
Về các chú thích dẫn đến nguồn, xem danh sách tham khảo tại mục dưới.
{{reflist|2}}
 
== Tham khảo ==
{{refbegin|2}}
* {{cite web |url=http://www.vmars.tuwien.ac.at/courses/akti12/journal/04ss/article_04ss_Roch.pdf |title=Monolithic kernel vs. Microkernel |accessdate=2006-10-12 |last=Roch |first=Benjamin |year=2004 |format=pdf }}
}} included in book: {{cite book |editor=Per Brinch Hansen |title=Classic operating systems: from batch processing to distributed systems |origdate=2001 |url=http://portal.acm.org/citation.cfm?id=360596&dl=ACM&coll=&CFID=15151515&CFTOKEN=6184618 |publisher=Springer-Verlag |location= New York, |isbn=0-387-95113-X |pages=1–36 |chapter=1 |chapterurl=http://brinch-hansen.net/papers/2001b.pdf}}
 
* [[Hermann Härtig]], Michael Hohmuth, [[Jochen Liedtke]], Sebastian Schönberg, Jean Wolter ''[http://os.inf.tu-dresden.de/pubs/sosp97/#Karshmer:1991:OSA The performance of μ-kernel-based systems]'' [http://doi.acm.org/10.1145/268998.266660] ACM SIGOPS Operating Systems Review, v.31 n.5, p.66-77, Dec. 1997
 
* Houdek, M. E., Soltis, F. G., and Hoffman, R. L. 1981. ''[http://portal.acm.org/citation.cfm?id=800052.801885 IBM System/38 support for capability-based addressing]''. In Proceedings of the 8th ACM International Symposium on Computer Architecture. ACM/IEEE, pp. 341–348.
 
* [[Intel Corporation]] (2002) ''[http://www.intel.com/design/pentium4/manuals/24547010.pdf The IA-32 Architecture Software Developer’s Manual, Volume 1: Basic Architecture]''
 
* {{cite journal |last=Levin |first=R. |coauthors=E. Cohen, W. Corwin, F. Pollack, [[William Wulf]] |year=1975 |title=Policy/mechanism separation in Hydra |journal=ACM Symposium on Operating Systems Principles / Proceedings of the fifth ACM symposium on Operating systems principles |pages=132–140 |url=http://portal.acm.org/citation.cfm?id=806531&dl=ACM&coll=&CFID=15151515&CFTOKEN=6184618 }}
 
* {{cite book |author=Levy, Henry M. |title=Capability-based computer systems |publisher=Digital Press |location=Maynard, Mass |year=1984 |pages= |isbn=0-932376-22-3 |oclc= |doi= |url=http://www.cs.washington.edu/homes/levy/capabook/index.html}}
 
* [[Jochen Liedtke|Liedtke, Jochen]]. ''[http://i30www.ira.uka.de/research/publications/papers/index.php?lid=en&docid=642 On µ-Kernel Construction]'', ''Proc. 15th ACM Symposium on Operating System Principles (SOSP)'', December 1995
 
* {{cite journal |last=Linden |first=Theodore A. |title=Operating System Structures to Support Security and Reliable Software | journal = ACM Computing Surveys (CSUR) | pages=409–445 | volume =8 | issue = 4 | year=1976| month = December |id=ISSN 0360-0300 | url = http://portal.acm.org/citation.cfm?id=356682&coll=&dl=ACM&CFID=15151515&CFTOKEN=6184618 |doi=10.1145/356678.356682 }} [http://csrc.nist.gov/publications/history/lind76.pdf]
{{refend}}
 
== Đọc thêm ==
* [[Andrew Tanenbaum]], ''Operating Systems - Design and Implementation (Third edition)'';
* Andrew Tanenbaum, ''Modern Operating Systems (Second edition)'';
* [[David A. Peterson]], [[Nitin Indurkhya]], Patterson, ''Computer Organization and Design'', [[Morgan Koffman]] <small>(ISBN 1-55860-428-6)</small>;
* [[B.S. Chalk]], ''Computer Organisation and Architecture'', Macmillan P.(ISBN 0-333-64551-0).
{{link FA|fr}}
 
[[CategoryThể loại:Nhân hệ điều hành|*]]
[[CategoryThể loại:Công nghệ hệ điều hành]]
 
{{link FA|fr}}
 
[[af:Bedryfstelselkern]]
[[es:Núcleo (informática)]]
[[eo:Kerno (operaciumo)]]
[[fa:هسته سیستم‌عاملسیستم عامل]]
[[fr:Noyau de système d'exploitation]]
[[gl:Kernel]]
[[hu:Rendszermag]]
[[mk:Јадро на оперативен систем]]
[[ml:കേണല്‍ (കമ്പ്യൂട്ടിങ്)]]
[[ml:കെര്‍ണല്‍]]
[[nl:Kernel]]
[[ja:カーネル]]
141.193

lần sửa đổi