Kỹ thuật phân trang

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

5.2.1 Khái niệm

- Phân bộ nhớ vật lý thành các khối cĩ kích thước cố định và bằng nhau, gọi là khung trang. Các trang trong IBM/PC và tương thích cĩ kích thước là 4096 byte. - Tương ứng trong khơng gian địa chỉ ảo cũng chia các khối nhớ cĩ kích thước như kích thước của trang vật lý.

- Khi cần nạp một tiến trình để xử lý, CPU sẽ phát ra một địa chỉ ảo v=(b,d), trong đĩ b là số hiệu trang và d là độ lệch của trang.

- Cơ chế phần cứng để hỗ trợ trang là bảng trang. Mỗi bảng trang cho biết các địa chỉ bắt đầu của vị trí lưu trữ trang tương ứng trong bộ nhớ vật lý. Mỗi phần tử trong bảng trang cho chúng ta biết các thơng tin sau :

- Present bit: cho biết trang cĩ được ánh xạ vào trong bộ nhớ thực hay khơng.

- Secondary strorage address: địa chỉ của trang trên bộ nhớ thứ cấp nếu trang khơng nằm trên bộ nhớ thực.

- Pageframe number: trang trên bộ nhớ thực tương ứng. Cĩ thể cài đặt bảng phân trang theo các cách sau

5.2.2 Aùnh xạ trực tiếp

Trong trường hợp đơn giản, bảng trang là một tập các thanh ghi được sử dụng để cài đặt bảng trang nếu bảng trang cĩ kích thước nhỏ. Nếu bảng trang cĩ kích thước thì lưu trữ trong bộ nhớ chính và sử dụng một thanh ghi nền để xác định địa chỉ bắt đầu của bảng trang.

Việc ánh xạ vào bộ nhớ thực được thực hiện như sau :

CPU phát ra một địa chỉ ảo v=(p,d). Hệ thống MMU sẽ tìm kiếm trên bảng trang tương ứng để xác định số hiệu trang thực để ánh xạ lên bộ nhớ chính trên bảng trang với 1 thành phần là p’. Cùng với độ lệch của của địa chỉ ảo xác định địa chỉ thực là: r = (p’,d).

b b Thanh ghi chuẩn xác định trang nền thực hiện Bảng quản lý địa chỉ trang p b Cơ chế dùng ánh xạ trực tiếp Địa chỉ thực p' p' p + p d d b+p Độ lệch Số hiệu trang d

Theo cách tổ chức này việc truy xuất dữ liệu phải thơng qua việc truy cập bộ nhớ để tìm bảng trang và địa chỉ dữ liệu.

5.2.3 Aùnh xạ kết hợp

Để cải thiện tình hình truy xuất dữ liệu và bảng trang khơng quá 2 lần . Bảng trang được thiết kế ngay trên bộ nhớ kết hợp (cache). Việc truy cập một thành phần bảng trang trên bộ nhớ kết hợp được xác định tìm kiếm theo mảng rất nhanh . Kiểu thiết kế này hồn tồn nhờ cơ chế phần cứng nên khĩ khả thi vì rất đắt. Chỉ áp dụng trong các hệ thống máy chủ. Do đĩ, người ta thường kết hợp theo 2 kiểu ánh xạ trên.

5.2.3 Phối hợp giữa ánh xạ trực tiếp và ánh xạ kết hợp.

Trong thực tế người ta sử dụng cơ chế ánh xạ kết hợp và trực tiếp , bằng cách sử dụng thêm một vùng nhớ đặc biệt (cache), với tốc độ nhanh cho phép tìm kiếm song song. Mỗi thanh ghi bộ nhớ kết hợp gồm một từ khố và một giá trị, khi đưa đến bộ nhớ kết hợp một đối tượng cần tìm, đối tượng này sẽ được so sánh

với các từ khố trong bộ nhớ kết hợp để tìm ra phần tử tương ứng.

Bộ nhớ kết hợp được sử dụng để lưu trữ trang bộ nhớ được truy cập gần hiện tại nhất. Khi CPU phát sinh một địa chỉ, số hiệu trang của địa chỉ sẽ so sánh với

Bảng quản lý địa chỉ trang Cơ chế dùng ánh xạ kết hợp Địa chỉ thực p' p' p d d Độ lệch Số hiệu trang d Phối hợp ánh xạ kết hợp và trực tiếp Địa chỉ thực p' p' p d d Độ lệch Số hiệu trang d Địa chỉ ảo p' b+p b

các trang trong bộ nhớ kết hợp, nếu cĩ sẽ xác định ngay số khung trang tương ứng, cịn khơng nĩ tìm kiếm trong bảng trang.

Trong tổ chức bảng trang tuỳ theo hệ điều hành, hệ điều hành cĩ tổ chức theo các bảng trang đa cấp hay bảng trang nghịch đảo.

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

Cơ chế bảo vệ trong hệ thống phân trạng thực hiện với các bit bảo vệ được gắn với khung trang. Việc truy xuất khung trang dựa vào bit bảo vệ này. Ngồi ra cịn cĩ một bit phụ trội thêm vào cấu trúc một phần tử bảng trang : bít hợp lệ – bất hợp lệ.

Số hiệu Bit

khung trang Valid - Invalid

Bit valid = 0 (khơng hợp lệ) trang tương ứng khơng nằm trong khung trang của tiến trình và valid=1 ( hợp lệ ) trang tương ứng nằm trong các khung trang của tiến trình.

Để chia sẻ tài nguyên nĩ thực hiện bằng cách ánh xạ nhiều địa chỉ lơ gíc vào một địa chỉ vật lý duy nhất. Cĩ thể áp dụng kỹ thuật này cho phép các tiến trình chia sẻ một vùng code chung. Để chia sẻ một đoạn code, đoạn code này phải cĩ tính chất reenterable (cho phép một bản sao sử dụng nhiều tác vụ)

Nhận xét

- Kỹ thuật phân trang loại bỏ được hiện tượng phân mảnh ngoại vi. Nhưng hiện tượng nội vi cĩ thể xảy ra khi kích thước của tiến trình khơng đúng bằng kích thước 1 trang.

- Phần cứng đảm bảo chuyển đổi giữa địa chỉ ảo và địa chỉ vật lý là trong suốt.

- Chọn kích thước trang là vừa phải. Nếu kích thước trang quá nhỏ thường phải nạp lại bảng trang và cần phải cĩ việc cải tiến bảng quản lý trang.

- SựÏ phân trang khơng phản ảnh đúng về cảm nhận bộ nhớ, khĩ biên dịch chương trình thành từng vùng để chứa mã và dữ liệu.

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