Professional Documents
Culture Documents
Nguyên lí hệ điều hành
Nguyên lí hệ điều hành
1
Bảng trang với một số trang
Valid-Invalid Bit không nằm trong bộ nhớ
z Mỗi phần tử bảng trang có một bit hợp
lệ/không hợp lệ (1: trong bộ nhớ, 0: không
trong bộ nhớ)
valid-invalid
z Khởi đầu: valid–invalid bằng 0. Frame # bit
1
z Ví dụ bảng trang+bit invalid/valid: 1
1
1
z Khi tính địa chỉ, nếu valid–invalid 0
#
ở bảng trang là 0: ⇒ lỗi trang
0
(page-fault trap) 0
7 8
bảng trang
Nếu không có frame rỗi? Hiệu năng của yêu cầu trang
z Thực hiện thay thế trang – swap out một số z Tỷ lệ page-fault là p: 0 ≤ p ≤ 1.0
trang đang ở trong bộ nhớ nhưng hiện tại z nếu p = 0: Không có page-fault
không được sử dụng z nếu p = 1, mọi yêu cầu truy cập đến trang đều
z Thuật toán nào tốt? gây ra page-fault
z Hiệu năng: Cần một thuật toán có ít page-fault nhất z Effective Access Time (EAT)
để hạn chế vào/ra
EAT = (1 – p) x memory access
z Nhiều trang có thể được đưa vào bộ nhớ tại + p (page fault overhead
cùng một thời điểm.
+ [swap page out ]
z Thuật toán thay thế trang: FIFO, Optimal,
LRU, LRU-approximation 11
+ swap page in 12
+ restart overhead)
2
Tạo tiến trình Copy-on-Write
z Bộ nhớ ảo có ưu điểm khi khởi tạo một tiến z Copy-on-Write (COW) cho phép tiến trình
trình mới: cha và con dùng chung trang trong bộ nhớ
khi mới khởi tạo tiến trình con
- Copy-on-Write (Chỉ tạo copy của trang khi z Chỉ khi nào một trong hai tiến trình sửa đổi
có thay đổi) trang dùng chung, thì trang đó mới được
copy một bản mới
- Memory-Mapped Files (Các file ánh xạ bộ z COW làm cho việc tạo tiến trình hiệu quả
nhớ) hơn: Chỉ các trang bị sửa đổi mới được copy
z Các trang rỗi được cấp phát từ một tập hợp
13
(pool) các trang được xóa trắng với số 0 14
3
Cơ sở thay thế trang Thay thế trang
1. Tìm vị trí của trang p cần thay trên đĩa
2. Tìm một frame rỗi f:
1. Nếu có frame rỗi: Sử dụng frame đó
2. Nếu không có frame rỗi: Sử dụng thuật toán thay
thế trang để đưa một trang trong bộ nhớ ra để sử
dụng frame ứng với trang đó
3. Đọc trang p vào frame f vừa tìm được và cập
nhật bảng trang, bảng frame
4. Lặp lại quá trình này
19 20
21 22
4
FIFO Illustrating Belady’s
Anamoly Thuật toán tối ưu
z Thay thế các trang sẽ không được sử dụng
trong khoảng thời gian dài nhất
z Danh sách yêu cầu truy cập: 1, 2, 3, 4, 1, 2,
5, 1, 2, 3, 4, 5; có 4 frame
1 4
2 6 page-fault
3
4 5
25 26
3 5 4
z Cài đặt sử dụng biến đếm 4 3
z Mỗi trang có một biến đếm; mỗi khi trang được truy
cập, gán giá trị đồng hồ thời gian cho biến đếm.
z Khi một cần phải thay thế trang, căn cứ vào giá trị
27 các biến đếm của trang: Cần tìm kiếm trong danh 28
29 30
5
Sử dụng ngăn xếp để ghi lại
trang vừa mới được sử dụng Thuật toán LRU xấp xỉ
z Thuật toán bit tham chiếu
z Sử dụng bit tham chiếu đánh dấu các trang
đã được sử dụng/chưa được sử dụng
z Mỗi trang có 1 bit được khởi tạo bằng 0
z Khi trang được tham chiếu đến, đặt bit bằng 1
z Không biết thứ tự sử dụng các trang
31 32
6
Cấp phát cố định Cấp phát ưu tiên
z Cấp phát bình đẳng: z Cấp phát tỷ lệ: z Sử dụng cấp phát tỷ lệ căn cứ vào độ ưu tiên
nếu cấp phát 100 frame của tiến trình, không căn cứ vào cỡ tiến trình
si = size of process pi
cho 5 tiến trình, mỗi S = ∑ si
tiến trình có 20 frame. m = total number of frames
si
ai = allocation for pi = ×m
z Nếu tiến trình Pi sinh ra page-fault:
S
z Thay thế một trong các frame của tiến trình đó
m = 64
z Cấp phát tỷ lệ: Dựa si = 10 z Thay thế một trong các frame của tiến trình khác
theo cỡ tiến trình. s2 = 127 có độ ưu tiên thấp hơn
10
a1 = × 64 ≈ 5
137
127
a2 = × 64 ≈ 59
137 37 38
39 40
7
Mô hình working-set Mô hình working-set
z Sử dụng tham số Δ là tổng số lần tham chiếu z D = Σ WSSi ≡ Tổng số các frame được yêu
trang gần nhất cầu
z Tập các trang sử dụng trong Δ lần gần nhất z Gọi m là tổng số fram rỗi: nếu D > m thì trong
là working-set hệ thống sẽ xuất hiện thrashing
z WSSi là cỡ working-set của tiến trình Pi: Rõ z Chính sách cấp phát: nếu D > m thì tạm
ràng là WSSi phụ thuộc vào độ lớn của Δ dừng thực hiện một số tiến trình
z Nếu Δ quá nhỏ: Không phản ánh đúng tính cục bộ
z Nếu Δ quá lớn: vượt qua tính cục bộ
z Nếu Δ = ∞: WSSi tập toàn bộ các trang trong quá
trình thực hiện tiến trình 43 44
45 46