要求:模拟一个缓存管理器。给出的测试文件中包含50万个页面请求,每一行用(X,Y)表示,其中X=1表示对页面号为Y的页面写操作,X=0表示对页面号为Y的页面读操作。例如 0,6558 1,3024 等。
规定:磁盘上的页面大小等于Buffer的一个块大小,为4KB;磁盘上的数据库文件data.dbf包含5000个页面,缓冲区有1024个Buffer。设计一个缓存管理器,并统计页面请求的命中和不命中次数。
先说下我的思路,如图,问题牵涉到下面三个部分的协同工作,其中省略了磁盘的读写部分。 (更多…)