题目描述:
在操作系统中,有一种虚拟内存管理技术是先进先出(FIFO)缓存。当所请求的存储页面不在缓存而缓存已满时,应该从缓存中移除持续时间最长的页面,以腾出空间给请求的页面。如果缓存未满,那么可以简单地将请求的页面添加到缓存,给定的页面应当在缓存中最多出现一次。当请求某个页面而在缓存中未找到此页面时发生缓存未命中。
给定缓存的最大尺寸和页面请求列表,计算缓存未命中数。
输入
函数/方法的输入包含三个参数:len,表示页面总数的整数;max_cache-size,表示最大缓存尺寸的整数;page_requests,表示len个页面的页面请求的整数列表。
输出
返回一个表示缓存中未命中的正整数。
代码:
bool checkof(int *a,int p,int num)//检查在a数组中是否出现过num
{
for(int i=0;i<p;i++)
{
i