哥哥姐姐请教个问题 帮忙 急!!!!
编写代码对存储管理部件的工作过程进行模拟,而模拟要求包括以下两个内容:A,一个内存池,包含的页面数为M。
B,存储管理部件包含三个组成:(1)内存请求器,根据输入的逻辑页面访问次序产生物理页面请求;(2)内存分配器,接受内存请求器产生的请求来为其分配物理页面;(3)内存释放器,在内存分配器没有发现物理空间可分配时,根据替换算法来完成替换。
模拟要求:
1,根据后面的win32系统调用,用线程来模拟存储管理部件的三个组成,并使用进程通讯的方法来完成三个组成之间的交互。
2,内存池的M和逻辑页面的申请顺序在程序运行时录入。
3,输出所有过程信息,参照幻灯片上的过程,但形式可自行设计,并给出最终的页面命中率
注明:如果实在无法用多线程完成,可以使用非多线程的方式编写代码,多线程的方式分数会相对高一些。
必须实现的置换算法包括先进先出页面置换算法,最近最少使用置换算法,
可选实现的置换算法包括最优页面置换算法,第二次机会页面置换算法,时钟页面置换算法(《现代操作系统》123页)。
注意事项:
1,输出的信息要包含每次虚拟页面申请时所最终存放的物理页面号。
2,一旦虚拟页面分配了物理页面存储,则在释放之前都不会被移动。
实验目的:
1)接触windows的多线程通讯,系统调用,增长实际动手经验。
2)熟悉页面替换算法。
3)提高程序设计能力。