操作系统课程设计

发布 2022-10-05 11:46:28 阅读 5506

操作系统课程设计是操作系统课程学习的延续。主要目的是配合操作系统课程的学习,对linux操作系统有一定掌握,能够熟练操作,并能在linux系统下模拟实现操作系统的功能,有助于对操作系统的理解。

操作系统课程设计在学生平时成绩中占有较大比重,共6课时,希望各位同学认真对待。

本次课程设计主要分为操作题和编程设计题,主要考查同学们对linux的掌握的熟练程度,以及用语言来模拟操作系统的主要功能的能力。所以,规定试验环境如下:

系统:windows 2000上的虚拟机上运行的red hat linux

语言:c/c++

开发工具:gcc

本次课程设计共有三个题目,其中第一个题目为操作题,同学们需要对linux的基本的命令(常用的几个,讲课的时候强调的),这个题目,我会实时检查,让你用命令完成一定的功能,然后,根据完成情况评定成绩。第二题为编程设计题,每个同学必须独立完成,第三题为选做题,打分时作为参考。

第一题操作系统。

一、实验目的。

通过对linux常用命令的熟悉和掌握,可以熟练操作linux,并且,可以进一步掌握和理解操作系统的相关理论,理解操作系统的整个运行机制。

二、实验内容。

上课过程中指出的需要熟练掌握的操作系统命令,可以用这些命令来完成一系列的操作(创建目录,创建文件,显示文件信息,显示文件内容等等)。检查时,随机出题考查。

第二题进程调度。

一、实验目的。

观察、体会操作系统的进程调度方法,并通过一个简单的进程调度模拟程序的实现,加深对进程调度算法,进程切换的理解。

二、实验内容。

采用动态优先数的方法,编写一进程调度程序模拟程序。模拟程序只进行相应的调度模拟操作。

提示]:1) 假定系统有五个进程,每一个进程用一个进程控制块pcb来代表,进程控制块的格式为:

进程名。指针。

要求运行时间。

优先数。状态。

其中,进程名——作为进程的标识,假设五个进程的进程名分别为p1,p2,p3,p4,p5。

指针——按优先数的大小把五个进程连成队列,用指针指出下一个进程的进程控制块的首地址,最后一个进程中的指针为“0”。

要求运行时间——假设进程需要运行的单位时间数。

优先数——赋予进程的优先数,调度时总是选取优先数大的进程先执行。

状态——可假设有两种状态,“就绪”状态和“结束”状态。五个进程的初始状态都为“就绪”,用“r”表示,当一个进程运行结束后,它的状态为“结束”,用“e”表示。

2) 在每次运行你所设计的处理器调度程序之前,为每个进程任意确定它的“优先数”和“要求运行时间”。

3) 为了调度方便,把五个进程按给定的优先数从大到小连成队列。用一单元指出队首进程,用指针指出队列的连接情况。

4) 处理器调度总是选队首进程运行。采用动态改变优先数的办法,进程每运行一次优先数就减“1”。由于本实习是模拟处理器调度,所以,对被选中的进程并不实际的启动运行,而是执行:

优先数-1要求运行时间-1

来模拟进程的一次运行。

提醒注意的是:在实际的系统中,当一个进程被选中运行时,必须恢复进程的现场,让它占有处理器运行,直到出现等待事件或运行结束。在这里省去了这些工作。

5) 进程运行一次后,若要求运行时间〉0,则再将它加入队列(按优先数大小插入,且置队首标志);若要求运行时间=0,则把它的状态修改成“结束”(e),且退出队列。

6) 若“就绪”状态的进程队列不为空,则重复上面(4)和(5)的步骤,直到所有进程都成为“结束”状态。

7) 在所设计的程序中应有显示或打印语句,能显示或打印每次被选中进程的进程名以及运行一次后进程队列的变化。

