Hệ điều hành vs Kernel
Đối với hầu hết mọi người, sử dụng máy tính là bản chất thứ hai. Điều này được thực hiện bởi hệ điều hành đang chạy trên máy tính và phần cứng và giúp nó có thể giao tiếp với nó mà không phải sử dụng ngôn ngữ máy hoặc nhị phân. Hệ điều hành cung cấp cho chúng ta một giao diện, cho dù là đồ họa hay văn bản, nơi chúng ta có thể xem kết quả của các lệnh chúng ta nhập. Nó cũng cung cấp cho chúng tôi một loạt các công cụ để cấu hình máy tính theo ý thích của chúng tôi, ở mức tối thiểu. Nhưng tất cả điều này sẽ không thể thực hiện được nếu không có kernel. Nhân là lõi của hệ điều hành và nó chịu trách nhiệm dịch các lệnh thành thứ gì đó có thể hiểu được bằng máy tính.
Khía cạnh mà rất nhiều lập trình viên thích về kernel nằm ở sự trừu tượng hóa. Sự trừu tượng hóa phần cứng cho phép các lập trình viên viết mã có thể hoạt động trên một loạt các phần cứng. Nếu không có sự trừu tượng hóa phần cứng, mỗi chương trình cần được viết riêng cho một cấu hình phần cứng nhất định và có thể sẽ không hoạt động trong một chương trình khác. Đây là trường hợp với trình điều khiển thiết bị. Đây là những đoạn mã cụ thể xác định phần cứng và cung cấp cho hệ điều hành một phương tiện để giao tiếp với thiết bị.
Mặc dù kernel là cốt lõi của hệ điều hành, hầu hết mọi người thậm chí không nhận thức được sự tồn tại của nó vì nó bị chôn vùi đằng sau rất nhiều phần mềm khác. Để cung cấp toàn bộ gói cho phép mọi người sử dụng máy tính của họ, một hệ điều hành bao gồm phần mềm bao gồm rất nhiều cách sử dụng phổ biến của máy tính. Điều này bao gồm một ứng dụng xử lý văn bản đơn giản và một trình phát đa phương tiện trong số những thứ khác.
Các ứng dụng được tạo cho các ứng dụng cụ thể vì nó cần tương tác với kernel của nó để giao tiếp với phần cứng bên dưới nó. Vì mỗi kernel là khác nhau, các ứng dụng cho một hệ điều hành không thể thực thi trên các kernel khác. Một số ứng dụng cũng không có khả năng thực thi trong các phiên bản cũ hơn hoặc mới hơn của cùng một hệ điều hành do những thay đổi được triển khai.
Tóm lược:
1. Hệ điều hành là gói phần mềm giao tiếp trực tiếp với phần cứng máy tính và tất cả các ứng dụng của bạn chạy trên nó trong khi kernel là một phần của hệ điều hành giao tiếp trực tiếp với phần cứng
2. Mặc dù mỗi hệ điều hành có một kernel, nhưng điều này bị chôn vùi đằng sau rất nhiều phần mềm khác và hầu hết người dùng thậm chí không biết nó tồn tại