




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统实验教 学 大 纲课程编码:131204 课程类别:专业基础课适用专业:计算机科学与技术专业 主要教学内容:操作系统基本原理课程总学时:78 实验学时:14 【实验目标要求】操作系统是计算机教学中最重要的环节之一,也是计算机专业学生的一门重要的专业课程。操作系统课程主要内容包括:进程管理、处理机调度与死锁、存储管理、设备管理、文件系统、操作系统接口、网络操作系统、操作系统安全性以及Unix系统内核结构。由于操作系统涉及计算机系统中各种软硬件资源的管理,内容比较繁琐,具有很强的实践性。要学好这门课程,必须把理论与实践紧密结合,才能取得较好的学习效果。培养计算机专业的学生的系统程序设计能力,是操作系统课程的一个非常重要的环节。通过操作系统上机实验,可以培养学生程序设计的方法和技巧,提高学生编制清晰、合理、可读性好的系统程序的能力,加深对操作系统课程的理解。使学生更好地掌握操作系统的基本概念、基本原理、及基本功能,具有分析实际操作系统、设计、构造和开发现代操作系统的基本能力。【实验学习要求】认真学习教学过程中讲授的与实验相关的内容,提前做好实验预习。按实验指导书要求事先编好程序;准备好需要输入的中间数据;估计可能出现的问题;预计可能得到的运行结果。做到在每个实验前明确实验目的、掌握实验的基本内容及操作方法;在实验中正确使用实验设备 ,认真观察、分析实验结果;实验后要根据要求做好总结,上交实验报告。【实验计划】实验序号实验项目内容学时实验类型实验一进程调度实验4设计型实验二资源分配实验4设计型实验三存储器管理实验6综合型【实验教材及主要参考资料】教材: 计算机操作系统,汤子赢等编著,西安电子科技大学出版社,2002操作系统教程题解与实验指导,孟静编著,高等教育出版社,2003参考资料: 操作系统实验指导书,傅秀芬编著,广东工业大学出版科中山大学 OSCAI : /os/ 操作系统教程,陈向群等编著,北京大学出版社,2001Windows操作系统原理,尤晋元等编著,机械工业出版社,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,以便进行检查。重复以上过程,直到所要进程都完成为止。为了清楚的观察诸进程的调度过程,程序应将每个时间片内的进程的情况显示出来,参照的具体格式如下: RUNNING PROG: I READY_QUEUE:-id1-id2 BLOCK_QUEUE:-id3-id4实验主要步骤:1. 启动C语言环境,新建文件。2. 假设在调度前,系统中有5个进程,他们的初始状态如下:ID 0 1 2 3 4PRIORITY 9 38 30 29 0CPUTIME 0 0 0 0 0ALLTIME 3 3 6 3 4STARTBLOCK 2 -1 -1 -1 -1BLOCKTIME 3 0 0 0 0STATE 都为 READY3.按照给定进程,作为程序的输入,编写程序运行。思考题:编写一个多道程序系统的作业调度模拟程序,可采用任一调度算法。实验二、资源分配实验目的:本实习要求学生编写和调试一个系统动态分配资源的简单模拟程序,观察死锁产生的条件,并采用适当的算法,有效地防止和避免死锁的发生。实验内容:本实习中共有两个实习题。第一题:用银行家算法实现资源分配。(1)把各进程需要和已占用资源的情况记录在进程控制块中,假定进程控制块PCB的格式为:进程号状 态当前申请量资源需求总量已占资源量 (2) 为了观察死锁现象的发生,了解用银行算法进行资源分配可以避免死锁,在模拟程序中采用两种资源分配算法:银行算法和随机算法。随机算法的分配原则是:当进程申请资源时,如果系统中现存资源数能满足进程的当前资源申请量,就把资源分配给该进程,否则就置进程为等待态。用随机算法分配资源可能会产生死锁。资源分配模拟程序总流程见图2.1。图2.1 资源分配模拟程序总流程n 随机分配算法流程见图2.2。图2.2 随机分配算法模拟流程n 银行算法流程见图2.3。图2.3 银行算法模拟流程第二题:用按序分配策略实现资源分配。(1) 防止进程发生循环等待的另一种资源分配策略是按序分配算法。其基本思想如下:把系统中所有的资源排一个顺序,例如系统共有m个资源,用ri表示第i个资源,则这m个资源是: r1, r2, r3 , rm 规定任何进程不得在占用资源ri(1im)后再申请rj(jim),或者说,如果里程需要资源rj,那么它必须在申请ri之前申请(ji)。可以证明,按这种策略分配资源时破坏了循环等待条件,故能防止发生死锁。(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所示。开始是取一条指令取指令中访问的页号查页表该页标志=1?转缺页中断子程序形成绝对地址输出绝对地址有后继指令?结束取一条指令否是否图 3.1 地址转换模拟流程图(5) 缺页中断模拟。如果访问页不在主存且页表未满,则调入一页并打印页表情况;如果该页不在主存且页表已满,则产生缺页中断,模拟算法如图3.2所示。输出:页号lnumber输出:*lnumber页号为lnumber淘汰页的页号j=phead将页lnumber装入队尾输出:页号j修改页表:第j页存在标志改为“0”第lnumber页存在标记改为“1”第lnumber页修改标记改为“0”第lnumber页主存块号为第j页原主存块号图 3.2 缺页中断算法流程图实验中采用FIFO算法进行页面淘汰。把在主存的页的页号按进入主存的先后次序排成队列,每次总是调出队首页。用数组存放页号的队列。若分配给该作业的物理块数为m,则数组由m个元素组成,p0,p1pm-1,队首指针head,队尾指针tail。当装入新页时,将其页号装入数组。实验主要步骤:1. 启动C语言环境,新建文件。2. 假定主存的每块长度为128个字节;现有一个共七页的作业,其中的第0页至第3页已经装入主存,其余三页未装入主存,主存;该作业的页表为:015011118012219013311021400225002360121如果作业依次执行的指令序列(操作,页号,单元号)为:(+, 0, 070)、(+, 1, 050)、(*,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 光伏电池生产线参观保密协议书
- 慢性肿瘤用药指导
- 综合货物运输基础
- 2024年高考语文备考:非连续性文本+提出对策措施
- 2024年高考语文冲刺小题增分练03含答案
- Zika学前教育体系构建路径
- 为谁工作总结汇报
- 猪胸膜肺炎放线杆菌研究概述
- 足浴行业服务培训
- 知“帕”不怕:科学防治帕金森病健康宣教
- NPI流程管理制度
- 2025 年湖北省中考生物地理试卷
- 荆州中学2024-2025学年高二下学期6月月考语文答案(定)
- 公司年中会议策划方案
- 计算物理面试题及答案
- JG/T 455-2014建筑门窗幕墙用钢化玻璃
- 酒吧员工劳务合同范本
- 法人变更免责协议书
- 美洲文化课件教学
- 2025届重庆市巴川中学生物七下期末统考试题含解析
- 期末总动员暨诚信教育主题班会
评论
0/150
提交评论