CPU调度算法的模拟实现页面置换算法的模拟实现操作系统课程设计.doc
文本预览下载声明
.
.
课 程 设 计 说 明 书
设计题目: 操作系统课程设计
班 级: 软件工程专业 2009-1
学 号:
姓 名:
2011年 12月 27日
课 程 设 计 任 务 书
学院信息科学与工程专业 软件工程 班级 09-1 姓名于闯英
一、课程设计题目: 操作系统课程设计
二、课程设计主要参考资料
(1)计算机操作系统(第三版)
(2) 程序设计基础(基于C语言)
(3) C++面向对象程序设计
三、课程设计应解决的主要问题:
(1)CPU调度算法的模拟实现
(2)页面置换算法的模拟实现
(3)磁盘调度算法的模拟实现
四、课程设计相关附件(如:图纸、软件等):
(1)codeblocks8.02编程软件
五、任务发出日期: 2011-11-1 课程设计完成日期: 2011-12-27
指导教师签字:
指导教师对课程设计的评语
成绩:
指导教师签字:
年 月 日
设计1 CPU调度算法的模拟实现
设计目的
通过CPU调度相关算法的实现,了解CPU调度的相关知识,通过实现CPU调度算法,理解CPU的管理,以及不同的CPU调度算法实现过程。体会算法的重要性。
二、设计要求
1、编写算法,实现FCFS、非抢占SJF、可抢占优先权调度、RR
2、针对模拟进程,利用CPU调度算法进行调度
3、进行算法评价,计算平均周转时间和平均等待时间
4、调度所需的进程参数由输入产生(手工输入或者随机数产生)
5、输出调度结果
6、输出算法评价指标
三、设计说明
1、采用数组存储进程属性;
course[100][6];
course的行坐标是进程名,course的纵坐标0表示进程到达时间,1表示服务时间,2表示开始服务时间,3表示完成时间,5表示优先级
2、FCFS
先来先服务调度算法是一种最简单的调度算法,当作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个最先进入该队列的作业
3、非抢占SJF
短作业优先调度算法,是指对短作业有限调度算法。是从后备队列中选择一个估计运行时间最短的作业将他们调入内存。
4、可抢占优先权调度
在这种方式下,系统把处理机分配给优先级最高的进程,使之执行。但在其执行期间,只要出现另一个其优先权更高的进程,进程调度程序就立即停止当前进程(原优先权最高的进程)的执行,重新将处理及分配给新到的优先权最高的进程。
5、RR
系统将所有的就绪进程按先来先服务的原则排成一个队列,每次调度时,把CPU分配给队首的进程并令其执行一个时间片。当执行的时间片用完时,有一个计时器发出时钟中断请求。调度程序便据此信号来停止该进程的执行,并将他送往就绪队列的末尾;然后,再把处理机分配给就绪队列中新的队首过程。
四、运行结果及分析
输入进程的数量。
五、总结
1、刚开始没想好count中该存储几种属性结果多出了一个本来是要存储周转时间的,但是周转时间用完成时间和开始时间可求便没有存储;另外因为在main函数中不需要完成时间和开始时间所以程序中并没有将完成时间和开始时间存到count中;
2、编写程序时本来是跟算法思想来设计程序,但是模拟毕竟与实际不同,比如没有中断请求,没有真正时间观念,所以所设计程序只是将个算法算出结果显现,并非模拟算法过程;
设计2 页面置换算法的模拟实现
一、设计目的
通过实现页面置换算法的FIFO和LRU两种算法,理解进程运行时系统是怎样选择换出页面的,对于两种不同的算法各自的优缺点是哪些。
二、设计要求
1、编写算法,实现页面置换算法FIFO、LRU;
2、针对内存地址引用串,运行页面置换算法进行页面置换;
3、算法所需的各种参数由输入产生(手工输入或者随机数产生);
4、输出内存驻留的页面集合,页错误次数以及页错误率;
三、设计说明
1、采
显示全部