基于 Linux 的操作系统实验系统 第 1 页
第三章 存储管理实验
内存页面调度算法比较
【实验目的】
理解内存页面调度的机理,掌握几种理论调度算法实现,并通过实验比较各种调度算法
的优劣。此外通过实验了解 HASH 表数据结构的使用。
【准备知识】
1.C++。指针、结构体(类)。
2.据结构 HASH 表查找方式。
3.作系统相关内存交换知识。
4.可能用到的几个 LINUX 函数:
⑴ int getpid() //获得当前进程的 id
⑵ void srand(int a) //以 a 为种子,为后面产生随机数作准备
⑶ int rand() //根据前面的种子,返回一个随机数
【实验内容】
对比几种算法的命中率。
1.先进先出的算法。FIFO(First In First Out)
2.最近最少使用的算法。LRU(Least Recently Used)
3.最近未使用算法。NUR(Never Used Recently)
4.最佳置换算法。OPT(Optimal Replacement)
【实验指导】
拥有页面交换机制的操作系统总是把当前进程中急需处理的部分页面换入到内存当中,
而把更多暂时不需处理的页面放置在外存当中,由于进程需要处理页面的顺序不同,而需
要在内存与外存之间进行页面交换,交换算法也就应运而生。
本实验并没有进入系统空间对实际进程页面进行控制,而是在用户空间用线性表的连
续存储方式对进程页面交换进行的模拟。