8) 为五个进程任意确定一组“优先数”和“要求运行时间”,启动所设计的处理器调度程序,显示或打印逐次被选中进程的进程名以及进程控制块的动态变化过程。

第三题存储管理。

一、实验目的。

存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。

本实验的目的是通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。

二、实验内容。

通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成:

50% 的指令是顺序执行的;

25% 的指令是均匀分布在前地址部分;

25% 的指令是均匀分布在后地址部分。

具体的实施方法是:

在 [0,319] 的指令地址之间随机选取一起点 m;

顺序执行一条指令;

在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为 m′;

顺序执行一条指令,其地址为 m′+1;

在后地址 [m′+2,319] 中随机选取一条指令并执行 ;

重复上述步骤② ~直到执行 320 次指令。

将指令序列变换成为页地址流。

设:①页面大小为 1k;

用户内存容量为 4 页到 32 页 ;

用户虚存容量为 32k 。

在用户虚存中,按每 k 存放 10 条指令排列虚存地址,即 320 条指令在虚存中的存放方式为:

第 0 条 ~ 第 9 条指令为第 0 页 ( 对应虚存地址为 [0,9]);

第 10 条 ~ 第 19 条指令为第 1 页 ( 对应虚存地址为 [10,19] )

第 310 条 ~ 第 319 条指令为第 31 页 ( 对应虚存地址为 [310,319])

按以上方式,用户指令可组成 32 页。

计算并输出下述各种算法在不同内存容量下的命中率。

先进先出的算法 (fifo);

最近最少使用算法 (lrr);

最少访问页面算法 (lfr);

最近最不经常使用算法 (nur)。

命中率 = 1 - 页面失效次数∕页地址流长度。

在本实验中,页地址流长度为 320,页面失效次数为每次访问相应指令时,该指令所对应的页不在内存的次数。

三、随机数产生办法。

关于随机数产生办法,windwos系统提供函数srand( )和 rand( )进行初始化和产生随机数。例如:

#include <>

srand( (unsigned)time( null )

语句可初始化一个随机数 ;

a[o]=10 * rand( )32767 * 319 + 1;

a[1]= 10 * rand( )32767 * a[o];

语句可用来产生 a[0] 与 a[1] 中的随机数。

书写格式:1. 引言(主要介绍linux)

然后是正文。

2.常用基本命令介绍。

3.进程调度程序的设计。

1)介绍一下进程调度。

2)介绍一下优先权调度算法。

3)程序的设计思路。

4)程序**。

5)程序及运**况。

4. 实验过程**现的问题及解决方法。

5.总结,也就是实验体会。

完成后,各位同学除了提交课程设计任务书之外,还要把实验源程序保存好,我会进行验收,在通过验收之前,请各位同学一定要把自己的源程序和电子文档做好备份。

操作系统课程设计

课程设计 河北大学工商学院。装。订。线。操作系统课程设计。题目 操作系统课程设计 学院工商学院 学部信息科学与工程 专 操作系统课程设计。题目 操作系统课程设计 学院工商学院 学部信息科学与工程 专业计算机类 学号 姓名。指导教师。年 6 月 24 日。设备管理 2 2.1设计任务2 2.2设计要求...

操作系统课程设计

银行家算法模拟。系别 班级 组员 银行家算法模拟。1.课程设计目的。通过本次课程设计,加深对最经典的避免死锁的银行家算法的理解,掌握死锁形成必要条件 安全状态等概念的理解,通过用c语言编程模拟该算法,并在windows平台上实现,更好地掌握操作系统的原理及实现方法。2.任务及要求。设n为系统进程的个...

操作系统课程设计

学生实习实训报告。实习类型 操作系统课程设计 学号 0901110005 学生姓名 田兴杰 指导教师 曹春梅 专业班级 信息安全技术0901班 院 部 电子信息系 2011年 1 月 7日。实习实训成绩评定表。目录。目录3 摘要4关键字4 1.1虚拟机简介5 1.1.1 一般意义的虚拟机5 1.1....