- Đọc/Ghi ngày, tháng, năm
b/ Bảng trang băm
4.3.1.5.1 Thuật tốn FIFO (First In First Out)
Trang ở trong bộ nhớ lâu nhất sẽđược chọn làm trang nạn nhân (vào trước ra trước)
Ví dụ: Một tiến trình được cấp 3 khung trang, ban đầu cả 3 khung đều trống, tiến trình lần lượt truy xuất tới các trang theo thứ tự sau: 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1. Tính số lỗi trang khi áp dụng thuật tốn FIFO để chọn trang nạn nhân.
7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 17 7 7 2 2 2 2 4 4 4 0 0 0 0 0 0 0 7 7 7 7 7 7 2 2 2 2 4 4 4 0 0 0 0 0 0 0 7 7 7 0 0 0 0 3 3 3 2 2 2 2 2 1 1 1 1 1 0 0 1 1 1 1 0 0 0 3 3 3 3 3 2 2 2 2 2 1 * * * * * * * * * * * * * * * Kí hiệu * là cĩ lỗi trang và cĩ 15 lỗi trang
Nhận xét:
Khơng cần ghi nhận thời điểm trang được nạp vào bộ nhớ, mà chỉ cần quản lý các trang trong bộ nhớ bằng một danh sách FIFO, khi đĩ nếu cĩ lỗi trang thì trang truy xuất được đưa vào cuối danh sách và nếu hết khung trang thì trang đầu danh sách sẽđược chọn làm trang nạn nhân.
Thuật tốn FIFO đơn giản, dễ cài đặt, nhưng nếu trang được chọn là trang thường xuyên được sử dụng, thì khi bị chuyển ra bộ nhớ phụ sẽ nhanh chĩng gây ra lỗi trang.
Số lượng lỗi trang cĩ thể tăng lên khi số lượng khung trang sử dụng tăng, hiện tượng này gọi là nghịch lý Belady.
Ví dụ: Xét tiến trình truy xuất chuỗi trang theo thứ tự sau: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 + Nếu sử dụng 3 khung trang, sẽ cĩ 9 lỗi trang
1 2 3 4 1 2 5 1 2 3 4 5 1 1 1 4 4 4 5 5 5 5 5 5 1 1 1 4 4 4 5 5 5 5 5 5 2 2 2 1 1 1 1 1 3 3 3 3 3 3 2 2 2 2 2 4 4 * * * * * * * * *
+ Nếu sử dụng 4 khung trang, sẽ cĩ 10 lỗi trang
1 2 3 4 1 2 5 1 2 3 4 5 1 1 1 1 1 1 5 5 5 5 4 4 1 1 1 1 1 1 5 5 5 5 4 4 2 2 2 2 2 2 1 1 1 1 5 3 3 3 3 3 3 2 2 2 2 4 4 4 4 4 4 3 3 3 * * * * * * * * * *