《网络操作系统》课程设计.docVIP

  • 22
  • 0
  • 约 24页
  • 2015-08-25 发布于河南
  • 举报
《网络操作系统》课程设计.doc

《网络操作系统》 课 程 设 计 报 告 书 题 目:请求调页存储管理方式的模拟 DNS协议模拟实现 学 号:081007111 2010 年 12 月 1 日 目录 五、请求调页存储管理方式的模拟 1 设计思想说明3 2 文件系统结构的说明4 3 数据结构的说明5 4 各模块的算法流程图5 5 程序清单:注意加注释7 6 使用说明书18 7 体会,建议19 七、DNS协议模拟实现 1 程序源码20 2 操作步骤22 3 运行结果23 五、请求调页存储管理方式的模拟 通过对页面、页表、地址转换和页面置换过程的模拟,加深对请求调页系统的原理和实现过程的理解。 题目要求 1.假设每个页面中可存放10条指令,分配给作业的内存块数为4。 2.用C语言或C++语言模拟一个作业的执行过程,该作业共有320条指令,即它的地址空间为32页,目前它的所有页都还未调入内存。在模拟过程中,如果所访问的指令已在内存,则显示其物理地址,并转下一条指令。如果所访问的指令还未装入内存,则发生缺页,此时需记录缺页的次数,并将相应页调入内存。如果4个内存块均已装入该作业,则需进行页面置换,最后显示其物理地址,并转下一条指令。 在所有320指令执行完毕后,请计算并显示作业运行过程中发生的缺页率。 3.置换算法:请分别考虑最佳置换算法(OPT)、先进先出(FIFO)算法和最近最久未使用(LRU)算法。 4.作业中指令的访问次序按下述原则生成; 50%的指令是顺序执行的; 25%的指令是均匀分布在前地址部分; 25%的指令均匀分布在后地址部分。 具体的实现办法是: (1)在[0,319]之间随机选取一条起始执行指令,其序号为m; (2)顺序执行下一条指令,其序号为m+1条指令; (3)通过随机数,跳转到前地址部分[0,m-1]中的某条指令处,其序号为m1; (4)顺序执行下一条指令,即序号为m1+1的指令; (5)通过随机数,跳转到后地址部分[m1+2,319]中的某条指令处,其序号为m2; (6)顺序执行下一条指令,则序号为m2+1的指令; (7)重复跳转到前地址部分,顺序执行,跳转到后地址部分;顺序执行的过程,直至执行320条指令。 1 设计思路 在进程运行过程中,若其所要访问的页面不在内存时,需把它们调入内存,但内存已无空闲空间时,为了保证该进程能正常运行,系统必须从内存中调出一页程序或数据,送磁盘的对换区中。但应将哪个页面调出,所以需要根据一定的算法来确定。在这一过程中,选择换出页面的算法称为页面置换算法。一个好的页面置换算法,应具有较低的页面更换频率。页面置换算法的好坏,将直接影响到系统的性能。以下分别是实验要求的两个页面置换算法的介绍及其设计思想。 (1)先进先出法 该算法总是淘汰最先进入内存的页面,既选择在内存中驻留时间最久的页面予以淘汰。 在该算法的模拟过程中,每当页面被置换进入内存时,将置换页面所在的物理块中访问标记设为-1;并且每执行一次指令,便将物理块的访问标记自动加1,需要置换时将访问标记最大的物理块中的页面置换出去,这样能防止当物理块访问标记出现两个以上相同的值的错误执行,更好地模拟了先进先出法; (2)最近最久未使用 该算法以最近的过去作为不久将来的近似, 将过去最长一段时间里不曾被使用的页面置换掉。 在该算法的模拟过程中,每当物理块中的页面被访问时(包括原先存在的和后来置换进入的页面),便将其物理块访问标记置为-1。以后每执行一条指令,便将物理块中各页面的访问标记加1,需置换时访问标记最大的便是将要被置换的。 2文件系统结构的说明3数据结构的说明各模块的算法流程图 (2)LRU算法流程图 (3)LRU算法流程图 5 程序清单#includeiostream.h #includestdlib.h #includeconio.h #includestdio.h #define Bsize 4 typedef struct BLOCK //声明一种新类型——物理块类型 { int pagenum; //页号 int accessed; //访问标识符,其值表示多久未被访问 }BLOCK; int pc; //程序计数器,用来记录指令的序号 int n;

文档评论(0)

1亿VIP精品文档

相关文档