- Đọ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 1
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
* * * * * * * * * * * * * * *
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
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