ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:90.11KB ,
资源ID:12791272      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12791272.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(安徽大学操作系统实验指导周爱武.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

安徽大学操作系统实验指导周爱武.docx

1、安徽大学操作系统实验指导周爱武操作系统实验指导实验计划及实验项目操作系统实验课程计划学时36学时,1学分,下表列出实验项目,其中必做实验24学时,选做实验12学时(从24学时的可选做实验项目中任选12学时)。序号名称类型开出要求目的要求人组学时1进程调度模拟实验基础必做1熟悉进程控制块的作用和实现技术;2熟悉操作系统的进程调度算法及实现方法。162作业调度模拟实验基础选做1熟悉作业控制块的作用和实现技术;2熟悉操作系统的作业调度算法及实现方法。163存储器管理实验综合必做1理解分区式存储管理的基本原理2熟悉分区分配和回收算法164虚拟存储器管理实验验证必做1理解页式虚拟存储管理的基本原理2熟悉

2、常用的页面置换算法165文件管理实验设计选做1模拟文件系统的基本功能2了解文件系统的基本结构和文件管理方法3-4126操作系统接口实验验证选做1熟悉操作系统的用户接口。2利用汇编语言编程进行系统功能调用。167银行家算法实验验证必做1了解死锁的产生和避免的办法2 编程实现银行家算法,并设计实验数据验证其避免死锁的资源分配策略。16一、操作系统接口实验实验目的熟悉操作系统的命令接口、图形接口和程序接口。实验内容 UNIX或LINUX环境: 熟悉开机登录进入系统、退出系统的过程。 使用UNIX或LINUX常用命令以及图形化接口X-Windows。 使用C语言编制一个小程序,使其可以通过某个系统调用

3、来获得操作系统的服务。 Windows环境: 熟悉开机登录进入系统、退出系统的过程。 熟悉使用命方式启动应用程序的过程、熟悉Windows图形用户接口。 编程实现一个操作系统的简单命令解释程序。 使用汇编语言编制一个小程序,使其可以通过某些系统调用来获得操作系统的服务。实验分析和思考 操作系统向用户提供的各种接口分别适用于什么场合?实验学时安排6学时,在第一章学习完之后可以进行。(选做)实验题目(1)命令接口实验利用操作系统的用户接口编写程序实现一个操作系统的简单shell程序,实现对一些简单命令的解释执行。具体内容包括: 查阅相关函数system(cmd)的调用方法,掌握它的用法; 掌握操作

4、系统用户接口的使用方法; 编写主函数,实现一个微型命令解释程序,该程序可以接受并解释以下命令: dir 列出当前目录 copy file1 file2 拷贝文件 del filename 删除文件 echo string 显示字符串 exit 结束、退出(2) 程序接口实验 使用DOS系统功能调用进行编程,实现文件操作。(在DOS下用3ch号功能创建一个文件,3dh号功能打开一个文件,3eh好功能关闭一个文件,3fh号功能读文件,40h号功能写文件。 windows下用CreatFile创建一个文件,CloseHandle关闭文件,WriteFile写文件OpenFile打开文件,还有很多文件

5、操作的api,可以查阅资料)【示例1】用汇编语言编程把输入的信息写到txt文件中。 DATA SEGMENT BUFFER DB ABCDEF FILENAME DB A.TXT EMSG DB ERROR!,$ DATA ENDS STACK1 SEGMENT PARA STACK DW 20H DUP(0) STACK1 ENDS CODE SEGMENT ASSUME DS:DATA,SS:STACK1,CS:CODE START: MOV AX,DATA MOV DS,AX MOV AH,3CH ;3CH号功能,创建文件,也可以用5BH号功能 MOV CX,0 ;文件属性 LEA DX

6、,FILENAME INT 21H JZ ERROR ;若CF=1则出错处理 MOV BX,AX ;AX中为文件句柄 MOV CX,6 ;要写的字节数 LEA DX,BUFFER MOV AH,40H ;40H好功能调用,写文件 INT 21H JMP END0 ERROR: MOV AH,9 LEA DX,EMSG INT 21H END0: MOV AH,4CH INT 21H CODE ENDS END START 改进要求:1) 文件未关闭,请在合适位置增加关闭文件功能;2) 文件名改为从键盘输入;3) 字符串从键盘输入;【示例2】将文本文件内容读入内存并显示在屏幕上。比如此文本文件叫

7、做test.txt,内容是:(两行) 1234 56789 DSEG SEGMENT ;数据段:在此处添加程序所需的数据 PATHNM1 DB D:/TEST.TXT BUFFER1 DB 100 DUP (?) DSEG ENDS CSEG SEGMENT assume cs:CSEG, ds:DSEG START: mov ax, dseg mov ds, ax ;打开文件TEST.TXTMOV AH,3DH LEA DX,PATHNM1 MOV AL,2 INT 21H ;读取文件内容,存入BUFFER1 LEA DX,BUFFER1 MOV BX,AX MOV CX,100 MOV A

