欢迎来到天天文库
浏览记录
ID:1177136
大小:581.84 KB
页数:27页
时间:2017-11-08
《操作系统课设报告 完成版》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、内容摘要掌握使用面向对象程序设计方法解决问题的基本思路和方法,增强我们的动手与实践能力。在页面置换算法,我觉得此次实验就是将三种页面置换算法按照课本上老师讲的方式直观简便的输出,在采用输出算法时,我摒弃了常人所用的一维数组输出法,而别出心裁的采用了二维数组的输出算法,模拟了内存的物理块,清晰直观的表达了页面是如何在外存中被调入内存中的,以及各页面在调入过程中是否命中或在置换时又置换了内存中哪个页面。在软件工程的角度来看,我的系统具有高内聚低耦合的优点,即各种算法之间,并不影响彼此的函数调用,而在
2、各算法的内部,内聚度很高。在生产者与消费者问题中,生产者-消费者问题是很经典很具有代表性的进程同步问题,计算机中的很多同步问题都可抽象为生产者-消费者问题,通过本实验的练习,能加深我们对进程同步问题的认识与理解。关键词:线程先进先出置换算法最佳置换算法最近最久置换算法26目录目录3第1章绪论41.1课题研究现状分析41.1.1本领域内已开展的研究工作41.2选题的目的及意义4第2章系统总体设计62.1系统功能设计62.1.1页面调度算法系统功能设计62.1.2多进程同步62.2系统功能模块流程图
3、62.2.1多线程同步功能流程图62.2.2页面调度系统功能流程图8第3章系统实现123.1用多进程同步方法解决生产者-消费者问题。123.1.1源代码123.1.2调试与运行143.2页面置换程序143.2.1源代码143.2.2调试与运行24第4章系统使用说明书26第5章课程设计总结27参考文献2826第1章绪论在进程运行过程中,若其所要访问的页面不在内存而需要把他们调入内存,但存已无内存空间时,为了保证该进程能顺利的运行,系统必须从内存中调出一页程序或数据送内存的兑换区中。但应将那个页面调
4、出,需根据一定的算法来确定。通常,把换出页面的算法称为页面置换算法(Page-ReplacementAlgorithms)。页面置换的好坏,将直接影响到系统的性能。一个好的页面置换算法,应具有较低的页面置换频率。从理论上讲,应将那些以后不再会访问的页面换掉,或把那些在较长时间内不会访问的页面调出。1.1课题研究现状分析1.1.1本领域内已开展的研究工作1、理论研究基础前台以VC++6.0为开发环境实现页面调度,以及在虚拟机中实现多线程并发,根据调度的需要选择不同的算法。提高页面调度的命中率和处理
5、机的利用率。2、技术层面的支持系统界面采用DOS界面,根据用户选择进入不同的算法执行不同的操作。1.2选题的目的及意义一、设计目的:1、页面置换系统:用C#编写OPT、FIFO、LRU三种置换算法;熟悉内存分页管理策略;了解页面置换的算法;掌握一般常用的调度算法;根据方案使算法得以模拟实现。2、多进程同步:通过编写程序实现多进程同步。二、设计的意义:通过对几种算法的比较了解各种算法的性能以及线程同步问题。锻炼知识的运用能力和实践能力。26第2章系统总体设计2.1系统功能设计2.1.1页面调度算法
6、系统功能设计本系统实现了对OS页面置换算法的模拟。主要功能模块包括:先进先出算法(FIFO)、最近最久未使用算法(LRU)、最佳置换算法(OPT)。如图2-2所示。图2-2页面置换2.1.2多进程同步本系统通过C语言实现了对OS多线程同步。主要功能模块包括:生产者生产算法,消费者消费算法,线程ID号产生。图2-1生产与消费2.2系统功能模块流程图2.2.1多线程同步功能流程图3个生产者、3个消费者、共享20个单元缓冲区26图2-3生产与消费图形描述生产者线程开始资源信号量P操作互斥信号量P操作生
7、产一个产品把产品送入缓冲区互斥信号量V操作资源信号量V操作等待队列中有消费者线程等待队列中有消费者线程线程自我阻塞添加到等待队列线程自我阻塞添加到等待队列未通过未通过通过通过唤醒对头的消费者线程唤醒对头的消费者线程生产者线程结束YYNN图2-4生产者流程结构26生产者线程开始资源信号量P操作互斥信号量P操作生产一个产品把产品送入缓冲区互斥信号量V操作资源信号量V操作等待队列中有消费者线程等待队列中有消费者线程线程自我阻塞添加到等待队列线程自我阻塞添加到等待队列未通过未通过通过通过唤醒对头的消费者
8、线程唤醒对头的消费者线程生产者线程结束YYNN图2-5消费者流程结构2.2.2页面调度系统功能流程图功能描述:(1)最佳置换算法:被淘汰的页面,将是以后永不使用或是在最长(未来)时间内不在被访问的页面。采用最佳置换算法可以保证获得最低的缺页率。如图2-6所示。26图2-6最佳置换算法(2)先进先出置换算法:该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。该算法简单,但与进程实际运行规律不相适应,可能出现“抖动现象”。如图2-7所示。26图2-7先进先出置换算法流程图(
此文档下载收益归作者所有