Cấp phỏt Frame

Một phần của tài liệu Bao cao mon hoc he dieu hanh (Trang 113 - 115)

CHƢƠNG 7 QUẢN Lí BỘNHỚ

7.2.6 Cấp phỏt Frame

Cần cấp phỏt bao nhiờu bộ nhớ cho cỏc tiến trỡnh khỏc nhau? Trường hợp đơn giản nhất là hệ thống chỉ cú một tiến trỡnh. Xột hệ thống như vậy với kớch thước bộ nhớ vật lý là 64 frame. HĐH chiếm 10 frame, cũn lại 54 frame cho tiến trỡnh ứng dụng. Với phương phỏp phõn trang theo yờu cầu thuần tỳy, 54 frame ban đầu nằm trong danh sỏch frame trống. Khi bắt đầu thi hành, tiến trỡnh ứng dụng cú thề tạo ra một chuỗi lỗi trang, 54 lồi trang đầu tiờn lấy dần cỏc frame trong danh sỏch frame trống. Khi khụng cũn frame trống, hệ thống sử dụng thuật toỏn thay thế trang, chọn 1 trong 54 trang nhớ làm "nạn nhõn" chuyển ra ngoài. Quỏ trỡnh này cứ thế tiếp tục. Khi tiến trỡnh kết thỳc, cỏc frame được đưa trở lại danh sỏch trống, vấn đề nảy sinh khi phõn trang theo yờu cầu kết hợp với đa chương trỡnh. Đa chương trỡnh cho phộp tải nhiều tiến trỡnh vào bộ nhớ cựng một lỳc.

7.2.6.1 Số frame tối thiểu

Khụng thể cấp phỏt nhiều hơn tổng số frame của hệ thống (trừ khi cú

chia sẻ trang). Ngoài ra, tiến trỡnh muốn thực Khi cần cú một lượng tối thiểu frame (tựy thuộc vào kiến trỳc mỏy tớnh). Hiển nhiờn, khi số frame được cấp phỏt cho mỗi tiến trỡnh giảm, thỡ tỷ lệ lỗi trang tăng lờn và làm tiến trỡnh chạy chậm đi.

Nếu lồi trang xảy ra trước khi chỉ thị hoàn thành, chỉ thị phải khởi động lại từ trạng thỏi trước khi bắt đầu thực hiện. Vỡ vậy, hệ thống cần cú đủ frame để lưu giữ tất cả cỏc trang nhớ khỏc nhau mà chi thị tham chiếu lúi. Vớ dụ, xột dũng kiến trỳc mỏy tớnh nào đú mà chỉ thị tham chiếu bộ nhớ chỉ tham chiếu tới một địa chỉ duy nhất. Vỡ thế, cần ớt nhất một frame cho chi thị và một frame cho địa chỉ được tham chiếu. Nếu cho phộp đỏnh địa chỉ giỏn tiếp cấp 1 (vớ dụ: chỉ thị LOAD AX, [17689] ở trang 16 sẽ lấy nội dung ụ nhớ 17689 (giả sử là X) làm địa chỉ, tải nội dung ụ nhớ cú địa chi X vào thanh ghi AX), thỡ tối đa CPU cú thể phải truy xuất tới 3 frame khi thực thi chỉ thị này.

Tỡnh huống xấu nhất là trong kiến trỳc cho phộp địa chỉ cú nhiều cấp độ giỏn tiếp, về mặt lý thuyết, lệnh LOAD thụng thường cú thể tham chiếu đến một địa chỉ giỏn tiếp, địa chỉ này tham chiếu đến một địa chi giỏn tiếp khỏc (ở trang khỏc), và cứ như vậy, cho tới khi mọi trang trong bộ nhớ ảo được tham chiếu hết. Vỡ thế, trong trường hợp xấu nhất, toàn bộ bộ nhớ ào phải nằm trong bộ nhớ vật lý. Để khắc phục điều này, phải đặt một giới hạn cấp độ giỏn tiếp (vớ dụ: giới hạn cấp độ giỏn tiếp tối đa cho một chỉ thị là 16). Khi tham chiếu giỏn tiếp đầu tiờn xuất hiện, con đếm được đặt giỏ trị 16 và giỏ trị con đếm này tự động giảm đi 1 sau mỗi lần tham chiếu giỏn tiếp. Nếu con đếm giảm đến 0, lỗi quỏ tải tham chiếu giỏn tiếp xuất hiện để trả quyền điều khiển cho MĐH. Giới hạn này làm giảm số lượng tham chiếu bộ nhớ trờn mỗi chỉ thị xuống cũn 17, và do đú mỗi tiến trỡnh cần tối thiểu 17 frame. Số frame tối thiểu cho mỗi tiến trỡnh được quy định bời kiến trỳc mỏy tớnh, số frame tối đa bị giới hạn bởi bộ nhớ vật lý. Trong khoảng cận trờn và cận dưới này, hệ thống phải đưa ra phương phỏp cấp phỏt phự họp.

