2011计科操作系统实验指导书.doc_第1页
2011计科操作系统实验指导书.doc_第2页
2011计科操作系统实验指导书.doc_第3页
2011计科操作系统实验指导书.doc_第4页
2011计科操作系统实验指导书.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

操作系统实验指导书实验一 生产者和消费者问题(6学时)1、实验目的要求1)、通过编写程序,掌握基本的同步互斥算法,理解生产者和消费者模型。2)、了解多线程并发执行机制,线程间的同步和互斥。3)、学习使用同步对象,掌握相应的API。2、实验主要内容编写基础的生产者消费者程序,程序反映了生产者和消费者的工作过程,其中缓冲区只存放一类产品,生产者消费者只对一类产品进行操作。1)创建生产者和消费者线程2)生产和消费规则a)系统中有多个生产者,生产者每次只生产一种产品;b)系统中有多个消费者,消费者每次可以消费多个产品,但是只有当一个消费者所有的需求都被满足时才能够进行消费。c)共享缓冲区为空时,生产者可以使用共享缓冲区。d)只有所有的消费需求都被满足时,消费者才可以进行消费,该产品所在的共享缓冲区才能被释放,并且作为新的缓冲区允许生产者使用。e)生产者的生产产品情况,可以事先制定,如果缓冲区能满足条件,则可以将产品投放到缓冲区,否则则不生产产品。f)消费者的消费情况,可以事先制定,若缓冲区中有足够的产品则分配,否则则等待。g)缓冲区不要求是循环环形缓冲区,也不要求一定是顺序访问,生产者可以将产品投放入任意的空缓冲区。3、实验仪器设备PC兼容机。实验二、死锁避免(银行家算法6学时)1、实验目的要求1). 了解死锁产生的必要条件。2). 了解安全序列的定义和意义以及如何在动态分配资源的过程中采用死锁避免算法防止系统进入不安全序列状态。3). 掌握Dijkstra银行家算法的具体实现。2、实验主要内容模拟建立进程链表,包含各进程最大请求资源数。进程实时提出指定资源请求数,在为进程实际分配资源向量之前,进入安全算法,测试按该进程当前资源要求分配是否会导致系统进入不安全状态,即所有进程中是否存在一进程序列为安全系列,使所有进程能够完成。否则拒绝分配,要求进程重新提出资源申请。主要数据结构:(1)假设两种可用资源avail2(2)一个进程链表各进程数据类型用一个结构体定义,包括7个域:进程名name;资源a最大需求needa;资源b最大需求needb; 资源a分配量alloa;资源b分配量allob;进程结束向量completed;下一个进程结构指针*next;(3)一个进程资源请求表包括3个域:进程名name;资源a请求量rea;资源b请求量reb4.主函数中包括5个函数调用:initpcb初始化进程链表,建立链表头节点;createpcb建立进程链表;inputactpcb输入进程资源请求表;inputerr判断进程资源请求表是否有效;banker银行家算法,试探分配,检测是否安全,安全则进行资源分配,否则撤销分配。5、实验数据:课本113-114页银行家算法例子之(1)(2)。3、实验仪器设备PC兼容机。实验一、二 实验报告提交内容:1、 程序流程图2、 源代码3、 实验结果4、 实验心得实验三、存储管理(6学时)1、实验目的要求1). 通过对Windows XP的“任务管理器”、“计算机管理”、“我的电脑”属性、“系统信息”、“系统监视器”等程序的应用,2). 掌握提高Windows内存性能的方法。3). 掌握Windows XP操作系统的内存管理功能。理解操作系统存储管理、虚拟存储管理的知识。2、实验主要内容1)、启动Windows XP操作系统,查看Windows XP/2000使用内存数量的1.5倍作为分页文件的最小容量,这个最小容量的两倍作为最大容量。(1)启动一个要监视的应用程序,如Word。(2)右击任务栏,启动“任务管理器”,打开“Windows任务管理器”窗口。(3)在该窗口中选定“进程”选项卡。在“进程”选项卡上,可以使用下列计数器监视正在运行的进程,这些计数器可以显示为列标题。要将某个进程显示为列标题,请在“查看”菜单上单击“选择列”。选中与要显示为列标题的进程对应的复选框。l映像名称:进程的程序名称。lPID:进程标识符 lCPU使用:上次更新以来使用CPU时间的百分比。lCPU时间:进程从启动起使用的总处理器时间(秒),l内存使用情况:以KB为单位,显示进程当前的工作集,即当前驻留在内存中的页面数,l内存使用增量:以KB为单位,显示自上次更新以来,进程使用内存的改变量。l内存使用高峰值:自进程启动以来驻留于物理内存的峰值。l页面错误:显示自进程启动以来产生缺页中断的次数。lUSER对象:进程当前使用的“Windows管理器”对象的个数(包括窗口、菜单等)lI/O读取:由进程产生的读I/O操作的数量。lI/O读取字节:由进程产生的I/O操作读取的字节数。l会话ID:拥有该进程的终端服务ID。l用户名:拥有该进程的用户名称。l页面错误增量:自上次更新开始产生的缺页中断的次数。l虚拟内存大小:分配给该进程的虚拟内存数。l页面缓冲池:已指派给进程的,以及系统分配的可分页的虚拟内存的数量。l非页面缓冲池:永远不会按页交换到磁盘的内存数量。l基本优先级:CPU处理进程、线程顺序的优先级。l句柄计数:进程对象表中的进程句柄数。l线程计数:在进程中运行的线程数。lGDI对象:进程当前使用的图形设备接口的数目。lI/O写入:由进程产生的写I/O操作的数量。lI/O写入字节:由进程产生的写I/O操作的字节数。lI/O其他:由进程产生的非读、非写I/O操作的数量。lI/O其他字节:由进程产生的非读、非写I/O操作的数量。(4)在进程列表中查找要监视的应用程序word,记录该应用程序的映像名称、进程标识符PID、CPU使用情况、CPU使用时间和内存使用情况。(5)启动要监视的应用程序word的另一个实例,观察其内存需求。(6)比较word的两个实例占用内存的情况。2)、估算未分页合并内存使用“任务管理器”可以估算未分页合并内存大小。未分页合并内存的估计值显示在“任务管理器”的“性能”选项卡的“核心内存”部分。还可以使用“任务管理器”查看一个独立进程正在使用的未分页合并内存数量和分页合并内存数量。操作步骤如下:(1)单击“Windows任务管理器”的“进程”选项卡,然后从“查看”菜单中选择“选择列”命令,显示“进程”选项卡的可查看选项。(2)在“选择列”对话框中,选定“页面缓冲池”选项和“非页面缓冲池”选项旁边的复选框,然后单击“确定”按钮。返回Windows“任务管理器”的“进程”选项卡时,将看到其中增加显示了各个进程占用的分页合并内存数量和本分页合并内存数量。仍以刚才打开观察的应用程序(例如Word)为例,请在表中记录:映像名称、PID、内存使用、页面缓冲池和非页面缓冲池。从性能的角度来看,未分页合并内存越多,可以加载到这个空间的数据就越多。拥有的物理内存越多,未分页合并内存就越多。但未分页合并内存被限制为256MB,因此添加超出这个限制的内存对未分页合并内存没有影响。3)、提高分页性能。在Windows XP/2000的安装过程中,将使用连续的磁盘空间自动创建分页文件(Page file.sys)。用户可以事先监视变化的内存需求并正确配置分页文件,使得当系统使用分页时的性能达至最高。虽然分页文件一般都放在系统分区的根目录下面,但这并不总是该文件的最佳位置。要想从分页获得最佳性能,应该首先检查系统的磁盘子系统的配置,以了解它是否有多个物理硬盘驱动器。(1)在“开始”菜单中单击“设置”“控制面板”命令,双击“管理工具”图标,再双击“计算机管理”图标。(2)在“计算机管理”窗口的左格选择“磁盘管理”管理单元来查看系统的磁盘配置。请在表中记录卷、布局、类型、文件系统、容量和状态。如果系统只有一个硬盘,那么建议应该尽可能为系统配置额外的驱动器。这是因为:Windows XP/2000最多可以支持在多个驱动器上分布的16个单独的分页文件。为系统配置多个分页文件可以实现对不同磁盘I/O请求的并行处理,这将大大提高I/O请求的分页文件性能。4)、计算分页文件的大小。要想更改分页文件的位置或大小配置参数,可按以下步骤进行:(1)右键单击桌面上的“我的电脑”图标并选定“属性”。(2)在“高级”选项卡上单击“性能选项”按钮。(3)单击对话框中的“虚拟内存”区域中的“更改”按钮。l记录驱动器(C:)和驱动器(D:)的页面文件大小:驱动器、可用空间(MB)、初始大小(MB)、最大值(MB)l记录所有驱动器页面文件大小的总数: 允许的最小值(MB)、推荐:(MB)、当前己分配:(MB)(4)要想将另一个分页文件添加到现有配置,在“虚拟内存”对话框中选定一个还没有分页文件的驱动器,然后指定分页文件的初始值和最大值(以兆字节表示),单击“设置”,然后单击“确定”。(5)要想更改现有分页文件的最大值和最小值,可选定分页文件所在的驱动器。然后指定分页文件的初始值和最大值,单击“设置”按钮,然后单击“确定”按钮。(6)在“性能选项”对话框中单击“确定”按钮。(7)单击“确定”按钮以关闭“系统特性”对话框。5)、使用任务管理器。使用“任务管理器”可以简单地检查分页文件是否配置了正确容量。这样可以实时提供系统正在使用分页文件的方式以及其他重要系统信息的准确描述。通过右键单击任务栏运行“任务管理器”,选定“性能”选项卡查看实时的系统统计数据。与分页文件大小最有关的信息位于“认可用量”区域。这一区域显示了认可“峰值”是否达到或超过了认可“限制”,以及它是否超过了系统上的物理内存数量。认可“峰值”是指系统迄今为止向进程分配的最大物理内存和虚拟内存数量。请按KB为单位记录物理内存的总数、可用数和系统缓存;并记录认可用量的总数、限制和峰值。当系统遇到分页活动增加的情况时,提交的内存数量(“认可总数”)就会增加。一旦它达到了“认可限制”值,系统就需要扩展分页文件。“认可限制”值指出在不必扩展分页文件的情况总数下可以向内存提交的虚拟内存数量。因为目标是避免扩展分页文件,所以必须保持“认可”“认可限制”值相差较大。如果这两个值接近了,那么系统必须动态增加分页文件的大小。“任务管理器”的“认可用量”区域显示/的信息还说明了系统的主内存是否足以满足系统执行的任务。如果认可“总数”值经常超过系统中的内存数量,那么系统的物理内存可能不足。3、实验仪器设备PC兼容机。实验三 实验报告提交内容:1、说明以下概念和问题:(1)什么是分页过程?(2)什么是内存共享?(3)什么是未分页合并内存和分页合并内存?(4)Windows XP/2000将未分页合并内存限制为多少?(5)Windows XP/2000默认设置分页文件的最小容量和最大容量是多少?2、使用“任务管理器”观察应用程序word的一个实例的内存需求(1)在进程列表中查找要监视的应用程序word,记录该应用程序的映像名称、进程标识符PID、CPU使用情况、CPU使用时间和内存使用情况。映像名称PID用户名CPUCPU时间内存使用(2)启动要监视的应用程序word的另一个实例,观察其内存需求。比较word的两个实例占用内存的情况。3、估算未分页合并内存(1)使用“任务管理器”估算并记录未分页合并内存大小:总数(KB):分页数:未分页(KB):(2)使用“任务管理器”查看一个独立进程正在使用的未分页合并内存数量和分页合并内存数量。说明步骤,并将结果记入下表:映像名称PID用户名内存使用页面缓冲区非页面缓冲区 4、提高分页性能为了从分页获得最佳性能,首先检查系统的磁盘子系统的配置,以了解它是否有多个物理硬盘驱动器。将检查结果记入下表:卷名布局类型文件系统容量状态5、计算分页文件的大小利用系统工具计算各驱动器的页面文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论