Java 模拟操作系统页面替换算法
Java图形化界面实现以下要求,我上传给大家一同分享。 通过随机数产生一个指令序列,共 320 条指令,指令的地址按下述原则生成: (1):在[0,319]的指令地址之间随机选取一起点 m。 (2):顺序执行一条指令,即执行地址为 m+1 的指令 。 (3):在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为 m' 。 (4):顺序执行一条指令,其地址为 m'+1。 (5):在后地址[m'+2,319]中随机选取一条指令并执行。 (6):重复步骤 (1)—(6),直到生成 320 条指令。 2、将指令序列转换为页地址流,比如:页面大小为 1K,用户内存容量 4 页到 32 页,用户虚存容量为 32K;在用户虚存中,按每 K存放 10 条指令排列虚存地址。即 320 条指令在虚存中的存放方式为: 第 0 条-第 9 条指令为第 0 页(对应虚存地址为[0,9])。 第 10 条-第 19 条指令为第 1 页(对应虚存地址为[10,19]) 。 ……………………………… 第 310 条-第 319 条指令为第 31页(对应虚存地址为[310,319])。 按以上方式,用户指令可组成 32页。 3、页面大小的取值范围分别 为 1K,2K,4K,8K,16K;按照页面大小将指令地址转化为页号;对于相邻相同的页号,合并为一个。 4、分配给程序的内存块数取值范围为 1 块、2块,一直到程序的页面数。 5、分别采用 FIFO 和 LRU 算法对页号序列进行调度,并计算出对应的缺页中断率。
用户评论
很好,如果再加上LFU、OPT算法就好了