操作系统实验大纲.docx
- 文档编号:2822337
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:13
- 大小:135.66KB
操作系统实验大纲.docx
《操作系统实验大纲.docx》由会员分享,可在线阅读,更多相关《操作系统实验大纲.docx(13页珍藏版)》请在冰豆网上搜索。
操作系统实验大纲
《操作系统》实验
教学大纲
课程编码:
131204课程类别:
专业基础课
适用专业:
计算机科学与技术专业主要教学内容:
操作系统基本原理
课程总学时:
78实验学时:
14
【实验目标要求】
操作系统是计算机教学中最重要的环节之一,也是计算机专业学生的一门重要的专业课程。
操作系统课程主要内容包括:
进程管理、处理机调度与死锁、存储管理、设备管理、文件系统、操作系统接口、网络操作系统、操作系统安全性以及Unix系统内核结构。
由于操作系统涉及计算机系统中各种软硬件资源的管理,内容比较繁琐,具有很强的实践性。
要学好这门课程,必须把理论与实践紧密结合,才能取得较好的学习效果。
培养计算机专业的学生的系统程序设计能力,是操作系统课程的一个非常重要的环节。
通过操作系统上机实验,可以培养学生程序设计的方法和技巧,提高学生编制清晰、合理、可读性好的系统程序的能力,加深对操作系统课程的理解。
使学生更好地掌握操作系统的基本概念、基本原理、及基本功能,具有分析实际操作系统、设计、构造和开发现代操作系统的基本能力。
【实验学习要求】
认真学习教学过程中讲授的与实验相关的内容,提前做好实验预习。
按实验指导书要求事先编好程序;准备好需要输入的中间数据;估计可能出现的问题;预计可能得到的运行结果。
做到在每个实验前明确实验目的、掌握实验的基本内容及操作方法;在实验中正确使用实验设备,认真观察、分析实验结果;实验后要根据要求做好总结,上交实验报告。
【实验计划】
实验序号
实验项目内容
学时
实验类型
实验一
进程调度实验
4
设计型
实验二
资源分配实验
4
设计型
实验三
存储器管理实验
6
综合型
【实验教材及主要参考资料】
教材:
《计算机操作系统》,汤子赢等编著,西安电子科技大学出版社,2002
《操作系统教程题解与实验指导》,孟静编著,高等教育出版社,2003
参考资料:
《操作系统实验指导书》,傅秀芬编著,广东工业大学出版科
中山大学OSCAI:
http:
//i-
《操作系统教程》,陈向群等编著,北京大学出版社,2001
《Windows操作系统原理》,尤晋元等编著,机械工业出版社,2001
《计算机操作系统教程》,周长林等编著,高等教育出版社,2002
【实验任务】
实验一、单处理器系统的进程调度
实验目的:
模拟单处理器系统的进程调度,采用动态优先权的进程调度算法作为进程设计算法,以加深对进程的概念及进程调度算法的理解.
实验内容:
(1)用C语言实现对N个进程使用动态优先权算法的进程调度。
(2)描述用来标识进程的进程控制块PCB结构。
▪进程标识数ID
▪进程优先数PRIORITY,并规定优先数越大的进程,其优先权越高(人为指定或随机数)。
▪进程已占用的CPU时间CPUTIME。
▪进程还需占用的CPU时间ALLTIME,当进程运行完毕ALLTIME是为0。
▪进程的阻塞时间STARTBLOCK,表示当进程再运行STARTBLOCK个时间片后,进程将进入阻塞状态。
▪进程被阻塞的时间BLOCKTIME,表示已阻塞的进程再等待BLOCKTIME个时间片后将转换成就绪状态。
▪进程状态STATE。
▪队列指针NEXT,用来将PCB排成队列。
(3)手工输入建立几个进程,建立一个就绪队列,按优先数由高到低排列。
(4)进行进程调度,进程调度流程如图1.1所示。
图1.1进程调度流程图
(5)每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。
重复以上过程,直到所要进程都完成为止。
为了清楚的观察诸进程的调度过程,程序应将每个时间片内的进程的情况显示出来,参照的具体格式如下:
RUNNINGPROG:
I
READY_QUEUE:
->id1->id2
BLOCK_QUEUE:
->id3->id4
实验主要步骤:
1.启动C语言环境,新建文件。
2.假设在调度前,系统中有5个进程,他们的初始状态如下:
ID01234
PRIORITY93830290
CPUTIME00000
ALLTIME33634
STARTBLOCK2-1-1-1-1
BLOCKTIME30000
STATE都为READY
3.按照给定进程,作为程序的输入,编写程序运行。
思考题:
编写一个多道程序系统的作业调度模拟程序,可采用任一调度算法。
实验二、资源分配
实验目的:
本实习要求学生编写和调试一个系统动态分配资源的简单模拟程序,观察死锁产生的条件,并采用适当的算法,有效地防止和避免死锁的发生。
实验内容:
本实习中共有两个实习题。
第一题:
用银行家算法实现资源分配。
(1)把各进程需要和已占用资源的情况记录在进程控制块中,假定进程控制块PCB的格式为:
进程号
状态
当前申请量
资源需求总量
已占资源量
(2)为了观察死锁现象的发生,了解用银行算法进行资源分配可以避免死锁,在模拟程序中采用两种资源分配算法:
银行算法和随机算法。
随机算法的分配原则是:
当进程申请资源时,如果系统中现存资源数能满足进程的当前资源申请量,就把资源分配给该进程,否则就置进程为等待态。
用随机算法分配资源可能会产生死锁。
资源分配模拟程序总流程见图2.1。
图2.1资源分配模拟程序总流程
⏹随机分配算法流程见图2.2。
图2.2随机分配算法模拟流程
⏹银行算法流程见图2.3。
。
图2.3银行算法模拟流程
第二题:
用按序分配策略实现资源分配。
(1)防止进程发生循环等待的另一种资源分配策略是按序分配算法。
其基本思想如下:
把系统中所有的资源排一个顺序,例如系统共有m个资源,用ri表示第i个资源,则这m个资源是:
r1,r2,r3……,rm规定任何进程不得在占用资源ri(1 可以证明,按这种策略分配资源时破坏了循环等待条件,故能防止发生死锁。 (2)把各进程申请资源的情况记录在PCB中,现假定进程控制块PCB的格式如下: 进程号 状态 当前等待资源号 上次申请资源号 其中“状态”可以为就绪态、等待态和完成态。 当进程处于等待态时,表示系统不能满足该进程的当前资源申请,此时,PCB中的“当前等待资源号”反映了该进程等待的资源。 当系统为进程分配了一个资源后,则把分配的资源号填入“上次申请资源号”一栏中。 (3)假定系统中拥有的资源数m=10,而系统中申请资源的进程数N=3。 按序分配算法程序流程见图2.4。 图2.4按序分配算法模拟流程 实验主要步骤: 启动C语言环境,新建文件。 题目一: 1.设计一个3个并发进程共享10个同类资源的系统,进程可动态地申请资源和释放资源,系统按各进程的申请动态地分配资源。 2.设计用银行家算法和随机分配算法,实现资源分配的两个资源分配程序,应具有显示或打印各进程依次要求申请的资源数以及依次分配资源的情况。 3.确定一组各进程依次申请资源数的序列,在相同的情况下分别运行上述两种资源分配程序,观察运行结果。 4.打印资源申请情况: 资源申请: 进程号 依次申请的资源数/资源号 题目二: 1.设计用按序分配算法实现资源分配的资源分配程序,应具有显示或打印各进程依次要求申请的资源号以及依次分配资源地情况。 2.确定两组各进程依次要求申请的资源号,要求其中的一组中各进程按序地申请资源,另一组中各进程申请资源不受序号限制,分别运行上述设计的资源分配程序,观察运行结果。 3.打印资源分配情况 分配情况: 序号 进程号 得到的资源数/资源号 等待资源数/资源号 思考题: 如何实现并发执行的进程对资源的动态申请和动态分配。 实验三、请求页式存储管理 实验目的: 通过编写和调试存储管理的模拟程序以加深对存储管理方案的理解,熟悉虚存管理的各种页面淘汰算法。 通过编写和调试地址转换过程的模拟程序以加强对地址转换过程的了解。 实验内容: (1)用C语言实现对分页式存储管理中的硬件的地址转换和产生缺页中断。 (2)设计页表。 分页式虚拟存储系统是把作业的副本存放在磁盘上,当作业被选中时,可把作业的开始几页先装入主存且启动执行。 为此,在为作业建立页表时,应说明哪些页已在主存,哪些页尚未装入主存,页表的格式为: (3)地址计算。 作业执行时,指令中的逻辑地址指出了参加运算的操作数存放的页号和单元号,硬件的地址转换机构按页号查页表,若该页对应标志为“1”,则表示该页已在主存,这时根据关系式: 绝对地址=块号*块长+单元号 计算出欲访问的主存单元地址。 按计算出的绝对地址可以取到操作数,完成一条指令的执行。 若访问的页标志为“0”,则表示该页不在主存,这时硬件发“缺页中断”信号,由OS按该页在磁盘上的位置,把该页信息从磁盘读出装入主存后再重新执行这条指令。 (4)设计“地址转换”程序模拟硬件的地址转换工作。 当访问的页在主存时,则形成绝对地址,但不去模拟指令的执行,而用输出转换后的地址来代替一条指令的执行。 当访问的页不在主存时,则输出“*该页页号”,表示产生了一次缺页中断,执行缺页中断程序。 该模拟程序的算法如图3.1所示。 图3.1地址转换模拟流程图 (5)缺页中断模拟。 如果访问页不在主存且页表未满,则调入一页并打印页表情况;如果该页不在主存且页表已满,则产生缺页中断,模拟算法如图3.2所示。 图3.2缺页中断算法流程图 实验中采用FIFO算法进行页面淘汰。 把在主存的页的页号按进入主存的先后次序排成队列,每次总是调出队首页。 用数组存放页号的队列。 若分配给该作业的物理块数为m,则数组由m个元素组成,p[0],p[1]……p[m-1],队首指针head,队尾指针tail。 当装入新页时,将其页号装入数组。 实验主要步骤: 1.启动C语言环境,新建文件。 2.假定主存的每块长度为128个字节;现有一个共七页的作业,其中的第0页至第3页已经装入主存,其余三页未装入主存,主存;该作业的页表为: 如果作业依次执行的指令序列(操作,页号,单元号)为: (+,0,070)、(+,1,050)、(*,2,015)、(存,3,021)、(取,0,056)、(—,6,040)、(移位,4,053)、(+,5,023)、(存,1,037)、(取,2,078)、(+,0,070)、(+,4,001)、(存,6,084)。 运行设计的地址转换程序,显示或打印运行结果。 因仅模拟地址转换,并不模拟指令的执行,故可不考虑上述指令序列中的操作。 3.编写程序运行。 思考题: 请采用合适的方法编写程序完成主存空间的分配和回收
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 实验 大纲
![提示](https://static.bdocx.com/images/bang_tan.gif)