最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

世界视点!【操作系统实验/Golang】实验4:虚拟内存页面置换算法

来源:博客园


(资料图片仅供参考)

1 实验问题描述

设计程序模拟先进先出FIFO,最佳置换OPT和最近最久未使用LRU页面置换算法的工作过程。假设内存中分配给每个进程的最小物理块数为m,在进程运行过程中要访问的页面个数为n,页面访问序列为$P_1,P_2,…,P_n$,分别利用不同的页面置换算法调度进程的页面访问序列,给出页面访问序列的置换过程,计算每种算法缺页次数和缺页率。

程序要求如下:

  1. 实现先进先出FIFO,最佳置换OPT和最近最久未使用LRU三种页面置换算法,模拟页面访问过程,并对三个算法进行评价。
  2. 输入:最小物理块数blockNum,页面个数pageNum,页面访问序列 ,输入算法模式mode(1-FIFO,2-OPT,3-LRU)。
  3. 输出:

a) 每种算法的页面内存分配情况,如图:

b) 每种算法的缺页次数lackNum和缺页率pageFaultRate。

2 测试数据

  1. 测试数据1blockNum=3, pageNum=12.pageSeq=[1 2 3 4 1 2 5 1 2 3 4 5]mode=1,2,3
  2. 测试数据2blockNum=3, pageNum=20.pageSeq=[4 3 2 1 4 3 5 4 3 2 1 5 6 2 3 7 1 2 6 1]mode=1,2,3

3 实验结果

  1. 测试数据1:
  1. 测试数据2:

4 实验代码

请见GitHub。

https://github.com/Jackkee27/OS-Experiments/tree/main/exp4

关键词: 测试数据 先进先出 问题描述