void FIFO_solve() memset(in, false,sizeof(in));int faultn= O;//缺页率 int ptr, i; //预调页填满空间 ptr = 0;//下一个要放的位置 for(i=0;i<maxn && ptr<size; i++) if(!in[page[i]1) 下 { pin[ptr++] = page[il;in[page[i]]=true;fault_n++; } //继续执行剩下的指令 ptr =0;//队列里最先进来的位置,即下一个要被替换的位置for(;i<maxn;i++) if( !in[page[i]]){ /*-------7"-----*///请补全该部分 *-------- -- - ---*/ printf( "1nBy FIF0 algorithm, the fault-page number is: %din",fault_n);printf( " the hit ratio is :%, 存在可用更新。
时间: 2024-02-28 07:56:49 浏览: 38
以下是补全部分的代码:
```c++
pin[ptr++] = page[i];
in[page[i]] = true;
fault_n++;
if (ptr == size) ptr = 0; // 如果队列已满,则将下一个要放的位置设为队列头部
```
这部分代码的作用是对于剩余的指令,如果当前的页不在内存中,则将其加入到队列中,并将缺页率加一。如果队列已满,则将下一个要放的位置设为队列头部,实现了 FIFO 算法中的页面置换。
完整代码如下:
```c++
void FIFO_solve() {
memset(in, false, sizeof(in));
int fault_n = 0; // 缺页率
int ptr, i;
// 预调页填满空间
ptr = 0; // 下一个要放的位置
for (i = 0; i < maxn && ptr < size; i++) {
if (!in[page[i]]) {
pin[ptr++] = page[i];
in[page[i]] = true;
fault_n++;
}
}
// 继续执行剩下的指令
ptr = 0; // 队列里最先进来的位置,即下一个要被替换的位置
for (; i < maxn; i++) {
if (!in[page[i]]) {
pin[ptr++] = page[i];
in[page[i]] = true;
fault_n++;
if (ptr == size) ptr = 0; // 如果队列已满,则将下一个要放的位置设为队列头部
}
}
printf("By FIFO algorithm, the fault-page number is: %d\n", fault_n);
printf("the hit ratio is: %f\n", (1 - (double)fault_n / maxn) * 100);
}
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)