ARC kết hợp recency (gần đây) và frequency (tần suất) bằng hai danh sách trong cache T1, T2 và hai danh sách ghost B1, B2 (chỉ lưu lịch sử, không lưu trang). Tham số thích nghi p là kích thước mục tiêu của T1. Tổng |T1|+|T2| ≤ c.
xx ∈ T1: hit → chuyển x xuống cuối T2.x ∈ T2: hit → đưa x xuống cuối T2.x ∈ B1 (ghost recency): fault → tăng p (ưu tiên recency), thay trang, đưa x vào T2.x ∈ B2 (ghost frequency): fault → giảm p, thay trang, đưa x vào T2.x hoàn toàn mới: fault → có thể loại bỏ ghost cũ, thay trang nếu cache đầy, đưa x vào T1.Việc thay trang (replace) chọn nạn nhân từ T1 hay T2 tùy |T1| so với p. In tổng số page fault. (Tuân theo đúng pseudo-code mô tả trong đề; mọi bước xác định.)
c=2, chuỗi 1 2 3 1: nạp 1 (fault), 2 (fault), 3 đẩy 1 ra (fault), 1 quay lại — vì 1 còn trong ghost B1 nên vẫn fault. Tổng 4 page fault.
Dòng 1: c — dung lượng cache (số frame).
Dòng 2: m — số tham chiếu.
Dòng 3: m số hiệu trang.
1 ≤ c ≤ 100; 1 ≤ m ≤ 10^4; 0 ≤ số_trang ≤ 10^5.
Một số nguyên: tổng số page fault.
Ví dụ:
Đầu vào:
2
4
1 2 3 1
Đầu ra:
4
Giải thích:
Đang tải editor...