欢迎来到天天文库
浏览记录
ID:22931530
大小:757.65 KB
页数:19页
时间:2018-11-02
《课程设计:采用clock置换算法仿真请求分页系统》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、摘要在计算机操作系统中,为了提高内存利用率,提供了内外存进程对换机制;内存空间的分配和回收均以页为单位进行;一个进程只需将其一部分(段或页)调入内存便可运行;还支持请求调页的存储管理方式。当进程在运行中需要访问某部分程序和数据时,发现其所在页而不在闪存,就立即提出请求(向CPU发出缺页屮断),由系统将其所需页而调入内存。这种页而调入方式叫请求调页,为实现请求调页,核心配置了四种数据结构:页表、页框号、访W位、修改位、有效位、保护位等。不适当的算法可能会导致进程发生“抖动”,频繁地更换页面会使进程大部分时间花费在置换工作上,所以置换算法的好坏直接影
2、响到系统的性能。目录1.鵬32.课程设计任务及要求32.1设计任务32.2设计要求33.算法及数据结构43.1算法的总体思想43.1.1RR®法43.1.2CLOCK算法53.2CLOCK置换算法73.2.173.2.2数据结构74.程序设计与实现84.1程序流程图84.2程序代码94.3实验结果145.166.工作日志177.收获、体会和建议。188.参考文献。191.概述在采用请求分页机制的操作系统中,当运行一个程序的时候,若要访问的页面不在内存中而需要把它们调入内存,但此吋内存己无空闲空间,为了保证该进程能正常运行,需选择内存中竹时不用的页
3、面调出到磁盘交换区。选择调出哪个页面,由页面算法决定。页面置换©法的好坏,直接影响系统的性能,所以一个好的贞Ifif置换算法,应尽可能选择调出较长吋间内不会再访问的页面,以保证较低的缺页率。“CLOCK页面置换算法”是根据进程的实际需要,动态地为之分配内存空间。在实现可变分区分配吋,将涉及到分区分配中所用的数据结构、分区分配算法和分区的分配和回收操作这样三个问题。为了实现分区分配,系统中必须配置相应的数据结构,用来描述空闲K和已分配K的情况,为分配提供依据。常用的数据结构有两种形式:空闲分区表和空闲分区链。为把一个新作业装入内存,须按照一定的算法
4、,从空闲分区表或空闲分区链中选出一个分区分配给该作业。在动态分IX存储管理方式中,主要操作是分配内存和回收内存。2.课程设计任务及要求2.1设计任务用高级语言编写和调试一个内存分配程序,加深对内存分配算法的理解。使系统利用RR时间片轮转算法掉调度作业,并从IA)存区动态分配内存。设IA)存区的大小为number,表中每个空闲分区的大小可表示为N。虚拟存储区采用page类型二维数组实现,然后将虚拟存储区的首地址返回给调川者。当进程运行完毕释放内存时,系统根据冋收区的首址,从内存区表中按CLOCK算法找到相应的插入点。2.2设计要求1.实现请求分贞存
5、储管理方式的贞囬置换算法:CLOCK算法2.内存物理块数固定力15个,对多个作业采用可变分配全局置换的策略分配物理块3.作业数量与作业大小(10-20页)可在界面进行设置4.所有作业按RR算法进行调度,时间片长度力1秒5.可为每个作业随机产生引用的页面串,也可以人工输入引用的页面串,页面串长度50—100,要求必须包括作业所有的贞面,可作为样例数据保存6.可读取样例数据(要求存放外部文件中)进行作业数量、作业大小、页面串长度的初始化7.要求采用可视化界曲模拟内存分配和使用情况图,可在运行过程中随吋暂停,查看当前内存物理块使川情况。8.每次全部作
6、业运行结束后,要求打印出访问命中率2.算法及数据结构3.1算法的总体思想系统整体流程图.•3.1.1RR算法棊本原理.•(1)将所有的就绪进程按FCFS策略排成一个就绪队列;CPU(2)系统可设置每隔一定时间便产生一次屮断,去激活进程调度程序进行调度,分配给队首进程,并令其执行一个时间片;(3)当它运行完毕后,乂分配给就绪队列中新的队首进程,也让它执行一个时间片。保证就绪队列屮所有进程在确定的时间段都能获得一个时间片的时间。运行步骤.•(1)若一个时间片尚未用完,正在运行的进程便已经完成,就立即激活调度程序。将它从就绪队列屮删除,再调度就绪队列屮
7、的进程运行,并启动一个新时间片。(2)在一个时间片用完时,计时器屮断处理程序被激活,如來未运行完毕,调度程序就把它送往就绪队列的末尾。RR算法流程图:YESxSlccp<5OO>slcep(1(M>)page只[i]=j1.1.2CLOCK算法基本原理.•在实现可变分区分配时,将涉及到分区分配中所用的数裾结构、分区分配算法和分区的分配和回收操作这样三个问题。1.为了实现分区分配,系统屮必须配賈相应的数据结构,用来描述空W区和已分配区的情况,2.为分配提供依据。常用的数据结构有两种形式:空闲分区表和空闲分区链。3.为把一个新作业装入内存,须按照一定
8、的算法,从空闲分区表或空闲分区链中选出一个分区分配给该作业。在动态分区存储管理方式屮,主要操作是分配A存和回收内存。4.除考虑页而的使用
此文档下载收益归作者所有