操作系统课程设计报告

发布 2022-10-05 12:34:28 阅读 4365

课程设计说明书。

设计题目操作系统课程设计。

班级: 信息学管理与信息系统2011级

学号201101051012

姓名李克乾。

山东科技大学。

2024年12 月 11 日。

课程设计任务书。

学院信息科学与工程专业信息学管理与信息系统班级 2011-2

姓名李克乾

一、课程设计题目操作系统课程设计。

二、课程设计主要参考资料。

1)abraham silberschatz & peter baer galvin & greg gagne. operating system concepts(第七版影印版). 高等教育出版社。

2007.3

2) c++面向对象程序设计电子工业出版社

3)计算机操作系统(第三版) 西安电子科技大学出版社。

三、课程设计应解决的主要问题:

1)cpu调度算法的模拟实现。

2)死锁相关算法的实现。

3)磁盘调度算法的实现。

四、课程设计相关附件(如:图纸、软件等):

1) 程序源**。

五、任务发出日期: 2013-10-1 课程设计完成日期: 2014-1-1

指导教师签字。

指导教师对课程设计的评语。

成绩。指导教师签字。

年月日。设计1 cpu调度算法的模拟实现。

一、设计目的。

利用c++编写cpu调度算法,实现先来先服务调度算法fcfs、优先级调度算法ps、短作业优先调度算法sjf、时间片轮转调度算法rr的运行过程和实现的结果,针对模拟进程,利用编写的cpu调度算法对需要运行的进程进行调度。进行算法评价,计算平均周转时间和平均等待时间。

二、设计要求。

针对模拟进程,利用cpu调度算法进行调度,最后要进行算法评价,计算平均周转时间和平均等待时间,并且输出调度结果和输出算法评价指标。

调度所需的进程参数由输入产生(手工输入或者随机数产生)。

三、设计说明。

时间片轮转算法需要输入相应的时间片,所以独立编写一个程序,系统主体结构如下:

实现的结构体如下:

struct task_struct

tasks[max];

运用switch语句对输入的进程进行相应的算法运行,进入相应的算法函数后会对进程进行调度并输出结果,并对结果进行评估。

1. 先来先服务算法(fcfs)可用于作业调度,也可用于进程调度。每次调度都是从后备队列中选择一个或者多个最先进入队列的作业或进程,将他们调入内存进行分配资源,创建进程,放入就绪队列并开始执行。

实现函数:int fcfs() 先来先服务*/

主要实现方法如下:

2. 短作业优先调度算法(sjf),即从后备队列中选择一个或几个估计运行时间最短的作业或进程对其分配资源,并进行调度执行。实现函数:int sjf() 短作业优先*/

主要实现方法如下:

3. 优先级调度算法即在将第一个到达的进程执行完毕后,会在此刻已经到达的进程或作业中选择优先权最高的一个或者几个进程对其进行资源分配并创建进程执行。实现函数:

int ps() 优先级调度*/

主要实现方法如下:

4. 在时间片调度算法的模拟实现中,时间片就是分配给进程运行的一段时间。在轮转法中,系统将所有的可运行(即就绪)进程按先来先服务的原则,排成一个队列,每次调度时把cpu分配给队首进程,并令其执行一个时间片。

当某进程执行的时间片用完时,系统发出信号,通知调度程序,调度程序便据此信号来停止该进程的执行,并将刚运行的进程送到运行队列的末尾,等待下一次执行;然后,把处理机分配给就绪队列中新的队首进程,同时也让它执行一个时间片。这样就可以保证运行队列中的所有进程,在一个给定的时间内,均能获得一时间片的处理机执行时间。实现函数(单独程序)

主要实现方法如下:

四、运行结果及分析。

设有如下3个进程:

注:"优先级"一栏,数字大的表示优先级越高。

根据本例来运行本算法,结果如下:

采用先来先服务算法:

采用优先级调度:

采用短作业优先:

时间片轮转算法:

本程序已通过测试阶段,未出现进程调度错误情况。运行程序后,只需按照提示输入相应的进程的信息(进程名尽量输入单个字母)后选择需要的调度算法即可得出相应结果,并且可以循环运行多次。后期进行相应的美化加工,如需要,可进行可视化改造。

结果分析:对于进程调度后得出的各项数据基本准确,当输入时间或其他数据信息出现精确度较高的数值时可能会出现一些误差,属于误差范围之内。程序基本可以实现cpu调度算法的过程解释。

五、总结。通过此次课程设计,更深入的理解了各个进程调度算法,及实现过程。在此过程中,遇到了困难,能及时请教同学,查询相关资料,及时解决了问题,但仍有不足之处,将会在今后学习中更加努力。

六.附录(完整**)

#include

using namespace std;

#define max 10

struct task_struct

tasks[max];

int counter实际进程个数*/

int fcfs先来先服务*/

int ps优先级调度*/

int sjf短作业优先*/

int hrrn响应比高优先*/

操作系统课程设计报告

西安郵電大學。院系名称 计算机学院。专业名称 软件工程。班级 1104 学生姓名 赵大伟。学号 8位 04113124 指导教师 舒新峰。设计起止时间 2013.11.10 2013.11.20 1 通过观察 分析实验现象,深入理解进程及进程在调度执行和内存空间等方面的特点,掌握在posix 规范中...

操作系统课程设计报告

课程设计。课程名称操作系统。题目名称多级文件系统 2 学生学院计算机学院 专业班级。学号。学生姓名。指导教师。年月日。目录。一 课程设计 6 二 开发工具及环境 6 三 设计内容 6 四 结构图 8 五 部分 9 六 运行截图 11 七 参考文献 15 八 心得体会 15 本课程设计要求设计一个模拟...

操作系统课程设计报告

实验一进程管理。一 实验目的。1 开发一个函数,建立进程控制块和资源控制块结构,并实现相关数据结构的初始化。2 开发一系列操作,由进程调用这些操作,达到控制进程申请或释放各种资源的目的。通过实验理解进程的概念,进程的组成 pcb结构 进程的并发执行和操作系统进行进程管理的相关原语 主要是进程的创建 ...