1. Trang chủ >
  2. Giáo án - Bài giảng >
  3. Cao đẳng - Đại học >

Thuật toán LRU (cont.)

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 (4.55 MB, 91 trang )


Các thu ật toán x ấp x ỉ LRU





Tham chiếu bit (Reference bit) :



◦ Gắn một bit vào mỗi trang, ban đầu = 0

◦ Khi trang được tham chiếu, bit đó được thiết lập = 1

◦ Thay trang co bit tham chiếu = 0,nếu trang con tồn t ại

 Tuy nhiên chúng ta không biết thứ tự







Cơ hội thứ hai (Second chance) :



◦ Cần có bit tham chiếu

◦ Thay thế vòng tròn

◦ Nếu trang tham chiếu (trong thứ tự vòng tròn) có bit tham

chiếu = 1 thì :

 Thiết lập bit = 0

 Chuyển trang vào trong bộ nhớ

 Thay thế trang tiếp theo (trong thứ tự vòng tròn) với quy luật

thay thế tương tự.



Thu ật toán thay th ế trang cơ h ội th ứ hai



Thuật toán đếm (Counting Algorithms)











Dành ra một bộ đếm số tham chiếu đến mỗi trang

Thuật toán LFU (Least Frequently Used): thay

trang đếm đượ ít nhất ( có tần số truy xuất nhỏ

nhất )

Thuật toán MFU (Most Frequently Used) : thay

trang đếm được nhiều nhất ( có tần số truy xuất

cao nhất), dựa trên lý luận rằng trang đếm được ít

nhất là có thể vừa đưa vào bộ nhớ và chưa kịp

được sử dụng.



Phân ph ối các khung









Mỗi tiến trình cần số lượng khung tối thiểu

để thực hiện

Ví dụ : IBM 370 – cần 6 trang để thực hiện

lệnh SS MOVE.

◦ Lệnh có độ dài 6 byte, có thể chứa trong 2 trang

◦ 2 trang để thực hiện from

◦ 2 trang để thực hiện to







Hai cách phân phối chính



◦ Phân phối cố đinh (fixed allocation)

◦ Phân phối có ưu tiên (priority allocation)



Phân ph ối c ố đ ịnh









Phân phối công bằng – ví dụ, nếu có 100 khung

và 5 tiến trình, cho mỗi tiến trình 20 trang

Cấp phát theo tỷ lệ - Phân phối theo kích thước

của tiến trình

si = size of process pi

S = ∑ si

m = total number of frames

s

ai = allocation for pi = i × m

S



m = 64

si = 10

s2 = 127

10

× 64 ≈ 5

137

127

a2 =

× 64 ≈ 59

137

a1 =



Phân ph ối có ưu tiên









Lượng khung trang cấp cho tiến trình phụ

thuộc vào độ ưu tiên của tiến trình hơn là

phụ thuộc kích thước tiến trình.

Nếu tiến trình Pi phát sinh lỗi trang



◦ Chọn một trong các khung trang của nó để thay thế

◦ Chọn một khung trang của quá trình khác với độ ưu

tiên thấp hơn để thay thế.



Thay th ế trang toàn c ục hay

c ục b ộ









Thay thế toàn cục (Global replacement): tiến trình

được chọn một khung thay thế từ tập tất cả các

khung, một tiến trình có thể lấy một khung từ tiến

trình khác.

Thay thế cục bộ (Local replacement) : mỗi tiến

trình chỉ chọn một khung thay thế từ chính tập các

khung đã phân phối cho nó.



S ự trì tr ệ (Thrashing)





Nếu một tiến trình không có đủ trang, thì ỷ

lệ trang lỗi là rất cao. Điều này dẫn đến :



◦ 1) Hệ điều hành giám sát việc sử dụng CPU

◦ 2) Nếu hiệu suất sử dụng CPU quá thấp, hệ điều

hành sẽ nâng mức độ đa chương bằng cách đưa

thêm một quá trình mới vào hệ thống.

◦ 3) Hệ thống có thể sử dụng giải thuật thay thế

toàn cục để chọn các trang nạn nhân thuộc một

tiến trình bất kỳ để có chỗ nạp quá trình mới, có

thể sẽ thay thế cả các trang của tiến trình đang xử

lý hiện hành.



S ự trì tr ệ (cont.)

◦ 4) Khi có nhiều quá trình trong hệ thống hơn, thì một

quá trình sẽ được cấp ít khung trang hơn và do đó

phát sinh nhiều lỗi trang hơn.

◦ 5) Khi các quá trình phát sinh nhiều lỗi trang, chúng

phải trải qua nhiều thời gian chờ các thao tác thay thế

trang hoàn tất, lúc đó hiệu suất sử dụng CPU ại giảm.

◦ 6) Hệ điều hành lại quay trở lại bước 1

Hệ thống sẽ lâm vào tình trạng luẩn quẩn của việc giải

phóng các trang để cấp phát thêm khung trang cho

một tiến trình, và các tiến trình khác lại thiếu khung

trang.. và các tiến trình không thể tiếp tục xử lý



Trì trệ toàn bộ hệ thống



S ự trì tr ệ - Thrashing(cont.)



Xem Thêm
Tải bản đầy đủ (.ppt) (91 trang)

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×