8、H,3FH INT 21H ;显示BUFFER1中的内容 MOV CX,AX LEA SI,BUFFER1 NEXT: MOV DL,SI MOV AH,2INT 21H INC SI LOOP NEXT ;关闭文件 MOV AH,3EH INT 21H ;按任意键退出 mov ah,1 int 21h mov ax, 4c00h ;程序结束,返回到操作系统系统 int 21h CSEG ENDS END START改进要求:1) 文件名改为从键盘输入;2) 字符串写入另一文件;二、作业调度模拟实验实验目的用高级语言编写和调试一个或多个作业调度的模拟程序,以加深对作业调度算法的理解。实验内容为

9、单道批处理系统设计一个作业调度程序。说明:由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的 CPU时限等因素。作业调度算法: 先来先服务(FCFS)调度算法,即按作业提交的先后次序进行调度,总是首先调度在系统中等待时间最长的作业。 短作业优先调度算法; 响应比搞着优先调度算法; 每个作业由一个作业控制块JCB表示,JCB可以包含如下信息:作业名、提交时间、所需的运行时间、所需的资源、作业状态、链指针等等。 作业的状态可以是等待W(Wait)、运行R(Run)和完成F(Finish)三种状态之一。每个作

10、业的最初状态总是等待W。各个等待的作业按照提交时刻的先后次序排队,总是首先调度等待队列中队首的作业。 每个作业完成后要打印该作业的开始运行时刻、完成时刻、周转时间和带权周转时间,这一组作业完成后要计算并打印这组作业的平均周转时间、带权平均周转时间。调度算法的流程图如下 :实验分析和思考 什么类型的操作系统必须具有作业调度功能? 作业调度算法性能如何衡量? 多道批处理系统作业调度要考虑哪些因素?实验学时安排6学时,在调度与死锁内容学习之后进行。(选做)三、银行家算法实验实验目的通过对银行家算法的模拟加深对死锁概念的认识,掌握解决死锁问题的方法。实验内容用C语言、Pascal语言或其他开发工具实现

11、银行家算法模拟程序,输入系统资源配置情况、进程资源最大需求、占用情况后,能够判断系统是否安全,对某进程的一次资源请求,能够决定是否实施分配。算法具体内容参见计算机操作系统教材。实验分析和思考 产生死锁的四个必要条件是什么? 解决死锁问题的方法有哪些? 银行家算法是如何解决死锁问题的? 实验学时安排6学时,在调度与死锁内容学习之后进行。(必做)四、进程调度模拟实验实验目的通过对进程调度算法的模拟加深对进程概念和进程调度过程的理解。实验内容 用C语言或Pascal语言实现对N(N=5)个进程的调度模拟,要求至少采用两种不同的调度算法(如简单轮转法Round Robin和优先权高者优先算法Highe

12、st Priority First),分别进行模拟调度。 每个用来标识进程的进程控制块PCB用结构(记录)来 描述,根据需要,它包括以下字段: 进程标识数ID。 进程优先数Priority,并规定优先数越大的进程,其优先权越高。采用简单轮转法时该字段无用。 进程已经占用的CPU时间CPUTIME。 进程还需占用的CPU时间ALLTIME。当进程运行完毕时,ALLTIME变为0。 进程的阻塞时间STARTBLOCK,表示当进程再运行STARTBLOCK个时间片后,进程将进入阻塞状态。 进程被阻塞的时间BLOCKTIME,表示已经阻塞的进程再等待BLOCKTIME格时间片后,将转换成就绪状态。 进

13、程状态STATE。 队列指针NEXT,用来将PCB排成队列。 优先数改变的原则(采用简单轮转法时该字段无用): 进程在就绪队列中等待一个时间片,优先数增加1; 进程每运行一个时间片,优先数减3。 假设在进行调度前,系统中有5个进程,它们的初始状态可以编程输入(更具有灵活性),例如可以初始化为如下内容:IDPRIORITYCPUTIMEALLTIMESTARTBLOCKBLOCKTIMESTATE090323READY13803-10READY23006-10READY32903-10READY4004-10READY 为了清楚地观察诸进程的调度过程,程序应该将每个时间片内各进程的情况显示出来并

14、暂停,参考格式如下:Running:IReady Queue:Idi,Idj,Block Queue:Idk,Idl,=IDPRIORITYCPUTIMEALLTIMESTARTBLOCKBLOCKTIMESTATE0P0C0A0T0B0S01P1C1A1T1B1S12P2C2A2T2B2S23P3C3A3T3B3S34P4C4A4T4B4S4每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以便进行检查。重复以上过程,直到所要进程都完成为止。调度算法的流程图如下 : 实验分析和思考 在实际的进程调度中,还有哪些可行的算法,怎样模拟? 在实际的进程调度中,除了按算法选择下

