Bộ xử lý thực thi các chương trình ở Chế độ người dùng hoặc Chế độ hạt nhân. Và khi bạn sử dụng PC, bộ xử lý của bạn thường xuyên chuyển đổi giữa hai loại tùy thuộc vào công việc của nó. Nhưng Chế độ người dùng và Chế độ hạt nhân là gì, và sự khác biệt giữa hai chế độ này là gì?
Hãy xem các chế độ này là gì và tại sao CPU cần chuyển đổi giữa các chế độ này.
"Chế độ Người dùng" trong Windows là gì?
Tín dụng hình ảnh: Hertzsprung / Creative Commons
Khi bạn khởi động một chương trình trên Windows, chương trình đó sẽ khởi chạy ở Chế độ người dùng. Bất cứ khi nào một chương trình ở chế độ người dùng muốn chạy, Windows sẽ tạo ra một quy trình cho nó. Quy trình chỉ là một chương trình mà một bộ xử lý đang thực thi hoặc một chương trình mà Windows đã lên lịch để thực thi. Và bất cứ khi nào Windows tạo một quy trình, nó cũng tạo ra một không gian địa chỉ ảo cho quy trình đó.
Một không gian địa chỉ ảo là bộ sưu tập của logic (phi vật chất) địa chỉ rằng Windows chuyển nhượng với một quá trình. Các tiến trình có thể sử dụng các địa chỉ này để lưu trữ dữ liệu trên bộ nhớ vật lý.
Ngoài ra, không gian địa chỉ ảo bị cô lập. Vì vậy, không gian địa chỉ ảo của một quy trình không can thiệp vào không gian địa chỉ của quy trình khác. Và bởi vì các chương trình ở chế độ người dùng có không gian địa chỉ riêng biệt, nếu một chương trình bị lỗi, nó sẽ bị sập một mình và không làm hỏng các chương trình khác hoặc toàn bộ hệ điều hành với nó.
Liên quan: Mẹo giúp bạn khắc phục lỗi màn hình xanh Windows 10
Một cách khác để mô tả các ứng dụng ở chế độ người dùng là sử dụng thuật ngữ “ít đặc quyền”. Windows hạn chế các ứng dụng ở chế độ người dùng truy cập trực tiếp vào các tài nguyên hệ thống quan trọng, do đó làm cho chúng ít đặc quyền hơn. Ví dụ, nếu một ứng dụng muốn truy cập vào phần cứng, nó phải thông qua nhân hệ điều hành bằng cách sử dụng các lệnh gọi hệ thống.
Nói một cách đơn giản, các chương trình ứng dụng như trò chơi điện tử chạy ở chế độ người dùng. Họ có ít đặc quyền hơn, vì vậy không có quyền truy cập không hạn chế vào tài nguyên hệ thống. Mỗi ứng dụng chế độ người dùng có không gian địa chỉ riêng. Ứng dụng không thể thay đổi không gian địa chỉ của ứng dụng khác. Do đó, nếu một ứng dụng bị treo, nó không ảnh hưởng đến các chương trình khác đang chạy trên máy tính.
Liên quan: Dấu hiệu cảnh báo Máy tính của bạn sắp gặp sự cố (Và phải làm gì)
"Chế độ nhân" trong Windows là gì?
Tín dụng hình ảnh: Bobbo / Wikimedia Commonms
Trước khi thảo luận về chế độ Kernel, trước tiên chúng ta phải biết "kernel" là gì và nó hoạt động như thế nào với Windows.
Kernel là bộ não của một hệ điều hành. Nó là thành phần phần mềm cốt lõi mà tất cả các thành phần khác bên trong HĐH đều dựa vào. Kernel quản lý phần cứng máy tính, lập lịch trình chạy trên máy tính và khi nào cũng như xử lý các tương tác giữa phần cứng và phần mềm ứng dụng.
Tóm lại, hạt nhân là đoạn mã đặc quyền nhất chạy trên hệ thống. Đó là bởi vì nó là mã tương tác trực tiếp với phần cứng. Mọi chương trình khác muốn sử dụng tài nguyên phần cứng phải yêu cầu quyền truy cập thông qua hạt nhân.
Khi một chương trình ứng dụng đang chạy trong Chế độ Người dùng và muốn truy cập vào phần cứng như webcam, chương trình đó phải yêu cầu hạt nhân bằng cách sử dụng lệnh gọi hệ thống. Để phục vụ các yêu cầu này, CPU, tại thời điểm thực thi chương trình, sẽ chuyển từ Chế độ người dùng sang Chế độ hạt nhân.
Sau khi quá trình thực thi hoàn tất, CPU sẽ chuyển trở lại Chế độ người dùng và bắt đầu thực hiện quá trình đã lên lịch tiếp theo. Đây được gọi là “Chuyển đổi ngữ cảnh”.
Sự khác biệt giữa Chế độ người dùng và Chế độ hạt nhân là gì?
Sự khác biệt chính giữa Chế độ người dùng và Chế độ hạt nhân là mức độ đặc quyền mà mỗi chế độ cung cấp. Trong Chế độ người dùng, các ứng dụng có ít đặc quyền hơn. Họ không có quyền truy cập trực tiếp vào tài nguyên phần cứng và cũng không thể ghi vào không gian địa chỉ của các ứng dụng khác.
Liên quan: Cách sử dụng Trình quản lý thiết bị để khắc phục sự cố Windows 10
Mã chạy trong Chế độ hạt nhân có các đặc quyền nâng cao. Nó không chỉ có quyền truy cập trực tiếp vào phần cứng máy tính mà tất cả các chương trình đang chạy ở Chế độ hạt nhân, bao gồm cả hệ điều hành, cũng chia sẻ một không gian địa chỉ. Vì vậy, nếu một chương trình ở Chế độ hạt nhân gặp sự cố , nó có thể khiến toàn bộ hệ điều hành bị hỏng. Để đảm bảo không xảy ra sự cố như vậy, Windows chỉ cho phép một số quy trình chạy ở Chế độ hạt nhân.
Windows áp dụng phương pháp tiếp cận theo lớp để tách các chương trình người dùng khỏi tài nguyên hệ thống
Windows sử dụng mô hình phân lớp để xác định mức độ đặc quyền của các quy trình. Các ứng dụng nằm ở lớp ngoài cùng là những ứng dụng có đặc quyền cho thuê. Cốt lõi của các lớp này là nhân. Do đó, hạt nhân có quyền truy cập không giới hạn vào tài nguyên hệ điều hành.
Phương pháp phân lớp cũng bảo vệ chức năng quan trọng của hệ điều hành. Khi các chương trình ở lớp trên gặp sự cố ngẫu nhiên, nó không ảnh hưởng đến hệ điều hành. Mặt khác, khi hạt nhân gặp sự cố, toàn bộ hệ điều hành sẽ bị hỏng.