Không gian người dùngMột hệ điều hành máy tính hiện đại thường tách biệt bộ nhớ ảo thành kernel space và user space.[a] Chủ yếu, sự tách biệt này nhằm cung cấp bảo vệ bộ nhớ và phần cứng khỏi các hành vi phần mềm độc hại hoặc sai lầm. được dành riêng để chạy kernel hệ điều hành đặc quyền, phần mở rộng kernel và hầu hết các trình điều khiển thiết bị. Ngược lại, user space là vùng nhớ nơi phần mềm ứng dụng và một số trình điều khiển thực thi. Tổng quanThuật ngữ userland (hay user space hoặc không gian người dùng)đề cập đến tất cả các mã chạy bên ngoài kernel của hệ điều hành.[1] Userland thường đề cập đến các chương trình và thư viện khác nhau mà hệ điều hành sử dụng để tương tác với kernel: phần mềm thực hiện đầu vào/đầu ra, thao tác với các đối tượng hệ thống file, phần mềm ứng dụng, v.v. Mỗi tiến trình user space thường chạy trong không gian bộ nhớ ảo của riêng mình và, trừ khi được cho phép rõ ràng, không thể truy cập vào bộ nhớ của các tiến trình khác. Đây là cơ sở để bảo vệ bộ nhớ trong các hệ điều hành chính hiện nay và một block được xây dựng để phân tách đặc quyền. Một chế độ người dùng riêng biệt cũng có thể được sử dụng để xây dựng các máy ảo hiệu quả - xem các yêu cầu ảo hóa Popek và Goldberg. Với đủ đặc quyền, các quy trình có thể yêu cầu kernel ánh xạ một phần không gian bộ nhớ của quy trình khác sang chính nó, như trường hợp của trình gỡ lỗi. Các chương trình cũng có thể yêu cầu các vùng bộ nhớ dùng chung với các quy trình khác, mặc dù các kỹ thuật khác cũng có sẵn để cho phép giao tiếp giữa các tiến trình.
Thể hiệnCách phổ biến nhất để thực hiện chế độ người dùng tách biệt với chế độ kernel liên quan đến các vòng bảo vệ hệ điều hành. Một cách tiếp cận khác được thực hiện trong các hệ điều hành thử nghiệm là có một không gian địa chỉ duy nhất cho tất cả phần mềm và dựa vào ngữ nghĩa của ngôn ngữ lập trình để đảm bảo rằng bộ nhớ tùy ý không thể được truy cập – các ứng dụng đơn giản không thể có được bất kỳ tham chiếu nào đến các đối tượng mà chúng không được phép truy cập.[2][3] Cách tiếp cận này đã được triển khai trong JXOS, Unununium cũng như dự án nghiên cứu Singularity của Microsoft. Xem thêmGhi chú
Chú thích
Liên kết ngoài
|
Portal di Ensiklopedia Dunia