Trình bày chiến lược đổi trang sử dụng thuật toán đồng hồ.
Trả lời (1)
-
Cải tiến FIFO nhằm tránh thay những trang mặc dù đã được nạp vào lâu nhưng vẫn có khả năng sử dụng
- Mỗi trang được gắn thêm 1 bit sử dụng U
- Khi trang được truy cập đọc/ ghi: U = 1
=> ngay khi trang được đọc vào bộ nhớ: U =1
- Các khung có thể bị đổi (các trang tương ứng) được liên kết vào 1 danh sách vòng
- Khi một trang nào đó bị đổi, con trỏ được dịch chuyển để trỏ vào trang tiếp theo trong danh sách
Khi có nhu cầu đổi trang, HDH kiểm tra trang đang bị trỏ tới
- Nếu U=0: trang sẽ bị đổi ngay
- Nếu U=1: đặt U=0 và trỏ sang trang tiếp theo, lặp lại quá trình
Nếu U của tất cả các trang trong danh sách =1 thì con trỏ sẽ quay đúng 1 vòng, đặt U của tất cả các trang =0 và trang hiện thời đang bị trỏ sẽ bị đổi
Căn cứ vào 2 thông tin để đưa ra quyết định đổi trang:
- Thời gian trang được tải vào, thể hiện qua vị trí trang trong danh sách giống như FIFO
- Gần đây trang có được sử dụng hay không, thể hiện qua bit U
Việc kiểm tra thêm bit U tương tự việc cho trang thêm khả năng được giữ trong bộ nhớ
=> thuật toán cơ hội thứ 2
Thuật toán đồng hồ cải tiến:
- Sử dụng thêm thông tin về việc nội dung trang có bị thay đổi hay không bằng bit M
- Kết hợp bit U và M, có 4 khả năng:
- U=0, M=0: trang gần đây không được truy cập và nội dung cũng không bị thay đổi, rất thích hợp để bị đổi ra ngoài
- U=0, M=1: trang có nội dung thay đổi nhưng gần đây không được truy cập, cũng là ứng viên để đổi ra ngoài
- U=1, M=0: trang mới được truy cập gần đây và do vậy theo nguyên lý cục bộ về thời gian có thể sắp được truy cập tiếp
- U=1, M=1: trang có nội dung bị thay đổi và mới được truy cập gần đây, chưa thật thích hợp để đổi
Các bước thực hiện đổi trang:
- Bước 1:
- Bắt đầu từ vị trí hiện tại của con trỏ, kiểm tra các trang
- Trang đầu tiên có U=0 và M=0 sẽ bị đổi
- Chỉ kiểm tra mà không thay đổi nội dung bit U, bit M
- Bước 2:
- Nếu quay hết 1 vòng mà không tìm được trang có U và M bằng 0 thì quét l danh sách lần 2
- Trang đầu tiên có U=0, M=1 sẽ bị đổi
- Đặt bit U của những trang đã quét đến nhưng được bỏ qua là 0
- Nếu chưa tìm được thì lặp lại bước 1 và cả bước 2 nếu cần
bởi Anh Nguyễn 26/11/2021Like (0) Báo cáo sai phạm
Nếu bạn hỏi, bạn chỉ thu về một câu trả lời.
Nhưng khi bạn suy nghĩ trả lời, bạn sẽ thu về gấp bội!
Lưu ý: Các trường hợp cố tình spam câu trả lời hoặc bị báo xấu trên 5 lần sẽ bị khóa tài khoản
Các câu hỏi mới
-
01/12/2022 | 1 Trả lời
-
01/12/2022 | 1 Trả lời
-
01/12/2022 | 1 Trả lời
-
01/12/2022 | 1 Trả lời
-
01/12/2022 | 1 Trả lời
-
02/12/2022 | 1 Trả lời
-
01/12/2022 | 1 Trả lời
-
02/12/2022 | 1 Trả lời
-
01/12/2022 | 1 Trả lời
-
01/12/2022 | 1 Trả lời
-
02/12/2022 | 1 Trả lời
-
02/12/2022 | 1 Trả lời
-
01/12/2022 | 1 Trả lời
-
02/12/2022 | 1 Trả lời
-
01/12/2022 | 1 Trả lời
-
01/12/2022 | 1 Trả lời
-
02/12/2022 | 1 Trả lời
-
01/12/2022 | 1 Trả lời
-
A. Ubuntu.
B. BKAV.
C. Kapersky.
D. Antivirus.
01/12/2022 | 2 Trả lời
-
A. Worm, sâu máy tính
B. Trojan
C. Virus
D. BKAV.
19/12/2022 | 1 Trả lời
-
Nhập vào danh sách b với n phần tử số nguyên. Hãy tính tổng các phần tử lẻ trong b
17/02/2023 | 0 Trả lời
-
Khi đó vòng biểu diễn bởi một xâu S gồm N ký tự trong tập ['1'...'9']. Để tăng tính độc đáo cho vòng trang sức quý này, người ta lắp khóa đẹp vào vị trí sao cho khi mở vòng ra được một dãy đá quý có tính chất không phụ thuộc vào việc cầm đầu dây này bên tay phải dầu kia bên tay trái hay ngược lại ta đều được chuỗi giống nhau tức là viên đá thứ i từ trái sang luôn có màu gì không phụ thuộc vào cách cầm Hãy đếm số cách đặt khóa
Ví dụ: xâu S: 222222335533
+222334433222
+533222222335
Viết chương trình trong python
03/04/2023 | 0 Trả lời
-
In và đếm các số nguyên tố có trong danh sách
05/04/2023 | 0 Trả lời
-
Cho a là 1 danh sách chỉ gồm các số nguyên. Hãy viết chương trình tạo và in ra dsach b chỉ gồm các số chẵn trong a?
05/04/2023 | 0 Trả lời
-
a. Đếm và thông báo số từ trong xâu đó
b. Thông báo ra màn hình từ đầu tiên của xâu
25/04/2023 | 0 Trả lời