Chương VI Kiến trúc bộ nhớ
2. Vấn đề quản lý bộ nhớ
2.2. Chế độ bảo vệ (Protected Mode) và quản lý bộ nhớ trong chế độ bảo vệ
2.2.1. Các mức đặc quyền và luật về quyền truy nhập
Trong chế độ bảo vệ thì mỗi đoạn nhớ được gắn một mức đặc quyền và được bảo vệ nhờ cơ chế về quyền truy nhập.
Các mức đặc quyền được thiết kế để hỗ trợ hoạt động của hệ điều hành đa nhiệm nhằm :
Cách ly và bảo vệ hệ điều hành khỏi các truy nhập trái phép của
chương trình ứng dụng.
Cách ly và bảo vệ chương trình ứng dụng này khỏi sự truy nhập trái phép của chương trình ứng dụng khác.
Dựa vào mức đặc quyền và luật về quyền truy nhập mà CPU sẽ quyết định cho phép hay không cho phép truy nhập đoạn nhớ yêu cầu.
Các mức đặc quyền (ký hiệu là PL – Privilege Level) nằm trong một hệ thống các mức đặc quyền đặc quyền có 4 cấp:
Đặc quyền mức PL = 0, mức đặc quyền cao nhất: các chương trình
quản lý thiết bị và quản lý bộ nhớ có mức đặc quyền PL = 0 .
Đặc quyền mức PL = 1: các chương trình thiết lập mức ưu tiên giữa các nhiệm vụ, chương trình hoán đổi dữ liệu giữa các bộ nhớ chính và bộ nhớ thứ cấp (đĩa từ), chương trình quản lý các cổng vào/ra và các dịch vụ hệ thống khác có mức đặc quyền PL = 1.
Đặc quyền mức PL = 2: các chương trình quản lý tệp, thư mục và
các chức năng mở rộng của hệ điều hành có mức đặc quyền PL = 2.
Đặc quyền mức PL = 3, mức thấp nhất: các chương trình ứng dụng
có mức đặc quyền PL = 3.
Các luật về quyền truy nhập: luật về quyền truy nhập xác định quy tắc truy nhập đoạn nhớ .
Luật 1:
Dữ liệu được lưu trữ trong đoạn nhớ có mức đặc quyền PL = P chỉ có
thể bị truy nhập bởi mã lệnh có mức đặc quyền bằng hoặc cao hơn P (CPL
DPL, CPL là mức đặc quyền của nhiệm vụ đang thực hiện, DPL là mức đặc quyền của đoạn dữ liệu bị truy nhập).
Luật 2:
Đoạn mã lệnh có mức đặc quyền PL = P có thể bị gọi hoặc truy nhập bởi nhiệm vụ có mức đặc quyền bằng hoặc thấp hơn P. Đoạn mã lệnh có mức đặc quyền thấp có thể gọi hoặc truy nhập đoạn mã lệnh có mức đặc
Nguyễn Trung Đồng – Tel 0983 410 866
nhiệm vụ đang thực hiện, DPL là mức đặc quyền của đoạn mã lệnh bị truy nhập).
Theo các luật về quyền truy nhập thì chương trình đang thực hiện có thể truy nhập tự do vào các đoạn mã lệnh và đoạn dữ liệu có cùng mức đặc quyền. Một chương trình có thể truy nhập và một đoạn dữ liệu có mức đặc quyền thấp hơn, nhưng nếu truy nhập hoặc gọi đoạn mã lệnh có mức đặc quyền cao hơn thì phải thông qua cổng gọi.