Kỹ thuật phân đoạn

Một phần của tài liệu GIÁO TRÌNH HỆ ĐIỀU HÀNH ĐẦY ĐỦ NHẤT (Trang 59 - 62)

Chương 5 BỘ NHỚ ẢO

5.3 Kỹ thuật phân đoạn

5.3.1 Phân đoạn và cơ chế chuyển đổi địa chỉ

Các phân đoạn là những phần bộ nhớ cĩ kích thước khác nhau và cĩ liên hệ lơ gíc với nhau. Cũng như tổ chức khối mỗi đoạn cĩ một số hiệu và độ dài. Địa chỉ đoạn gồm 2 thành phần v=(s,d) trong đĩ s số hiệu đoạn d là độ dời bắt đầu từ đoạn đĩ .

Cơ chế chuyển đổi địa chỉ ảo thành địa chỉ thực giống như ở phần chuyển đổi địa chỉ khối. Sự chuyển đổi địa chỉ này được thực hiện qua một bảng phân đoạn. Mỗi thành phần trong bảng phân đoạn bao gồm một thanh ghi nền Rs và một thanh

ghi giới hạn. Thanh ghi nền lưu trữ địa chỉ vật lý nơi bắt đầu phân đoạn trong bộ

trong chương trình biến động, nên cần sử dụng thêm một thanh ghi đặc tả kích thước bảng phân đoạn.

Mỗi phần tử trong bảng phân đoạn cĩ thơng tin sau :

- Bit r cho biết đã nạp vào bộ nhớ hay chưa ( r=0: chưa nạp, r=1 nạp)

- Địa chỉ a địa chỉ thứ cấp nếu đoạn trong ở trong bộ nhớ

- Độ dài l : cho biết kích thước đoạn

- Các bít bảo vệ : R (đọc), W (viết), E (thực thi), A (bổ sung) ( trong đĩ : 1: cĩ ; 0: khơng)

- Địa chỉ s’ là địa chỉ bắt đầu của đoạn nếu trong bộ nhớ. r a l R W E A s’

Để truy nhập dữ liệu theo 2 bước như sau:

Bước 1: hệ thống lấy nội dung của thanh ghi nền Rs cộng với s để được phần

tử trong bảng phân đoạn SCB (segment control block). Nếu r=0 thì nạp đoạn vào bộ nhớ, xin cấp phát một khối nhớ cĩ độ lớn là l. Nếu khơng tìm được hệ thống sẽ báo lỗi và ngưng thực hiện , nếu r=1 thì thực hiện bước tiếp theo.

Bước 2: hệ thống lấy nội dung của phần tử thứ (Rs+ s) trên trường địa chỉ A

cĩ là s’ cộng với d và truy nhập theo địa chỉ này.

Nhận xét:

- Sơ đồ phân đoạn khơng địi hỏi cơng cụ đặc biệt, do áp dụng trên mọi hệ thống.

- Dễ dàng mở rộng segment , thay đổi chương trình khơng cần link hay load lại.

- Cho phép chia sẻ và bảo vệ các tiến trình.

- Hiệu quả sử dụng phụ thuộc vào cấu trúc chương trình của người sử dụng. Sau một thời gian sử dụng bộ nhớ sẽ bị phân mảnh cần phải tổ chức lại bộ nhớ.

5.3.2 Cơ chế bảo vệ và chia sẻ trong hệ thống phân trang

Do phải đặc tả thuộc tính bảo vệ và chia sẻ của mỗi đoạn. Cơ chế phần cứng phụ trách việc chuyển đổi địa chỉ bộ nhớ sẽ kiểm tra các bit bảo vệ được gán mỗi phần tử trong bảng để ngăn chặn truy xuất bất hợp lệ đến phân đoạn tương ứng. Cĩ 3 quyền bảo vệ : Read ( đọc), Write ( viết), Excute (thực thi).

Mức độ bảo vệ từng phân đoạn như sau

Mode ( Kiểu) Read Write Exec

0. Security N N N

1. Copy prevention N N Y

2. Data protection Y N N

3. Data protection Y N Y

5. Full right Y Y Y

Nhờ khả năng chia sẻ mức phân đoạn, các tiến trình cĩ thể chia sẻ qua từng phần, khơng nhất thiết phải chia sẻ tồn bộ chương trình như trường hợp phân trang. Mỗi tiến trình cĩ 1 bảng phân đoạn riêng, mỗi phân đoạn được chia sẻ khi các phần tử trong bảng phân đoạn của 2 tiến trình khác nhau cùng chỉ đến một địa chỉ vật lý duy nhất.

5.3.3 Phân đoạn kết hợp với phân trang

Sơ đồ phân trang đảm bảo hiệu quả sử dụng bộ nhớ khơng phụ thuộc vào cấu trúc chương trình. Nhưng chương trình lớn thì bảng quản lý trang lớn theo. Sơ đồ phân đoạn linh hoạt hơn về độ dài nhưng phức tạp về việc cấp phát bộ nhớ.

Để phát huy tính ưu việt của phân trang và hạn chế phân đoạn, người ta kết hợp phân trang và phân đoạn. Do đĩ, khơng gian địa chỉ coi như là một tập các phân đoạn, mỗi phân đoạn được chia thành nhiều trang. Khi một tiến trình đưa vào hệ thống, hệ điều hành sẽ cấp phát cho các tiến trình các trang cần thiết để chứa đủ phân đoạn của tiến trình.

Cũng như các cơ chế ánh xạ địa chỉ khác, cần phải cĩ một bảng phân đoạn

chung. Mỗi phân đoạn cĩ một bảng phân trang phân biệt.

Mỗi địa chỉ lơgíc gồm 3 thành phần :v=(s,p,d)

- s : số hiệu phân đoạn sử dụng như chỉ mục đến phần tử tương ứng trong bảng phân đoạn.

- p: số hiệu trang sử dụng như chỉ mục đến phân tử tương ứng trong bảng phân đoạn.

- d: địa chỉ tương đối trong trang. Cĩ 2 phương pháp để ánh xạ địa chỉ :

Cách 1 : cặp (s,p) sẽ xác định tương ứng một trang thực là là p’. Cĩ thể dùng ánh xạ kết hợp để thực hiện nhanh điều này.

Cách 2: ánh xạ chuyển s thành s’ ( đoạn thực). Từ cặp (s’,p) chuyển thành một trang thực là p’.

Phối hợp phân trang và phân đoạn Địa chỉ thực r=p’+d p' p' s Độ lệchd Số hiệu đoạn d Địa chỉ ảo v=(s,p,d) b+s Địa chỉ b của bảng phân đoạn Thanh ghi nền bảng phân đoạn Số hiệu trang p s + s p p' + s b s' s' p p p +s’ s' Bảng trang cho đoạn s Bảng đoạn cho tiến trình Thử try cập lần đầu Dùng ánh xạ kết hợp Chỉ thực hiện nếu khơng

tìm thấy trong bảng kết hợp

Một phần của tài liệu GIÁO TRÌNH HỆ ĐIỀU HÀNH ĐẦY ĐỦ NHẤT (Trang 59 - 62)