Câu trả lời:
Định nghĩa kỹ thuật của một hệ điều hành là "một nền tảng bao gồm các bộ thư viện và cơ sở hạ tầng cụ thể cho các ứng dụng được xây dựng và tương tác với nhau". Một hạt nhân là một hệ điều hành theo nghĩa đó.
Định nghĩa của người dùng cuối thường là một cái gì đó xoay quanh "gói phần mềm cung cấp máy tính để bàn, lối tắt cho các ứng dụng, trình duyệt web và trình phát phương tiện". Một hạt nhân không phù hợp với định nghĩa đó.
Vì vậy, đối với người dùng cuối, bản phân phối Linux (giả sử Ubuntu) là Hệ điều hành trong khi đối với lập trình viên, hạt nhân Linux là một hệ điều hành hoàn toàn hợp lệ tùy thuộc vào những gì bạn đang cố gắng đạt được. Ví dụ, các hệ thống nhúng hầu hết chỉ là kernel với số lượng rất nhỏ các quy trình chuyên biệt chạy trên đầu chúng. Trong trường hợp đó, chính kernel trở thành HĐH.
Tôi nghĩ rằng bạn có thể vẽ đường mà phần lớn các ứng dụng chạy trên hệ điều hành đó yêu cầu. Nếu hầu hết trong số họ chỉ yêu cầu kernel, kernel là HĐH, nếu hầu hết trong số họ yêu cầu X Window System đang chạy, thì HĐH của bạn sẽ trở thành kernel X +.
Một hạt nhân là một phần của hệ điều hành làm trung gian truy cập vào tài nguyên hệ thống. Nó chịu trách nhiệm cho phép nhiều ứng dụng chia sẻ phần cứng một cách hiệu quả bằng cách kiểm soát quyền truy cập vào CPU, bộ nhớ, I / O đĩa và mạng.
Một hệ điều hành là kernel cộng với các ứng dụng cho phép người dùng hoàn thành công việc (ví dụ trình biên dịch, trình soạn thảo văn bản, trình quản lý cửa sổ, v.v.).
Có vẻ như phép ẩn dụ ban đầu đã cho chúng ta từ "hạt nhân" cho điều này ngay từ đầu đã bị lãng quên. Ẩn dụ là một hệ điều hành là một hạt giống. "Hạt nhân" của hạt giống là cốt lõi của hệ điều hành, cung cấp các dịch vụ hệ điều hành cho các chương trình ứng dụng, được bao quanh bởi "vỏ" của hạt giống là những gì người dùng nhìn thấy từ bên ngoài.
Một số người muốn buộc "kernel" (và, thực sự, "shell") xuống cụ thể hơn thế. Nhưng trong thực tế, có rất nhiều biến thể trên các hệ điều hành. Không phải các biến thể ít nhất là những gì tạo thành một "vỏ" (có thể nằm trong khoảng từ Solaris ' sh
thông qua Trình thông dịch lệnh điều khiển của Netware đến Workplace Shell của OS / 2 và Explorer của Windows NT), nhưng cũng có rất nhiều phương sai từ hệ điều hành này sang hệ điều hành khác cái gì là và không phải là một phần của "kernel" (có thể bao gồm hoặc không bao gồm I / O đĩa chẳng hạn).
Tốt nhất nên nhớ rằng những thuật ngữ này là ẩn dụ .
Vâng, có một sự khác biệt giữa kernel và OS. Kernel như mô tả ở trên là trái tim của HĐH quản lý các tính năng cốt lõi của HĐH trong khi nếu một số ứng dụng và tiện ích hữu ích được thêm vào kernel, thì gói hoàn chỉnh sẽ trở thành HĐH. Vì vậy, có thể dễ dàng nói rằng một hệ điều hành bao gồm một không gian kernel và một không gian người dùng.
Vì vậy, chúng ta có thể nói rằng Linux là một hạt nhân vì nó không bao gồm các ứng dụng như tiện ích hệ thống tệp, hệ thống cửa sổ và máy tính để bàn đồ họa, lệnh quản trị hệ thống, trình soạn thảo văn bản, trình biên dịch, v.v. và cung cấp hệ điều hành của họ như ubfox, suse, centOS, redHat, v.v.
Hệ điều hành là một tên chung được đặt cho tất cả các yếu tố (giao diện người dùng, thư viện, tài nguyên) tạo nên toàn bộ hệ thống.
Hạt nhân là "bộ não" của hệ điều hành, điều khiển mọi thứ từ truy cập vào đĩa cứng đến quản lý bộ nhớ. Bất cứ khi nào bạn muốn làm bất cứ điều gì, nó đi qua kernel.
Nhân là một phần của hệ điều hành, trong khi bản thân nó không phải là hệ điều hành. Thay vì đi sâu vào tất cả những gì kernel làm, tôi sẽ chuyển đến trang wikipedia: http://en.wikipedia.org/wiki/Kernel_%28computing%29 . Tuyệt vời, tổng quan kỹ lưỡng.
kernel là một phần của hệ điều hành, đây là điều đầu tiên mà bộ tải khởi động tải lên cpu (đối với hầu hết các hệ điều hành), nó là phần giao tiếp với phần cứng và nó cũng quản lý các chương trình có thể làm gì với phần cứng, nó thực sự là phần trung tâm của hệ điều hành, nó được tạo thành từ các trình điều khiển, trình điều khiển là một chương trình có giao diện với một phần cứng cụ thể, ví dụ: nếu tôi tạo một máy ảnh kỹ thuật số cho máy tính, tôi sẽ cần phải làm một trình điều khiển cho nó, các trình điều khiển là chương trình duy nhất có thể kiểm soát đầu vào và đầu ra của máy tính
Câu trả lời đơn giản
Kernel là phần cốt lõi của hệ điều hành. Nó không nhất thiết phải là một hệ điều hành trong chính nó.
Mọi thứ khác được xây dựng xung quanh nó.
Định nghĩa EllabISE
Trong điện toán, 'kernel' 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ó là cầu nối giữa các ứng dụng và xử lý dữ liệu thực tế được thực hiện ở cấp độ phần cứng. Trách nhiệm của kernel bao gồm quản lý tài nguyên của hệ thống (giao tiếp giữa các thành phần phần cứng và phần mềm). Thông thường là một thành phần cơ bản của hệ điều hành, hạt nhân có thể cung cấp lớp trừu tượng ở mức thấp nhất cho các tài nguyên (đặc biệt là bộ xử lý và thiết bị I / O) mà phần mềm ứng dụng phải điều khiển để thực hiện chức năng của nó. Nó thường làm cho các cơ sở này có sẵn cho các quy trình ứng dụng thông qua các cơ chế truyền thông giữa các quá trình và các cuộc gọi hệ thống.
Hạt nhân có thể là hệ điều hành hoặc nó có thể là một phần của hệ điều hành. Trong Linux, kernel được tải và thực thi trước. Sau đó, nó khởi động các bit khác của HĐH (như init) để làm cho hệ thống trở nên hữu ích.
Điều này đặc biệt đúng trong môi trường vi nhân. Nhân có chức năng tối thiểu. Mọi thứ khác, như hệ thống tệp và TCP / IP, chạy như một quy trình người dùng.
ruby -e "puts Kernel.methods"
và bạn sẽ thấy nhiều phương thức được xác định.