logo资料库

操作系统实验指导.doc

第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
资料共11页,剩余部分请下载后查看
《操作系统原理》实验指导书 一、 实验说明 1、实验目的 实验是操作系统原理课程中不可缺少的重要教学环节,实验目的是使学生理论联系 实际,使学生在实践探索中去发现问题、去解决问题,提高了学生获取知识和应用技术 的能力,培养了学生分析和解决问题的能力。 《操作系统原理》要求理论与实践相结合,本门实验课程是对《操作系统原理》课堂教 学的一个重要补充,与理论学习起着相辅相成的作用,是实施《操作系统原理》教学的一个 重要组成部分。通过本实验课的实践学习,可以增强本专业的学生对系统实现的认识。对加 深理解和掌握操作系统相关原理有重要帮助。 2、 实验要求 进一步了解和掌握操作系统原理,提高系统设计的能力。对每一实验题目,应独立完成, 并要求: ·上机前,学生必须做好充分的实验准备工作,掌握与实验相关的背景知识,用任一种 高级语言编写程序。 ·上机时,认真调试,并观察、记录程序运行过程中出现的现象和问题。 ·上机后,分析实验结果并写出实验报告。 3、实验报告要求 每个实验(包括选做的)均应编写实验报告,学生实验后要写出严谨的、实事求是的、文 字通顺的、字迹公整的实验报告。实验报告应包括以下内容: (1) 实验题目 (2) 实验目的 (3) 实验内容  程序中使用的数据结构及符号说明  流程图  源程序清单并附上注释 (4) 实验结果及分析  运行结果(必须是上面程序清单所对应输出的结果)  对运行情况所作的分析以及本次调试程序所取得的经验。如果程序未能通过, 应分析其原因。 4、实验课时安排 序 号 实验名称 实验一 Windows 管理综合实验 实验二 进程管理 实验三 资源分配管理 实验四 存储器管理 实验五 文件管理 课 时 实验属性 必(选)做 2 4 4 6 4 验证 设计 设计 设计 设计 必做 必做 必做 必做 必做 1
二、实验内容 实验一 Windows 管理综合实验 一、实验名称:Windows 管理综合实验 二、实验目的与要求 通过对 Windows 操作系统的使用,熟悉 Windows 操作系统中的基本概念,如单用户、 多任务、进程和文件等,熟悉 Windows 中命令行方式下常用命令的使用方法;进一步熟悉 TC 语言与开发环境,为以后的实验打好基础。 三、实验内容 1.开机后,熟悉 Windows 的界面(桌面、任务栏、开始按钮<点击后出现“开始”菜单>、 我的电脑图标、回收站、我的文档)。 2.双击“我的文档”后,出现一个新的窗口,在窗口上单击鼠标右键,选择新建->文 本文件,生成一个新的文本文件,双击这个文件,对这个文件进行编辑,完成后选择菜单 中的文件->保存,命名后确定,然后点击窗口右上角的“X”(关闭)按钮关闭窗口。 3.在“开始”按钮上单击鼠标右键,出现资源管理器窗口,点击左边的“我的文档” 文件夹,右边窗口出现刚才生成的文件。不要在该文件上,而是在该窗口其他空白的地方单 击鼠标右键,选择新建->文件夹,生成一个新的文件夹。然后左键点击文本文件,选择菜单 中的剪切,然后点击新建文件夹,选择菜单中的粘贴,是移动操作,若点击文本文件后, 选 择菜单中的复制,是复制操作。生成程序的一个新的副本。 4.熟悉 Windows 操作系统命令接口 单击“开始”按钮,弹出开始菜单,选择运行,在出现的组合框中输入命令 cmd(Windows 2000)或 command(Windows 9x),打开命令行窗口,熟悉以下命令: winver 检查 Windows 版本 dxdiag 检查 DirectX 信息 mem.exe 显示内存使用情况 Sndvol32 音量控制程序 sfc.exe 系统文件检查器 gpedit.msc 组策略 regedit.exe 注册表 Msconfig.exe 系统配置实用程序 chkdsk.exe 磁盘检查 lusrmgr.msc 本地账户管理 drwtsn32 系统医生 cleanmgr 垃圾整理 ntbackup 系统备份和还原 taskmgr 任务管理器 devmgmt.msc 设备管理器 diskmgmt.msc NT 的磁盘管理器 compmgmt.msc 计算机管理 winchat 局域网聊天 nslookup 网络管理的工具,IP 地址侦测器 wupdmgr WIDNOWS UPDATE 2
Clipbrd 剪贴板查看器 Odbcad32 ODBC 数据源管理器 eventvwr.exe 事件查看器 fc.exe 比较两个文件的不同 5.系统配置 在 Windows2000 中没有 msconfig,无法通过它来配置系统,只要从 Windows XP 的安装光盘 的〈I386〉文件夹下找到 expand.exe 和 msconfig.exe_文件,将它们拷贝到临时文件夹中,如〈F:\TEMP〉 下,并打开 DOS 窗口,输入 expand msconfig.exe msconfig.exe 回车,然后就试着双击释放出来的 msconfig.exe 文件即可。而且这个 msconfig 程序在 Windows 2000 中运行起来没有警告窗口,同时 功能也有所增加。你也可以把它拷贝到 Windows 2000 的安装文件夹下,以后就可以在“开始”→“运 行”窗口中输入 msconfig 来直接使用了。用它来去除系统自启动程序特别有效。 6.有关注册表的操作: 单击“开始”按钮,弹出开始菜单,选择运行,在出现的组合框中输入命令 regedit 打开注册表编辑器。  添加主键 1. 单击菜单“编辑”,打开“查找”对话框,输入要查找的注册表项 software, 不需要打开注册项; 2. 右键单击要添加主键的文件夹:software; 3. 指向“新建”,然后单击“项”,新主键将显示在该文件夹的下面,并以“新建 #”为临时文件夹; 4. 键入新主键的名字:app,然后按回车; 5. 完成主键添加。 重命名注册表项或值  1. 右键单击要重命名的注册表项 app,然后单击“重命名”,或通过菜单项中的“编 辑”---“重命名”; 2. 键入新名称 shelf;  删除注册表项或值 1. 查找要删除的注册表项:shelf,但不需打开该注册表项 2. 右键单击注册表项 shelf,然后单击删除项  导出注册表 1. 单击“我的电脑”导出全部注册表,或单击某文件夹只导出该文件夹的内容; 2. 在“注册表”菜单上单击“导出注册表文件” 3. 浏览要保存导出文件的位置,然后键入新文件的名称 All;  导入注册表 1. 在“注册表”菜单上,单击“引入注册表文件”; 2. 浏览引入的文件,然后单击打开; 7.为了尽快地熟悉计算机系统,可编辑一个源程序,且对编辑好的源程序编译、运行、 显示运行结果等。要求:编制一个程序,要求输入 5 个学生的学号、2 门课的成绩,然后输 出每个学生的学号、2 门课成绩、平均成绩。 3
实验二 模拟进程调度中的高优先级优先调度算法 一、实验名称:进程管理 二、实验目的 在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就绪进程个数 大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。本实验模拟在单处 理器情况下的处理器调度,帮助学生加深了解处理器调度的工作。 三、实验内容 设计一个按优先数调度算法实现处理器调度的程序。 [提示]: (1) 假定系统有五个进程,每一个进程用一个进程控制块 PCB 来代表,进程控制块的 格式为: 进程名 指针 要求运行时间 优先数 状态 其中,进程名——作为进程的标识,假设五个进程的进程名分别为 P1,P2,P3,P4,P5。 指针——按优先数的大小把五个进程连成队列,用指针指出下一个进程的进程控制块的 首地址,最后一个进程中的指针为“0”。 要求运行时间——假设进程需要运行的单位时间数。 优先数——赋予进程的优先数,调度时总是选取优先数大的进程先执行。 状态——可假设有两种状态,“就绪”状态和“结束”状态。五个进程的初始状态都为 “就绪”,用“R”表示,当一个进程运行结束后,它的状态为“结束”,用“E”表示。 (2) 在每次运行你所设计的处理器调度程序之前,为每个进程任意确定它的“优先数” 和“要求运行时间”。 (3) 为了调度方便,把五个进程按给定的优先数从大到小连成队列。用一单元指出队首 进程,用指针指出队列的连接情况。例: 队首标志 K2 K1 P1 0 2 1 R K2 P2 K4 3 5 R K3 P3 K5 1 3 R K4 P4 K3 2 4 R K5 P5 K1 4 2 R PCB1 PCB2 PCB3 PCB4 PCB5 (4) 处理器调度总是选队首进程运行。采用动态改变优先数的办法,进程每运行一次优 先数就减“1”。由于本实验是模拟处理器调度,所以,对被选中的进程并不实际的启动运行, 而是执行: 优先数-1 要求运行时间-1 来模拟进程的一次运行。 提醒注意的是:在实际的系统中,当一个进程被选中运行时,必须恢复进程的现场,让 4
它占有处理器运行,直到出现等待事件或运行结束。在这里省去了这些工作。 (5) 进程运行一次后,若要求运行时间0,则再将它加入队列(按优先数大小插入,且 置队首标志);若要求运行时间=0,则把它的状态修改成“结束”(E),且退出队列。 (6) 若“就绪”状态的进程队列不为空,则重复上面(4)和(5)的步骤,直到所有进 程都成为“结束”状态。 (7) 在所设计的程序中应有显示或打印语句,能显示或打印每次被选中进程的进程名以 及运行一次后进程队列的变化。 (8) 为五个进程任意确定一组“优先数”和“要求运行时间”,启动所设计的处理器调 度程序,显示或打印逐次被选中进程的进程名以及进程控制块的动态变化过程。 5
实验三 资源分配管理 一、实验名称:资源分配管理 二、实验目的 模拟实现银行家算法,用银行家算法实现资源分配和安全性检查。通过本次实验,使学 生加深对死锁概念的理解和掌握,并培养学生对操作系统开发的兴趣与应用能力。 三、实验内容 设计五个进程{P0,P1,P2,P3,P4}共享三类资源{A,B,C}的系统,{A,B,C}的 资源数量分别为 10,5,7。进程可动态地申请资源和释放资源,系统按各进程的申请动态 地分配资源。在 T0 时刻的资源分配情况如下图所示: (1)若进程 P1 请求资源,发出请求向量 Request1(1,0,2),编写程序用银行家算 法判断系统能否将资源分配给它; (2)若进程 P2 提出请求 Request2(0,1,0),用银行家算法程序验证系统能否将资源 分配给它。 要求程序具有显示和打印各进程的某一时刻的资源分配表和安全序列。 6
实验四 存储器管理 一、实验名称:存储器管理 二、实验目的 在 TC、VB、Delphi、C++Builder 等语言与开发环境中,模拟操作系统的内存管理;通 过程序运行所显示的内存使用的各项指标,加深对内存管理的理解。 三、实验内容 实现主存储器空间的分配和回收。本实验有两个题,学生可选择其中的一题做实验。 第一题:在固定分区管理方式下实现主存分配和回收。 第二题:在可变分区管理方式下采用最先适应算法实现主存分配和实现主存回收。 [提示]: 可变分区方式是按作业需要的主存空间大小来分割分区的。当要装入一个作业时,根据作业 需要的主存量查看是否有足够的空闲空间,若有,则按需要量分割一个分区分配给该作业; 若无,则作业不能装入。随着作业的装入、撤离,主存空间被分成许多个分区,有的分区被 作业占用,而有的分区是空闲的。 为了说明哪些区是空闲的,可以用来装入新作业,必须要有一张空闲区说明表,格式如下: 起 址 长 度 状 态 14 K 32 K 12 K 96 K 第一栏 第二栏   未 分 配 未 分 配 空 表 目 空 表 目   其中,起址——指出一个空闲区的主存起始地址。 7
长度——指出从起始地址开始的一个连续空闲的长度。 状态——有两种状态,一种是“未分配”状态,指出对应的由起址指出的某个长度 的区域是空闲区;另一种是“空表目”状态,表示表中对应的登记项目是空白(无效),可 用来登记新的空闲区(例如,作业撤离后,它所占的区域就成了空闲区,应找一个“空表目” 栏登记归还区的起址和长度且修改状态)。由于分区的个数不定,所以空闲区说明表中应有 适量的状态为“空表目”的登记栏目,否则造成表格“溢出”无法登记。 空闲区表的定义为: #define m 10 struct /*假定系统允许的空闲区表最大为 m*/ { float address; float length; int flag; }free_table[m]; /*起始地址*/ /*长度*/ /*标志,用“0”表示空栏目,用“1”表示未分配*/ /*空闲区表*/ 上述的这张说明表的登记情况是按提示(1)中的例所装入的三个作业占用的主存区域 后填写的。 (2) 当有一个新作业要求装入主存时,必须查空闲区说明表,从中找出一个足够大的空 闲区。有时找到的空闲区可能大于作业需要量,这时应把原来的空闲区变成两部分:一部分 分给作业占用;另一部分又成为一个较小的空闲区。为了尽量减少由于分割造成的空闲区, 而尽量保存高地址部分有较大的连续空闲区域,以利于大型作业的装入。为此,在空闲区说 明表中,把每个空闲区按其地址顺序登记,即每个后继的空闲区其起始地址总是比前者大。 为了方便查找还可使表格“紧缩”,总是让“空表目”栏集中在表格的后部。 (3) 采用最先适应算法(顺序分配算法)分配主存空间。 按照作业的需要量,查空闲区说明表,顺序查看登记栏,找到第一个能满足要求的空闲 区。当空闲区大于需要量时,一部分用来装入作业,另一部分仍为空闲区登记在空闲区说明 表中。 8
分享到:
收藏