7.2.6.2 Thuật toỏn cấp phỏt

Để chia m frame chọ n tiến trỡnh, đơn giản nhất là phương phỏp cấp phỏt đều, mỗi tiến trỡnh được m/n frame.

Tuy nhiờn trờn thực tế, cỏc tiến trỡnh cú nhu cầu bộ nhớ khỏc nhau, Nếu hệ thống cú 60 frame và chi cú hai tiến trỡnh A (cú độ lớn 10KB) và B (140KB), thỡ khụng thể cấp phỏt cho mỗi tiến trỡnh đỳng 30 frame. Tiến trỡnh A chỉ cần đỳng 10 frame, vi thế lóng phớ 21 frame. Một cỏch giải quyết là sử dụng phương phỏp cấp phỏt tỷ lệ.

Chỳ ý, trong 2 phương phỏp cấp phỏt trờn, tiến trỡnh cú độ ưu tiờn cao cũng được đối xử giống tiến trinh cú độ ưu tiờn thấp. Mặc dự tiến trỡnh cú độ ưu tiờn cao nờn được ưu tiờn cấp phỏt bộ nhớ hơn để đảm bảo tốc độ thi hành. Cú thể vẫn sử dụng phương phỏp cấp phỏt tỷ lệ, nhưng tỷ lệ frame được cấp khụng chỡ phụ thuộc vào kớch thước tiến trỡnh mà cũn vào độ ưu liờn của tiến trỡnh.

7.2.6.3 Cấp phỏt toàn cục và cục bộ

Với nhiều tiến trỡnh cạnh tranh bộ nhớ, cú thể phõn thuật toỏn thay thế trang vào hai nhúm là thay thế toàn cục và thay thế cục bộ:

 Thay thế toàn cho cho phộp tiến trỡnh lựa chọn frame để thay thế trong tồn bộ danh sỏch frame, cho dự frame đú đó cấp phỏt cho liến trỡnh khỏc. Như vậy, tiến trỡnh cú thể lấy frame từ tiến trỡnh khỏc.

 Thay thế cục bộ yờu cầu tiến trỡnh chỉ cần thay thế trong những frame đó được cấp phỏt cho mỡnh.

Xột phương phỏp cho phộp tiến trỡnh cú độ ưu tiờn cao cú thể lấy frame từ tiến trỡnh cú độ ưu tiờn thấp. Tiến trỡnh cú độ ưu tiờn cao cú thể tăng số frame được cấp phỏt của mỡnh bằng cỏch lấy frame của cỏc tiến trỡnh cú độ ưu tiờn thấp. Với thay thế cục bộ, tổng sổ frame cấp phỏt cho mỗi tiến trỡnh khụng đồi. Với thay thế toàn cục, tiến trỡnh cú thể lấy frame từ tiến trỡnh khỏc dề làm tăng số frame được cấp phỏt của mỡnh.

Trong thuật toỏn thay thế toàn cục, tiến trỡnh khụng thể quản lý được tỷ lệ lỗi trang. Tập hợp trang trong bộ nhớ của tiến trỡnh phụ thuộc khụng chỉ vào hành vi phõn trang của tiến trỡnh, mà cũn phụ thuộc vào hành vi phõn trang của tiến trỡnh khỏc. Bởi vậỵ, cỏc tiến trỡnh giống nhau cú thể cú thài gian thực hiện tương đổi khỏc nhau, và phụ thuộc vào những yếu tố ngoài. Trong khi đú, với phương phỏp thay thế cục bộ, tập họp trang trong bộ nhớ của tiến trỡnh chỉ bị ảnh hưởng bởi hành vi phõn trang của tiến trỡnh đú.

Một phần của tài liệu Bao cao mon hoc he dieu hanh (Trang 113 - 115)

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

(131 trang)