Mọi hệ điều hành - cho dù đó là Windows, Mac, Linux hay Android, đều có một chương trình cốt lõi được gọi là Kernel đóng vai trò là 'ông chủ' cho cả hệ thống. Nó là trái tim của hệ điều hành! Kernel không là gì ngoài một chương trình máy tính điều khiển mọi thứ khác. Bất cứ điều gì xảy ra trên máy tính đều trải qua nó. Trong bài đăng này, chúng ta sẽ thảo luận về Kernel trong một hệ điều hành và các loại Kernel khác nhau.
Kernel trong OS là gì
Bây giờ chúng ta biết rằng nó là chương trình cốt lõi trong HĐH, người ta cũng nên biết nó cũng là chương trình đầu tiên tải sau bộ nạp khởi động. Sau đó, nó thực hiện tất cả các cuộc nói chuyện giữa phần cứng và phần mềm hoặc ứng dụng. Vì vậy, nếu bạn khởi chạy một chương trình, giao diện người dùng sẽ gửi một yêu cầu đến Kernel. Sau đó, Kernel sẽ gửi một yêu cầu tới CPU, Bộ nhớ để gán sức mạnh xử lý, bộ nhớ và những thứ khác để ứng dụng có thể chạy trơn tru trong giao diện người dùng.
Bạn có thể hình dung Kernel như một trình phiên dịch. Nó chuyển đổi các yêu cầu đầu vào / đầu ra từ phần mềm thành một tập lệnh cho CPU và GPU. Nói một cách đơn giản, nó là lớp giữa phần mềm và phần cứng giúp mọi thứ trở nên khả thi. Kernel quản lý những điều sau:
- CPU / GPU
- Bộ nhớ
- Thiết bị đầu vào / đầu ra hoặc IO
- Quản lý tài nguyên
- Quản lý bộ nhớ
- Quản lý thiết bị
- Cuộc gọi hệ thống.
Các tiến trình của người dùng chỉ có thể truy cập không gian hạt nhân thông qua việc sử dụng các lệnh gọi hệ thống. Nếu một chương trình cố gắng truy cập trực tiếp, nó sẽ dẫn đến lỗi.
Đọc :Sự khác biệt giữa Chế độ nhân và Chế độ người dùng.
Bảo mật và bảo vệ hạt nhân
Kernel cũng bảo vệ phần cứng. Nếu không có biện pháp bảo vệ, bất kỳ chương trình nào cũng có thể thực hiện bất kỳ tác vụ nào trên máy tính, bao gồm cả việc làm hỏng máy tính của bạn, làm hỏng dữ liệu, v.v.
Trong các máy tính hiện đại, bảo mật được thực hiện ở cấp độ phần cứng. Ví dụ:Windows sẽ không tải các trình điều khiển không phải từ một nguồn đáng tin cậy và được chứng nhận bằng chữ ký. Khởi động an toàn và Khởi động tin cậy là những ví dụ cổ điển.
Khởi động an toàn: Nó là một tiêu chuẩn bảo mật được phát triển bởi các thành viên của ngành công nghiệp PC. Nó giúp bạn bảo vệ hệ thống của mình khỏi các chương trình độc hại bằng cách không cho phép bất kỳ ứng dụng trái phép nào chạy trong quá trình khởi động hệ thống. Tính năng này đảm bảo rằng PC của bạn chỉ khởi động bằng phần mềm được nhà sản xuất PC tin cậy. Vì vậy, bất cứ khi nào PC của bạn khởi động, phần sụn sẽ kiểm tra chữ ký của từng phần mềm khởi động, bao gồm cả trình điều khiển phần sụn (ROM tùy chọn) và hệ điều hành. Nếu các chữ ký được xác minh, PC sẽ khởi động và chương trình cơ sở sẽ cung cấp quyền kiểm soát cho hệ điều hành.
Khởi động đáng tin cậy: Nó sử dụng Mô-đun nền tảng đáng tin cậy ảo (VTPM) để xác minh chữ ký số của nhân Windows 10 trước khi tải nó. Đổi lại, nó xác nhận mọi thành phần khác của quá trình khởi động Windows, bao gồm trình điều khiển khởi động, tệp khởi động và ELAM. Nếu một tệp đã bị thay đổi hoặc thay đổi ở bất kỳ mức độ nào, bộ nạp khởi động sẽ phát hiện nó và từ chối tải nó bằng cách nhận biết nó là thành phần bị hỏng. Nói tóm lại, nó cung cấp một chuỗi tin cậy cho tất cả các phần tử trong quá trình khởi động.
Các loại Kernel là gì
Kernel cũng có thể nói chuyện với phần cứng trên một đường dây an toàn. Vì vậy, các công ty có thể phát triển một Kernel có thể nói chuyện với phần cứng của họ thông qua một tập hợp các nút. Lấy máy giặt làm ví dụ. Tùy thuộc vào các nút bạn di chuyển và thời gian bạn đặt - mức độ cơ bản của Kernel là đủ. Điều đó nói lên rằng, bản thân Kernel phát triển phức tạp theo thời gian, dẫn đến các loại Kernel.
- Nhân nguyên khối: Ở đây, cả HĐH và Kernel đều chạy trong cùng một không gian bộ nhớ và phù hợp khi bảo mật không phải là mối quan tâm đáng kể. Điều này giúp truy cập nhanh hơn, nhưng nếu có lỗi trong trình điều khiển thiết bị, toàn bộ hệ thống sẽ bị treo.
- Kênh nhỏ: Đây là một phiên bản rút gọn của Nhân nguyên khối, trong đó bản thân Nhân có thể thực hiện hầu hết các công việc được thực hiện và không cần thêm GUI. Chúng nên được sử dụng khi bảo mật và hệ thống không xảy ra sự cố hoặc sẽ không xảy ra.
- Nhân kết hợp: Kernel này là thứ chúng ta thấy nhiều nhất. Windows, macOS của Apple. Chúng là sự kết hợp của Nhân nguyên khối và Microkernel. Nó di chuyển trình điều khiển nhưng giữ các dịch vụ hệ thống bên trong Kernel - tương tự như cách trình điều khiển được tải khi Windows bắt đầu quá trình khởi động.
- Nhân nano: Nếu bạn cần có một hạt nhân, nhưng phần lớn chức năng của nó được thiết lập bên ngoài, thì điều này sẽ xuất hiện.
- Nhân Exo: Kernel này chỉ cung cấp khả năng bảo vệ quy trình và xử lý tài nguyên. Tuy nhiên, nó chủ yếu được sử dụng khi bạn đang thử nghiệm một dự án nội bộ và bạn nâng cấp lên loại Kernel tốt hơn.
Còn rất nhiều thứ đối với Kernel hơn những gì chúng ta đã nói. Khi bạn tìm hiểu sâu hơn, định nghĩa về Kernel sẽ rộng hơn và sâu sắc hơn.
Chúng tôi hy vọng bài đăng dễ hiểu và giúp bạn hiểu cơ bản.
Đọc tiếp theo :Bản đồ tương tác của Nhân Linux.