版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、安 徽 大 学实 验 课 程 教 案课 程 名 称操作系统课 程 属 性专业开 课 学 年2008年至2009年开 课 学 期I 年 级 专 业2006级软件工程专业 主 讲 教 师周爱武课程所属院系部计算机科学与技术学院课程所属系(教研室)软件工程系实验一名称进程调度模拟实验一、背景资料进程调度是操作系统中最重要的功能之一,在单处理机系统中,进程调度程序负责从处于就绪状态的多个进程中按照预定的算法挑选一个,将处理机分配给它,使其进入运行状态。进程调度有多种,常用的有先进先出算法、简单轮转法、短进程优先算法、基于优先级的调度算法以及多级反馈队列算法等。为深入理解进程调度的功能,设计几个调度算法
2、,模拟实现处理机调度。二、实验目的要求通过对进程调度算法的模拟加深对进程概念和进程调度过程的理解。1熟悉进程控制块的作用和实现技术;2熟悉操作系统的进程调度算法及实现方法。三、实验原理1. 用C语言或Pascal语言实现对N(N=5)个进程的调度模拟,要求至少采用两种不同的调度算法(如简单轮转法Round Robin和优先权高者优先算法Highest Priority First),分别进行模拟调度。2. 每个进程用一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。 3. 优先权高者优先算法中进程的优先数及需要的运
3、行时间可以人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。 4. 进程的运行时间以时间片为单位进行计算。 5. 每个进程的状态可以是就绪 W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。 6. 就绪进程获得 CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。 7. 如果运行一个时间片后,进程的已占用 CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程插入就绪队列等待(动态优先权应该修改优先数)。 8. 每进行一次模拟调度,程序都输出一次运行进
4、程、就绪队列各个进程的 PCB信息,以便进行检查。 9. 重复以上过程,直到所有进程都完成为止。四、材料、试剂及仪器计算机,高级语言系统五、实验步骤(包括操作方法、数据处理)1熟悉各种进程调度调度算法的思想、原理及实现技术2. 根据算法确定PCB数据结构,设计1-2个算法的模拟程序,画出程序流程图3. 编程,调试4. 设计运行数据,运行模拟程序,得出结果5. 分析运行结果,对调度算法进行总结六、注意事项1. PCB的内容和组织方式2. 模拟程序,不需真正分配CPU3. 注意就绪队列PCB的处理,提高运行效率七、思考题1. 就绪队列PCB每次调度时进行排序好吗?2. 如何实现动态优先级?3. 在
5、实际的进程调度中,还有哪些可行的算法,怎样模拟?4. 在实际的进程调度中,除了按算法选择下一个运行的进程之外,操作系统还应该做哪些工作?实验二名称作业调度模拟实验一、 背景资料作业调度是批处理操作系统中最重要的功能之一,在单处理机系统中,作业调度程序负责从处于后备状态的多个作业中按照预定的算法挑选一批进入系统运行。作业调度算法有多种,常用的有先来先服务算法、短作业优先算法、响应比高者优先算法等。二、实验目的要求通过对单道批处理系统调度算法的模拟加深对作业概念和作业调度过程的理解。1熟悉作业控制块的作用和实现技术;2熟悉操作系统的作业调度算法及实现方法。三、实验原理1. 用C语言或Pascal语
6、言实现对N(N=5)个作业的调度模拟,要求采用1-2种不同的调度算法(如先进先出算法、短作业优先算法),分别进行模拟调度。具体如下:2. 为单道批处理系统设计一个作业调度程序。由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的 CPU时限等因素。如采用先来先服务(FCFS)调度算法,即按作业提交的先后次序进行调度。总是首先调度在系统中等待时间最长的作业。如采用短作业优先算法,则按作业需要运行时间的长短进行调度。总是首先调度需要运行时间最短的作业。3. 每个作业由一个作业控制块JCB表示,JCB可以包含如
7、下信息:作业名、提交时间、所需的运行时间、所需的资源、作业状态、链指针等等。 4. 作业的状态可以是等待W(Wait)、运行R(Run)和完成F(Finish)三种状态之一。每个作业的最初状态总是等待W。 5. 各个等待的作业按照算法的调度原则进行排队,总是首先调度等待队列中队首的作业。 6. 每个作业完成后要打印该作业的作业号、开始运行时刻、完成时刻、周转时间和带权周转时间,一组作业完成后要计算并打印这组作业的平均周转时间、带权平均周转时间。四、材料、试剂及仪器计算机,高级语言系统五、实验步骤(包括操作方法、数据处理)1熟悉各种作业调度调度算法的思想、原理及实现技术2. 根据算法确定JCB数
8、据结构,设计1-2个算法的模拟程序,画出程序流程图3. 编程,调试4. 设计运行数据,运行模拟程序,得出结果5. 分析运行结果,对调度算法的性能进行总结六、注意事项1. 单道批处理系统每次只调度一个作业2. 调度算法体现在JCB的排队策略上七、思考题1. 后备队列JCB每次调度时进行排序好吗?2. 在实际的作业调度中,还有哪些可行的算法,怎样模拟?3. 多道批处理的作业调度还应该考虑哪些因素?实验三名称存储器管理实验一、背景资料存储管理是批处理操作系统中最重要的功能之一,在单处理机系统中,主存是中央处理机能直接存取指令和数据的存储器。能否合理而有效地使用主存,在很大程度上将影响整个计算机系统的
9、性能。分区式存储管理是操作系统的基本存储管理方案之一,可以实现主存空间的高效分配和回收。二、实验目的要求了解动态分区存储管理方式中的数据结构和分配算法,加深对动态分区存储管理方式及其实现技术的理解。1理解分区式存储管理的基本原理2熟悉分区分配和回收算法三、实验原理1. 设计一个可变式分区分配的存储管理方案。模拟实现分区的分配和回收过程。 2. 对分区的管理法可以是下面三种算法之一: a) 首次适应算法 b) 循环首次适应算法 c) 最佳适应算法 3. 用C语言或Pascal语言分别实现动态分区分配过程Allocate()和回收过程Free()。其中,空闲分区采用空闲分区链来组织,内存分配时,优
10、先使用空闲区低地址部分的空间。4. 运行时,设置内存空间初始容量,给定一个作业请求和释放内存的序列,则按照算法对该作业流进行内存的分配与回收处理,输出每次分配和回收之后的内存空间使用情况与空闲区链的变化情况。四、材料、试剂及仪器计算机,高级语言系统五、实验步骤(包括操作方法、数据处理)1熟悉各种分区分配算法的思想、原理及实现技术2. 根据算法确定分区分配数据结构,设计算法的模拟程序,画出程序流程图3. 编程,调试4. 设计运行数据,运行模拟程序,得出结果5. 分析运行结果,对分区分配算法进行总结六、注意事项1. 要求每次分配和回收后显示出空闲区链的情况。2. 如果不能为作业的请求进行内存分配,
11、给出相应的提示信息。 七、思考题1. 采用首次适应算法和最佳适应算法,对内存的分配和回收速度有什么影响?2. 如何解决碎片片问题?实验四名称虚拟存储器管理实验一、背景资料主存储器是计算机系统资源的瓶颈。存储管理需要采用一定的策略提高主存空间利用率并实现从逻辑上扩充内存。请求页式存储管理方案很好地实现了上述功能。请求页式存储管理实现对内存的离散分配,用页表记录进程的内存分配情况,允许进程只装入部分页面就开始运行,当访问不再内存的页面时由缺页中断处理程序将页面从外存调入,如果内存没有空闲块则需要进行页面置换。选择页面置换算法十分重要,直接影响系统的性能。二、实验目的要求通过对页面、页表、地址转换和
12、页面置换过程的模拟,加深对请求分页存储管理系统的原理和实现技术的理解。1熟悉各种页面置换算法的思想、原理及实现技术;2熟悉操作系统的页式虚拟存储技术。三、实验原理1. 设计一个请求页式存储管理方案。并编写模拟程序实现之。程序产生一个进程需要访问的指令地址流。它是一系列需要访问的指令的地址。为不失一般性,可以适当地(用人工指定地方法或用随机数产生器)生成这个序列,使得 50的指令是顺序执行的。25的指令均匀地散布在前地址部分,25的地址是均匀地散布在后地址部分。 2. 为简单起见,在淘汰一页时,只将该页在页表中抹去。而不再判断它是否被改写过,也不将它写回到辅存。3. 具体的做法可以是:产生一个需
13、要访问的指令地址流;指令合适的页面尺寸(例如以 1K或2K为1页);指定内存页表的最大长度,并对页表进行初始化;分配给进程的内存块为4个。4. 运行前进程所有页面均没有调入内存。模拟运行时,每访问一个地址时,首先要计算该地址所在的页的页号,然后查页表,判断该页是否在主存如果该页已在主存,如果所访问的指令已经在内存,则显示其物理地址,并转下一条指令;如果所访问的指令还未装入内存,则发生缺页,此时需要记录缺页产生次数,并将相应页面调入内存,如果4个内存块已满,则需要进行页面置换,最后显示其物理地址,并转下一条指令。在所有指令执行完毕后,显示进程运行过程中的缺页次数和缺页率。逐个地址访问,直到所有地
14、址访问完毕。5. 页面置换算法:可以采用OPT、FIFO、LRU三种算法之一。四、材料、试剂及仪器计算机,高级语言系统五、实验步骤(包括操作方法、数据处理)1熟悉各种页面置换算法的思想、原理及实现技术2. 设计1-2个算法的页面置换模拟程序,画出程序流程图3. 编程,调试4. 设计模拟运行的指令流,运行模拟程序,得出页面置换结果5. 分析运行结果,对页面置换算法进行总结六、注意事项1. 进程的指令访问次序可以随机生成,夜可以直接输入,注意范围限制和分布的合理性。2. 对页面置换算法进行性能分析七、思考题1. OPT可以在实际系统中实现吗?2. FIFO页面置换算法有什么问题?3. 在实际的操作
15、系统中,LRU算法如何实现?4如果增加分配给进程的物理块数,会对进程运行过程中的缺页率产生什么影响?5为什么说一般情况下,LRU算法比FIFO算法具有更好的性能?实验五名称文件管理实验一、背景资料文件管理是操作系统中用来存储和管理信息的机构,是用户访问最为频繁的功能。包括文件的逻辑结构、物理结构、文件目录的组织、文件存储空间管理、文件操作等功能。文件系统具有按名存取的功能,不仅方便用户的使用,而且能提高系统效率和保证信息的安全可靠。二、实验目的要求用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。 三、实验原理在内存中开
16、辟一个虚拟磁盘空间作为文件存储器,在其上实现一个简单的文件系统。在退出这个简单文件系统时,应将该虚拟文件系统保存到磁盘上,以便下次可以再将它恢复到内存的虚拟磁盘上。要求设计一个 n个用户的文件系统,每次用户可保存m个文件。文件存储空间的分配可以采用显式链接分配或其它方法。空闲空间的管理可以选择位示图或其它方法。如果采用位示图来管理文件存储空间,并采用显式链接分配方式,可以将位示图合并到FAT中。文件目录结构采用二级目录结构。为简单起见,可以不使用索引结点,其中的每个目录项包含文件名、物理地址、文件长度等信息,还可以通过目录项实现对文件读和写的保护。1采用二级目录结构时,第一级为主文件目录(MF
17、D),第二级为用户文件目录(UFD);2为了加速文件的存取。系统为每个用户建立一张用户打开文件表(UOF),用以记录用户当前正在使用的文件;3假定该文件系统提供了6条命令:创建,打开,读,写,关闭,删除。当要创建文件并向文件中保存一些信息时,用户程序应当使用create,write,close等3条命令来实现;当要读文件时,应使用open,read,close等3条命令;4当用户要在磁盘上建立一个文件时,首先使用如下命令向系统提出建立文件的请求:格式:CREATE (文件名,文件最大长度,文件保护方式)写文件命令格式:WRITE(文件名,字节个数)四、材料、试剂及仪器计算机,高级语言系统五、实
18、验步骤(包括操作方法、数据处理)1. 分析文件系统的功能,画出模块结构图;2. 设计文件系统的各个模块的功能,画出流程图;3. 编程,调试;4. 运行程序,进行各种文件操作,测试结果;5.六、注意事项1. 文件目录的组织;2. 文件操作的实现。七、思考题1. 如果引入磁盘索引结点,上述实现过程需要做哪些修改?2如果设计实现多级目录,则又要进行哪些扩充?实验六名称操作系统接口实验一、背景资料为了使用户能方便地通过操作系统使用计算机,OS向用户提供了各种接口,具体有:1. 命令接口2. 系统功能调用(程序接口)3. 图形用户接口二、实验目的要求熟悉操作系统的命令接口、图形接口和程序接口。1熟悉操作
19、系统的命令接口、图形接口,掌握命令解释程序的功能 。2利用汇编语言编程进行系统功能调用。三、实验原理1. Windows环境:熟悉开机登录进入系统、退出系统的过程。熟悉使用命方式启动应用程序的过程、熟悉Windows图形用户接口。a) 熟悉Windows 操作系统b) 了解窗口、菜单、按钮等对象c) 探索Windows 操作系统的结构、原理2. 设计一个模拟的命令解释程序a) 设计命令集合b) 解释执行命令,给出相应提示信息3. 编写8086汇编语言程序,调用DOS系统功能调用,实现如下功能:a) 从键盘输入一个字符串,作为文件符号名;b) 在文件系统当前目录中检索该文件是否存在,如存在,将其
20、删除,否则,给出提示信息;注意:为避免删除有用的文件,请先创建一个文本文件作为用例。四、材料、试剂及仪器计算机,高级语言系统,汇编语言五、实验步骤(包括操作方法、数据处理)1熟悉Windows 操作系统;2. 设计命令解释程序并模拟实现;3. 设计使用系统功能调用的程序要求,画出程序流程图,编程,调试4. 设计运行数据,运行模拟程序,得出结果5. 分析运行结果,进行总结六、注意事项1. 系统调用的参数设置2. 理解操作系统接口的功能七、思考题1. 操作系统向用户提供的各种接口分别适用于什么场合?2. 命令接口与图形接口的区别?3. 系统调用的特点。实验七名称银行家算法实验一、背景资料死锁是进程调度必须解决的问题。死锁一般与资源分配有关。产生死锁的四个必要条件是:互斥条件、请求和保持条件、不剥夺条件和环路等待条件,解决死锁的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- COPD患者疼痛管理护理策略
- 2026年襄阳市中考数学测试题及答案
- 合同履约情况监督制度
- 不属于完善行政监督制度
- 体系部监督制度
- 人民群众监督制度
- 公司执行力监督制度
- 事件全程监督制度
- 初中学校社会监督制度
- 企业联合监督制度
- 林木种质资源精准鉴定-洞察与解读
- 连锁早餐店卫生管理制度
- 刑事图像技术
- 2026年七年级数学春季开学第一课
- 集装箱焊接制度规范要求
- 医疗质量安全整顿自查报告及下一步整改措施
- 天赋测评活动策划方案(3篇)
- 第五范式-人工智能驱动的科技创新
- 高标准农田建设工程质量专项整治技术手册(2025年版)
- 乡村和城镇空间结构高中地理人教版必修二
- DB4406∕T 53-2025 老年人陪诊服务规范
评论
0/150
提交评论