《编译原理实验指导书》由会员分享,可在线阅读,更多相关《编译原理实验指导书(68页珍藏版)》请在金锄头文库上搜索。
1、 2010-2011学年 第 一 学期操作系统 原理实验指导书授课教师:屠菁计算机科学与技术系2010年9月目录操作系统原理实验教学大纲(修订)1实验考核方式与基本要求3实验一 进程控制描述与控制12实验二 并发与调度24实验三 存储管理31实验四 设备管理40实验五 文件管理与系统安全44附录 实验报告参考规范64操作系统管理实验指导书操作系统原理实验教学大纲(修订)课程编号:0433314课程名称:操作系统原理实验学时:14一、本实验课的性质、任务与目的操作系统作为计算机专业的一门专业基础课,是计算机专业的核心课程之一,学好与否直接关系到学生是否能更好地学习后续课程。通过本实验课程的学习,
2、使学生理解与掌握操作系统设计所遵循的基本原理,基本方法,建立多道程序设计环境下的并行程序设计的思维方式。此外,操作系统用到的各种算法也是学生加强算法锻炼的好机会,对日后从事系统开发方面的工作有直接的借鉴作用。本实验课程在操作系统原理课程教学中占有重要地位,目的是让学生及时掌握和巩固所学的基本原理和基础理论,加深理解。提高学生自适应能力,为将来使用和设计各类新的操作系统打下良好的基础。二、本实验课所依据的课程基本理论计算机操作系统,操作系统中所介绍的重要算法。三、实验类型与要求序号实验内容内容提要实验要求实验时数实验类型每组人数所在实验室名称备注一进程控制描述与控制操作系统界面、进程管理必修2验
3、证2系机房二并发与调度进程并发、进程状态转换必修2验证2系机房三存储管理内存空间分配及虚拟存储器必修2验证2系机房四设备管理设备分配与回收必修2验证2系机房五文件管理与系统安全文件系统目录结构,文件操作及操作系统安全任选2验证2系机房六操作系统功能模拟设计实验操作系统功能模拟设计并实现必修4设计3-4系机房四、每组人数与实验学时数序号实验内容实验时数每组人数一进程控制描述与控制22二并发与调度22三存储管理22四设备管理22五文件管理与系统安全22六操作系统功能模拟设计实验43-4五、考核方式与评分办法考核方式:在规定时间内,按要求设计相应的模拟系统并上机调试运行,写出详细的实验报告,在机上向
4、教师演示自己设计的模拟系统。评分办法:视程序的质量、完成速度及实验报告分别给予优、良、中、及格、不及格等成绩。六、本实验课配套教材或实验指导书1周苏,金海溶等编著,操作系统原理实验,北京:科学出版社,2003七、实验报告要求实验题目、问题描述、算法说明、算法框图、数据结构及符号说明、程序清单及运行结果。八、其它教研室:计算机网络 执笔人:钟伯成 系主任审核签名:实验考核方式与基本要求1) 按要求设计相应的模拟系统并上机调试运行2) 写出详细的实验报告,实验报告要求如下:(1)实验题目。(2)程序中使用的数据结构及符号说明。(3)流程图。(4)打印一份源程序并附上注释。(5)打印程序运行时的初值
5、和运行结果。基本要求:3或4人为一小组,采取课内上机和业余上机相结合的方式进行,在规定时间内每个小组以论文形式上交实验(设计)结果并上机演示说明。实验考核题目 进程管理 模拟PV操作同步机构,且用PV操作解决生产者消费者问题。 银行家算法 模拟分页式存储管理中硬件的地址转换和产生缺页中断。 用先进先出(FIFO)页面调度算法处理缺页中断。 用最近最少用(LRU)页面调度算法处理缺页中断。 设计一个按优先数调度算法实现处理器调度的进程。 设计一个按时间片轮转法实现处理器调度的程序。 模拟实现一个简单的固定(或可变)分区存储管理系统 模拟实现单通路I/O系统中的设备分配程序。十一 模拟实现用位示图
6、法管理文件存储空间的分配与回收。实验提示 进程管理1实验内容至少要有:创建新的进程;查看运行进程;换出某个进程;杀死运行进程以及进程之间通信等功能。2实验提示PCB结构通常包括以下信息:进程名,进程优先数,轮转时间片,进程所占用的CPU时间,进程的状态,当前队列指针等。可根据实验的不同,PCB结构的内容可以作适当的增删。例:实验运行结果* 进程演示系统 * 1.创建新的进程 2.查看运行进程 3.换出某个进程 4.杀死运行进程 5.进程之间通信 6.退出系统 *请选择(16)然后根据你选择的不同,出现不同的结果。 第一题:模拟PV操作同步机构,且用PV操作解决生产者消费者问题。 第二题:银行家
7、算法实验提示第一题:在系统初始化时应把信号量semaphore定义为某个类型,为简单起见,在模拟实验中可把上述的semaphore直接改成integer。生产者消费者问题。假定有一个生产者和消费者,生产者每次生产一件产品,并把生产的产品存入共享缓冲器以供消费者取走使用。消费者每次从缓冲器内取出一件产品去消费。禁止生产者将产品放入已满的缓冲器内,禁止消费者从空缓冲器内取产品。假定缓冲器内可同时存放10件产品。进程控制块PCB。在模拟实验中,假设进程控制块的结构如下图。其中进程的状态有:运行态、就绪态、等待态和完成态。当进程处于等待态时,在进程控制块PCB中要说明进程等待原因(在模拟实验中进程等待
8、原因为等待信号量s1或s2);当进程处于等待态或就绪态时,PCB中保留了断点信息,一旦进程再度占有处理器则就从断点位置继续运行;当进程处于完成状态,表示进程执行结束。进程名状态等待原因断点 处理器的模拟。计算机硬件提供了一组机器指令,处理器的主要职责是解释执行机器指令。为了模拟生产者和消费者进程的并发执行,我们必须模拟一组指令和处理器职能。模拟的指令功能P(s)执行P操作原语V(s)执行v操作原语putBIN:=product;IN:=(IN+1) mod 10GETX:=Bout;out:=(out+1) mod 10produce输入一个字符放入C中consume打印或显示x中的字符GOT
9、O LPC: LNOP空操作模拟的处理器指令模拟的一组指令见上图,其中每条指令的功能由一个过程来实现。用变量PC来模拟“指令计数器”,假设模拟的指令长度为1,每执行一条模拟指令后,PC加1,指出下一条指令地址。使用模拟的指令,可把生产者和消费者进程的程序表示为下图的形式。序号生产者程序消费者程序0produceP(s2)1P(s1)GET2PUTV(s1)3V(s2)consume4goto 0goto 0 生产者和消费者程序定义两个一维数组PA0.4和SA0.4,每一个PAi存放生产者程序中的一条模拟指令执行的入口地址;每个SAi存放消费者程序中的一条模拟指令执行的入口地址。于是模拟处理器执
10、行一条指令的过程为:取出PC之值,按PAPC 或SAPC得模拟指令执行的入口地址,将PC之值加1,转向由入口地址确定的相应的过程执行。第二题:编写银行家算法,要求对于书127页给出的资源分配表,可以对输入各种请求进行安全性判断,最后给出安全序列或者不能分配的原因。 第一题:模拟分页式存储管理中硬件的地址转换和产生缺页中断。 第二题:用先进先出(FIFO)页面调度算法处理缺页中断。 第三题:用最近最少用(LRU)页面调度算法处理缺页中断。实验提示第一题提示(1) 分页式虚拟存储系统是把作业信息的副本存放在磁盘上,当作业被选中时,可把作业的开始几页先装入主存且启动执行。为此,在为作业建立页表时,应
11、说明哪些页已在主存,哪些页尚未装入主存,页表的格式为:页号标志主存块号在磁盘上的位置其中,标志-用来表示对应页是否已经装入主存,标志位=1,则表示该页已经在主存,标志位=0,则表示该页尚未装入主存。主存块号-用来表示已经装入主存的页所占的块号。在磁盘上的位置-用来指出作业副本的每一页被存放在磁盘上的位置。(2) 作业执行时,指令中的逻辑地址指出了参加运算的操作存放的页号和单元号,硬件的地址转换机构按页号查页表,若该页对应标志为“1”,则表示该页已在主存,这时根据关系式: 绝对地址=块号块长+单元号计算出欲访问的主存单元地址。如果块长为2的幂次,则可把块号作为高地址部分,把单元号作为低地址部分,
12、两者拼接而成绝对地址。若访问的页对应标志为“0”,则表示该页不在主存,这时硬件发“缺页中断”信号,由操作系统按该页在磁盘上的位置,把该页信息从磁盘读出装入主存后再重新执行这条指令。(3) 设计一个“地址转换”程序来模拟硬件的地址转换工作。当访问的页在主存时,则形成绝对地址,但不去模拟指令的执行,而用输出转换后的地址来代替一条指令的执行。当访问的页不在主存时,则输出“* 该页页号”,表示产生了一次缺页中断。(4) 假定主存的每块长度为128个字节;现有一个共七页的作业,其中第0页至第3页已经装入主存,其余三页尚未装入主存;该作业的页表为:015011118012219013311021400225002360121如果作业依次执行的指令序列为:操作页号单元号操作页号单元号+070移位4053+150+5023215存1037存3