Tải bản đầy đủ (.pdf) (2 trang)

Miền bảo vệ (domain of protection )

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (103.61 KB, 2 trang )

Miền bảo vệ (Domain of Protection )

Miền bảo vệ (Domain of
Protection )
Bởi:
Giảng viên . Trần Hạnh Nhi

Khái niệm
Một hệ thống máy tính được xem như một tập các đối tượng (objects). Một đối tượng có
thể là một bộ phận phần cứng ( CPU, bộ nhớ, ổ đĩa...) hay một thực thể phần mềm ( tập
tin, chương trình, semaphore...). Mỗi đối tượng có một định danh duy nhất để phân biệt
với các đối tượng khác trong hệ thống, và chỉ được truy xuất đến thông qua các thao tác
được định nghĩa chặt chẽ và được qui định ngữ nghĩa rõ ràng. Các thao tác có thể thực
hiện được trên một đối tượng được xác định cụ thể tùy vào đối tượng.
Để có thể kiểm soát được tình hình sử dụng tài nguyên trong hệ thống, hệ điều hành chỉ
cho phép các tiến trình được truy xuất đến các tài nguyên mà nó có quyền sử dụng, hơn
nữa tiến trình chỉ được truy xuất đến các tài nguyên cần thiết trong thời điểm hiện tại để
nó hoàn thành tác vụ (nguyên lýneed-to-know) nhăm hạn chế các lỗi truy xuất mà tiến
trình có thể gây ra trong hệ thống.
Mỗi tiến trình trong hệ thống đều hoạt động trong một miền bảo vệ (protection domain)
nào đó. Một miền bảo vệ sẽ xác định các tài nguyên ( đối tượng) mà những tiến trình
hoạt động trong miền bảo vệ này có thể sử dụng, và các thao tác hợp lệ các tiến trình
này có thể thực hiện trên những tài nguyên đó.
Ví dụ : <File F, {read, write}>

Cấu trúc của miền bảo vệ
Các khả năng thao tác trên một đối tượng được gọi là quyền truy xuất (access right).
Một miền bảo vệ là một tập các quyền truy xuất, mỗi quyền truy xuất được định nghĩa
bởi một bộ hai thứ tự <đối tượng, {quyền thao tác} >.
Các miền bảo vệ khác nhau có thể giao nhau một số quyền truy xuất :


1/2


Miền bảo vệ (Domain of Protection )

Hình vẽ 5.1 Hệ thống với 3 miền bảo vệ
Mối liên kết giữa một tiến trình và một miền bảo vệ có thể tĩnh hay động :
Liên kết tĩnh : trong suốt thời gian sống của tiến trình, tiến trình chỉ hoạt động trong
một miền bảo vệ . Trong trường hợp tiến trình trải qua các giai đoạn xử lý khác nhau,
ở mỗi giai đoạn tiến trình có thể thao tác trên những tập tài nguyên khác nhau bằng các
thao tác khác nhau. Tuy nhiên, nếu sử dụng liên kết tĩnh, rõ ràng là ngay từ đầu miền bảo
vệ đã phải đặc tả tất cả các quyền truy xuất qua các giai đoạn cho tiến trình , điều này có
thể khiến cho tiến trình có dư quyền trong một giai đoạn nào đó, và vi phạm nguyên lý
need-to-know. Để có thể tôn trọng nguyên lý này, khi đó cần phải có khả năng cập nhật
nội dung miền bảo vệ để có thể phản ánh các quyền tối thiểu của tiến trình trong miền
bảo vệ tại một thời điểm!
Liên kết động : cơ chế này cho phép tiến trình chuyển từ miền bảo vệ này sang miền
bảo vệ khác trong suốt thời gian sống của nó. Để tiếp tục tuân theo nguyên lý need-toknow, thay vì sửa đổi nội dung của miền bảo vệ, có thể tạo ra các miền bảo vệ mới với
nội dung thay đổi qua từng giai đoạn xử lý của tiến trình, và chuyển tiến trình sang hoạt
động trong miền bảo vệ phù hợp theo từng thời điểm.
Một miền bảo vệ có thể được xây dựng cho:
Một người sử dụng : trong trường hợp này, tập các đối tượng được phép truy xuất phụ
thuộc vào định danh của người sử dụng, miền bảo vệ được chuyển khi thay đổi người
sử dụng.
Một tiến trình : trong trường hợp này, tập các đối tượng được phép truy xuất phụ thuộc
vào định danh của tiến trình, miền bảo vệ được chuyển khi quyền điều khiển được
chuyển sang tiến trình khác.
Một thủ tục : trong trường hợp này, tập các đối tượng được phép truy xuất là các biến
cục bộ được định nghĩa bên trong thủ tục, miền bảo vệ được chuyển khi thủ tục được
gọi.


2/2



×