15、一个运行的进程之外,操作系统还应该做哪些工作? 为什么对进程的优先数可以按上述原则进行修改?有什么好处? 实验学时安排6学时,在调度与死锁内容学习之后进行。(必做)五、分区存储管理模拟实验(存储器管理实验)实验目的了解动态分区存储管理方式中的数据结构和分配算法,加深对动态分区存储管理方式及其实现技术的理解。实验内容 用C语言或Pascal语言分别实现采用首次适应算法或最佳适应算法的动态分区分配过程Allocate()和回收过程Free()。其中,空闲分区采用空闲分区链来组织,内存分配时,优先使用空闲区低地址部分的空间。 流程图如下: 假设初始状态,可用内存空间为640KB,作业请求序列如下(也

16、可以编程从键盘输入,R表示请求,F表示释放): 作业1请求130 KB。 作业2请求60 KB。 作业3请求100 KB。 作业2释放60 KB。 作业4请求200 KB。 作业3释放100 KB。 作业1释放130 KB。 作业5请求140 KB。 作业6请求60 KB。 作业7请求50 KB。 作业6释放60 KB。 要求每次分配和回收后显示出空闲区链的情况。 如果不能为作业的请求进行内存分配,给出相应的提示信息。实验分析和思考 采用首次适应算法和最佳适应算法,对内存的分配和回收速度有什么影响? 如何解决碎片片问题?实验学时安排6学时,在分区存储管理内容学习之后进行。(必做)六、请求分页存

17、储管理模拟实验(虚拟存储器管理实验)实验目的通过对页面、页表、地址转换和页面置换过程的模拟,加深对请求分页存储管理系统的原理和实现技术的理解。实验内容 假设每个页面可以存放10条指令,分配给进程的存储块数为4。 用C语言或Pascal语言模拟一进程的执行过程。设该进程工有320条指令,地址空间为32个页面,运行前所有页面均没有调入内存。模拟运行时,如果所访问的指令已经在内存,则显示其物理地址,并转下一条指令;如果所访问的指令还未装入内存,则发生缺页,此时需要记录缺页产生次数,并将相应页面调入内存,如果4个内存块已满,则需要进行页面置换。最后显示其物理地址,并转下一条指令。在所有指令执行完毕后,

18、显示进程运行过程中的缺页次数和缺页率。 页面置换算法:可以采用OPT、FIFO、LRU三种算法。 进程中的指令访问次序按如下原则生成: 50%的指令是顺序执行的。 25%的指令是均匀分布在低地址部分。 25%的指令是均匀分布在高地址部分。 具体实现的方法是:在0,319之间随机选取一条指令作为起始执行指令,设其序号(逻辑地址)为m;顺序执行下一条指令,即序号(逻辑地址)为m+1的指令;通过随机数,跳转到低地址部分0,m-1的一条指令处,设其序号为m1;顺序执行下一条指令,即序号为m1+1的指令;通过随机数,跳转到高地址部分m1+2,319的一条指令处,设其序号为m2;顺序执行下一条指令,即序号

19、为m2+1的指令;重复上述6步骤,直至执行了320条指令。实验分析和思考 如果增加分配给进程的物理块数,会对进程运行过程中的缺页率产生什么影响? 为什么说一般情况下,LRU算法比FIFO算法具有更好的性能?实验学时安排6学时,在请求分页存储管理内容学习之后进行。(必做)七、简单文件系统模拟实验实验目的通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统功能和实现过程的理解。实验内容 在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个简单的单用户文件系统。在退出这个简单文件系统时,应将该虚拟文件系统保存到磁盘上,以便下次可以再将它恢复到内存的虚拟磁盘上。

20、 文件存储空间的分配可以采用显式链接分配或其它方法。 空闲空间的管理可以选择位示图或其它方法。如果采用位示图来管理文件存储空间,并采用显式链接分配方式,可以将位示图合并到FAT中。 文件目录结构采用多级目录结构。为简单起见,可以不使用索引结点,其中的每个目录项包含文件名、物理地址、文件长度等信息,还可以通过目录项实现对文件读和写的保护。 要求提供以下有关的文件操作: Format:对文件存储器进行格式化,即按照文件系统的结构对虚拟磁盘空间进行布局,并在其上创建根目录以及用于管理文件存储空间等的数据结构。 Mkdir:用于创建子目录。 Rmdir:用于删除子目录。 Ls:用于显示目录。 Cd:用

21、于更改当前目录。 Create:用于创建文件。 Open:用于打开文件。 Close:用于关闭文件。 Write:用于写文件。 Read: 用于读文件。 Rm:用于删除文件。实验分析 如果引入磁盘索引结点,上述实现过程需要做哪些修改? 如果设计一个多用户文件系统,则又要进行哪些扩充?实验学时安排12学时,在文件系统与文件存储器管理内容学习之后进行。(选做)八、实验说明学生应提交实验报告(包括实验目的、实验内容、实验原理说明、程序流程图、实验分析),并上机编程实现。九、教材与参考文献1) 操作系统实验教程 张丽芬等 清华大学出版社,2006年2) 计算机操作系统 汤子赢等 西安电子科技大学出版社3) 操作系统教程题解与实验指导 孟静 高等教育出版社 2003年4) 操作系统实验指导书 傅秀芬 广东工业大学出版科

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1