Tại sao phải ủổ i trang

Một phần của tài liệu Bài giảng Hệ Điều Hành_HVCNBCVT_PGS.TS Từ Minh Phương (Trang 91 - 93)

Khi xẩy ra thiếu trang, hệủiều hành tỡm một khung trống trong bộ nhớ, ủọc trang thiếu vào khung và tiến trỡnh sau ủú hoạt ủộng bỡnh thường. Tuy nhiờn, do kớch thước của cỏc tiến trỡnh cú thể lớn hơn kớch thước bộ nhớ thực rất nhiều nờn tới một lỳc nào ủú sẽ xảy ra tỡnh

trạng toàn bộ bộ nhớủó ủược cấp phỏt, hệ ủiều hành khụng thể tỡm ủược khung trống ủể tải trang mới vào.

Cỏch giải quyết ủơn giản nhất trong trường hợp ủú là hệủiều hành kết thỳc tiến trỡnh do khụng thoả món ủược nhu cầu bộ nhớ. Nhưng, như ta ủó biết, mục ủớch của bộ nhớảo là cho phộp cỏc tiến trỡnh sử dụng ủược khụng gian nhớ lớn hơn khụng gian nhớ thực và tăng tớnh ủa chương trỡnh của hệ thống. Tiến trỡnh và người dựng cần ủược ủỏp ứng nhu cầu về bộ nhớ.

Cỏch giải quyết thứ hai là tạm trao ủổi tiến trỡnh ra ủĩa, giải phúng toàn bộ khụng gian mà tiến trỡnh chiếm trong bộ nhớ và chờ tới khi thuận lợi (nhiều bộ nhớ trống hơn) mới nạp lại tiến trỡnh vào bộ nhớ ủể thực hiện tiếp. Cỏch giải quyết này là cần thiết trong một số

trường hợp.

Cỏch giải quyết thứ ba ủược ỏp dụng trong ủa số trường hợp. đú là sử dụng kỹ thuật ủổi trang.

Thao tỏc ủổi trang

Bản chất của việc ủổi trang như sau. Nếu khụng cú khung nào trống, hệủiều hành chọn một khung ủó cấp phỏt nhưng hiện giờ khụng dựng tới và giải phúng khung trang này. Nội dung của khung ủược trao ủổi ra ủĩa, trang nhớ chứa trong khung sẽủược ủỏnh dấu khụng cũn nằm trong bộ nhớ (bằng cỏch thay ủổi bit P tương ứng) trong bảng phõn trang cú chứa trang này. Khung ủó ủược giải phúng ủược cấp phỏt cho trang mới cần nạp vào.

Cụ thể, quỏ trỡnh ủổi trang diễn ra qua một số bước sau: Bước 1: Xỏc ủịnh trang cần nạp vào trờn ủĩa

Bước 2: Nếu cú khung trống trống thỡ chuyển sang bước 4. Bước 3:

a) Lựa chọn một khung ủể giải phúng. Khung ủược lựa chọn theo một thuật toỏn hay chiến lược ủổi trang nào ủú.

b) Ghi nội dung khung bị ủổi ra ủĩa (nếu cần); cập nhật bảng trang và bảng khung.

Bước 4: đọc trang cần nạp vào khung vừa giải phúng; cập nhật bảng trang và bảng khung ủể thể hiện thay ủổi này.

Bước 5: Thực hiện tiếp tiến trỡnh từủiểm bị dừng trước khi ủổi trang.

đổi trang cú ghi và ủổi trang khụng ghi. Nếu nhu cầu ủổi trang xuất hiện khi nạp trang mới, thời gian nạp trang sẽ tăng ủỏng kể do xuất hiện thờm nhu cầu ghi trang bịủổi ra

ủĩa. để giảm thời gian này, cỏc trang nhớ cú nội dung khụng thay ủổi từ lỳc nạp vào ủược hệ ủiều hành nhận biết và khụng ghi ngược ra ủĩa. Việc nhận biết ủược thực hiện bằng cỏch sử

dụng một bit trong khoản mục của trang gọi là bit sửa ủổi (ta sẽ ký hiệu là bit M). Mỗi khi cú một byte hay từ của trang bị sửa ủổi, bit này sẽủược xỏc lập bằng 1. Một trang nhớ cú bit sửa

ủổi bằng 1 sẽủược ghi ra ủĩa khi ủổi trang.

Cỏc khung bị khoỏ: Khi tỡm cỏc khung ủể giải phúng và ủổi trang, hệủiều hành sẽ trừ

khụng bao giờ bịủổi ra ủĩa. đú thường là cỏc khung chứa trang nhớ thuộc cỏc tiến trỡnh nhõn của hệ ủiều hành hoặc chứa những cấu trỳc thụng tin ủiều khiển quan trọng. Cỏc khung bị

khoỏ ủược nhận biết bởi một bit riờng chứa trong bảng khung.

Một phần của tài liệu Bài giảng Hệ Điều Hành_HVCNBCVT_PGS.TS Từ Minh Phương (Trang 91 - 93)

Tải bản đầy đủ (PDF)

(140 trang)