文档库 最新最全的文档下载
当前位置:文档库 › 《操作系统》实验题目 2

《操作系统》实验题目 2

《操作系统》实验题目 2
《操作系统》实验题目 2

引言

操作系统是计算机专业一门重要的专业理论课程,了解和掌握操作系统的基本概念、功能和实现原理,对认识整个计算机系统的工作原理十分重要。

操作系统实验是操作系统课程的一个重要组成部分,通过试验环节的锻炼使同学们不仅能够对以前的所学过的基础知识加以巩固,同时能够通过上机实验,对操作系统的抽象理论知识加以理解,最终达到融会贯通的目的,因此,实验环节是同学们理解、掌握操作系统基本理论的一个重要环节。

本实验指导书,根据教材中的重点内容设定了相应的实验题目,由于实验课程的学时有限,我们规定了必做题目和选做题目,其中必做题目必须在规定的上机学时中完成,必须有相应的预习报告和实验报告。选做题目是针对有能力或感兴趣的同学利用课余时间或上机学时的剩余时间完成。

实验题目一:模拟进程创建、终止、阻塞、唤醒原语

一、题目类型:必做题目。

二、实验目的:通过设计并调试创建、终止、阻塞、唤醒原语功能,有助于对操作系统中进程控制功能的

理解,掌握操作系统模块的设计方法和工作原理。 三、实验环境:

1、硬件:pc 机及其兼容机。

2、软件:Windows OS ,MS —DOS OS ,Turbo C 或C++、VC++等。 四、实验内容:

1、设计创建、终止、阻塞、唤醒原语功能函数。

2、设计主函数,采用菜单结构(参见后面给出的流程图)。

3、设计“显示队列”函数,目的能将就绪、阻塞队列中的进程信息显示在屏幕上,以供随时查看各队

列中进程的变化情况。 五、实验要求:

1、进程PCB 中应包含以下内容:

2、系统总体结构:

其中:

进程名用P1,P2标识。

优先级及运行时间:为实验题目二做准备。 状态为:就绪、运行、阻塞,三种基本状态。 指针:指向下一个PCB 。

六、各功能简要说明:

1、创建:在本实验中,该功能仅实现建立PCB,初始化PCB,并将该PCB放入就绪队列中。

2、阻塞:在本实验中,实现的功能为,根据用户输入的进程名称在就绪队列中查找该进程,若该进程

存在且在就绪队列中,则修改该进程PCB的状态,并将该进程从就绪队列转入阻塞队列;若该进程存在且已在阻塞队列中,则给出相应的提示信息;若该进程不存在,也需要给出相应的提示信息。

注意:若就绪队列为空,则不能执行阻塞功能。

3、唤醒:功能类似阻塞功能,注意:若阻塞队列为空,则不能执行唤醒功能。

4、终止:根据用户输入要结束的进程名称,从就绪队列或阻塞队列中找到相应的进程PCB,并将该PCB

从相应队列中删除。若该进程不存在,需要给出提示。若就绪队列与阻塞队列均为空,则不能执行该功能。

5、显示:将就绪队列与阻塞队列中的进程列表显示出来。

七、其它注意事项:

1、就绪队列与阻塞队列中不能存在同名进程,且总数最多为10个进程。

2、系统应有出错处理,如:功能选择不在0----5之间,应给出相应的提示,并重新选择功能。

3、界面应友好、美观,在任何情况下,都应有相应的提示信息。

例:创建进程时,屏幕上应提示用户输入什么信息:

进程名:

优先级:

运行时间:

4、完成时间:三周(6学时)。

5、实验报告要求:第一页要求用专用的实验报告纸,其它可用8开的白纸。报告内容包括:

(1)实验题目:

(2)实验目的:

(3)实验环境:

(4)实验内容:

(5)算法流程图:

(6)程序清单:

(7)程序中使用的数据结构及符号说明:

(8)调试程序时出现问题说明及解决的方法:

实验题目二:模拟进程调度功能

一、题目类型:必做题目。

二、实验目的:通过本实验,进一步掌握进程调度的功能和实现原理。

三、实验环境:同实验一。

四、实验内容:

1、设计进程调度功能,至少模拟两种以上调度算法。如:优先级调度算法、时间片调度算法等。

2、进程调度功能作为一个函数scheduler,加入到实验题目一中。

3、进程调度程序从就绪队列中挑选进程,若队列为空,应显示“无就绪进程无法调度”的提示信息。

4、若选上一个进程,以显示:进程名、状态、时间片、优先级等信息表示一个进程被执行。若运行完,

应删除相应PCB。

五、实验要求:

1、在实验题目一中的主菜单中加入一个菜单项:6 调度,选择该菜单项后,系统进入进程调度。

2

六、各功能简要说明:

1、返回主菜单:当用户选择该项功能时,系统退出进程调度功能,返回到实验题目一中的主菜单。

2、优先级调度:选择该功能选项时,系统将从就绪队列中选择优先级最高的进程,使该进程处于执行

状态(将进程PCB的内容显示在屏幕上,显示完成后,该进程结束,即撤销该进程的PCB)。

3、时间片调度:每选择一次该功能,将就绪队列中所有进程的内容显示在屏幕上,并将每个执行进程

的执行时间减去一个时间片,若某进程的剩余时间小于等于0,则表明该进程运行结束,撤销该进程的PCB。

七、其它注意事项:

1、设计界面要美观、友好。

2、若显示信息较多时,应考虑分屏显示。

3、完成时间:二周内。

4、时间充裕的同学,可参照下面的思想,对实验题目一、二进行修改:

(1)为系统选定某种进程调度算法,选定后,系统将按照该调度算法进行进程的调度。

(2)创建进程:

①当创建第一个进程时,该进程立即由就绪转入执行状态,作为运行的进程。

②若采用优先级调度算法,则考虑在创建新进程或唤醒某进程后,是否会引起重新调度。

(3)阻塞进程:只能阻塞当前正在执行的进程,阻塞后,需要按照调度算法,选择新的执行进程。

(4)唤醒进程:将阻塞队列中的某个进程唤醒转入就绪队列,注意,唤醒进程插入就绪队列后,是否会引起重新调度。

(5)终止进程:因为本实验中无法实现运行进程的自行终止,必须通过该功能实现进程的结束,因此,在设计系统时,要考虑,若终止的是执行进程,则会引起进程的重新调度。若终止

的不是执行进程,则不会引起重新调度。

(6)以上内容仅供同学们参考,有兴趣的同学可参照上面的基本思想及书上介绍的进程调度部分、进程基本状态之间的转换部分内容来完善该题目的设计。

八、实验报告要求:同实验一。

实验题目三:模拟动态分区首次适应分配和回收算法

一、题目类型:必做题目。

二、实验目的:通过本实验,可加深理解动态分区分配、回收程序的功能和具体实现,特别是对回收分区

的合并的理解。

三、实验环境:同实验一。

四、实验内容:

1、设计动态分区首次适应分配、回收算法。

2、设计“未分配区说明表”,格式为:

3、设计“已分配区说明表”,格式为:

4、设计显示程序,将“未分配区说明表”和“已分配区说明表”的内容,显示在屏幕上。

5、初始分配从一个空闲区分配起,回收时要合并空区。

五、实验要求:

1、系统要求分配一个分区时,应输入:作业名、作业长度。

2、回收一个分区时,应输入:回收的作业名。回收的分区请注意是否需要进行合并。

3、

五、各功能简要说明:

1、分配功能:选择该功能后,首先输入需要分配空间的作业名及所需空间的大小。然后,按照首次适

用算法从空闲分区表中找到一个合适的分区,若找到,则划分相应的空闲分区给该作业(修改“未分配区说明表”和“已分配区说明表”中的内容);若没有找到,需要给出相应的提示信息。

2、回收算法:选择该功能后,首先输入需要回收的作业的名称,然后,系统按照该名称从“已分配区

说明表”中找到该作业对应的表项,若找到,则回收该分区(修改“未分配区说明表”和“已分配区说明表”中的内容),要注意空闲分区的合并与空闲分区表需要按地址有序调整;若没有找到,则给出相应的提示信息。

3、显示分区表:将两个分区表的内容显示在屏幕上,以便随时查看程序的运行情况。

六、其它注意事项:

1、“未分配区说明表”的初始化是指:将初始空闲分区的信息作为该表的第一个表项,且状态为1,

其余空闲表项的状态为0。

2、分配时若剩余的碎片太小,则该小碎片不要作为空闲分区存在。

3、若无空闲分区满足一个作业的需求,但分散空闲分区的合并后能够满足该作业,考虑将适当的空闲

分区合并。

4、“已分配区说明表”的初始化是指:将该表中每个表项的状态置为0。

5、显示分区表:只是将状态为1的表项显示出来。

6、完成时间:两周内。

七、实验报告要求:同实验一。

实验题目四:模拟请求分页管理中地址转换和缺页中断处理

一、题目类型:必做题目。

二、实验目的:了解内存请求分页管理中地址转换过程与先进先出置换算法和缺页中断处理过程。 三、实验环境:同实验一。 四、实验内容:

1、 在页式管理中,地址转换是由硬件完成的,实验中设计程序模拟地址转换过程。

2、 设计页表格式为:

3、 设内存1块=1024B ,现有一个共8页的作业,其副本已存在磁盘上,设第0页至第2页已装入主存,

其余5页都不在内存。将页表进行初始化处理。

4、 假设每个作业只分配3块内存,按先进先出置换算法淘汰。用“页面队列”表示淘汰的顺序。

页面队列

5、设计缺页中断处理程序。当对读入的逻辑地址,划分为页号、页内地址后,通过页表发现访问的页

不在内存,转入“缺页中断处理”程序去处理。 1.

指向最先调入的页

2.采用“先进先出”页面置换算法进行缺页中断处理。

六、其它注意事项:

1、输入的逻辑地址用十进制表示,但不超过7*1024 –1(因页表设了0---7个表目)。

2、可以尝试使用其它页面置换算法完成该题目。

3、完成时间:二周内。

七、实验报告要求:同实验一。

实验题目五:模拟使用银行家算法判断系统的状态

一、题目类型:选作题目

二、实验目的:银行家算法是操作系统中避免死锁的算法,本实验通过对银行家算法的模拟,加强学生对

该算法的理解与应用。

三、实验环境:同实验一。

四、实验内容:

1、建立T0时刻的资源分配表,初始化。

2、设计银行家算法,输入一个进程的资源请求,按银行家算法步骤进行检查。

3、设计安全性算法,检查某时系统是否安全。

4、设计显示函数,显示资源分配表,安全分配序列。

五、实验要求:

1、T0时刻的资源分配表由进程数组,Max,Allocation,Need,Available 5个数组构成。

2、系统总体结构。

六、各功能简要说明:

1、资源申请:读入一个进程申请,按银行家算法,安全算法进行试分配。

2、显示资源分配表:分屏显示资源分配表某时刻状态。

3、退出:退出系统

七、其它注意事项:

1、设计界面要美观,友好

2、显示资源分配表,可分屏显示

3、完成时间:二周内(4学时)

八、实验报告要求:同实验一。

实验题目六:模拟外存的分配与回收算法

一、题目类型:选做题目。

二、实验目的:了解空闲盘块的组织方法,对空闲盘块的分配与回收,已分配盘块的组织方法。

三、实验环境:同实验题目一。

四、实验内容:

1、首先初始化系统,初始化的内容包括:

(1)空闲盘块的组织方式(重点考虑:位示图法、成组链接法)

(2)文件的物理结构(重点考虑:显示链接法、混合索引法)

(3)一个盘块的大小。

(4)根据系统的当前情况,对位示图或空闲盘块栈进行初始化。(假定系统共64个盘块,空闲盘块号栈的长度为10)

2、根据初始化后的信息,为某文件分配相应的盘块,并将分配给该文件的盘块按选定的组织方式组织

起来,并将相应的信息记录到FCB中。

3、当某文件被删除的时候,按文件名找到该文件的FCB,回收分配给该文件的盘块,并将回收的盘块

按初始化设定的方式组织起来。

五、实验要求:

1、系统流程图:

2、若外存上没有文件时,功能2应不能使用。

3、分配外存空间时,应首先输入文件的名称及文件的大小。若没有足够的分配空间,应给出相应的提

示信息。

4、回收外存空间时,应输入文件的名称。

六、各功能简要说明:

1、系统初始化:对系统中的各个参数进行初始化。

2、分配外存空间功能:当用户选定该功能后

(1)首先输入要存储的文件名及所需要空间的大小,根据设计的盘块大小来计算该文件需要的空闲盘块的个数。

(2)该按文件建立FCB,并将相应的信息记录到FCB中

(3)根据初始化选定的空闲盘块的组织方式,来给该文件分配相应的盘块。

(4)将分配给该文件的盘块组织起来,若采用FAT方式,需要将起始盘块号记入FCB中,若采用混合索引方式,则需要将地址项对应的索引结点的指针记入FCB中。

3、回收外存空间:当用户选定该功能后

(1)首先要求用户输入要删除的文件名称,若该文件不存在,则需要给出相应的提示信息,若该文件存在,则转步骤(2)。

(2)根据文件名,找到该文件的FCB,从而找到分配给该文件的所有盘块,对盘块进行回收。

七、其它注意问题:

1、若采用位示图法进行空闲盘块的管理时,盘块号和位示图的行列之间需进行相应的转换。

2、若采用成组链接法进行空闲盘块的管理时,当分配空闲盘块栈中的最后一个盘块时系统的处理方法;

当空闲盘块号栈满的时候,还需要回收盘块,系统的处理方法。

3、显示链接和混合索引法,盘块的不同组织方式。

4、完成时间:二周

八、实验报告要求:同实验一。

操作系统 习题答案(中文版)

操作系统概第七版中文版习题答案(全) 1.1在多道程序和分时环境中,多个用户同时共享一个系统,这种情况导致多种安全问题。a. 列出此类的问题 b.在一个分时机器中,能否确保像在专用机器上一样的安全度?并解释之。 答:a.窃取或者复制某用户的程序或数据;没有合理的预算来使用资源(CPU,内存,磁盘空间,外围设备)b.应该不行,因为人类设计的任何保护机制都会不可避免的被另外的人所破译,而且很自信的认为程序本身的实现是正确的是一件困难的事。 1.2资源的利用问题在各种各样的操作系统中出现。试例举在下列的环境中哪种资源必须被严格的管理。(a)大型电脑或迷你电脑系统(b)与服务器相联的工作站(c)手持电脑 答:(a)大型电脑或迷你电脑系统:内存和CPU资源,外存,网络带宽(b)与服务器相联的工作站:内存和CPU资源(c)手持电脑:功率消耗,内存资源 1.3在什么情况下一个用户使用一个分时系统比使用一台个人计算机或单用户工作站更好? 答:当另外使用分时系统的用户较少时,任务十分巨大,硬件速度很快,分时系统有意义。充分利用该系统可以对用户的问题产生影响。比起个人电脑,问题可以被更快的解决。还有一种可能发生的情况是在同一时间有许多另外的用户在同一时间使用资源。当作业足够小,且能在个人计算机上合理的运行时,以及当个人计算机的性能能够充分的运行程序来达到用户的满意时,个人计算机是最好的,。 1.4在下面举出的三个功能中,哪个功能在下列两种环境下,(a)手持装置(b)实时系统需要操作系统的支持?(a)批处理程序(b)虚拟存储器(c)分时 答:对于实时系统来说,操作系统需要以一种公平的方式支持虚拟存储器和分时系统。对于手持系统,操作系统需要提供虚拟存储器,但是不需要提供分时系统。批处理程序在两种环境中都是非必需的。 1.5描述对称多处理(SMP)和非对称多处理之间的区别。多处理系统的三个优点和一个缺点? 答:SMP意味着所以处理器都对等,而且I/O可以在任何处理器上运行。非对称多处理有一个主处理器控制系统,与剩下的处理器是随从关系。主处理器为从处理器安排工作,而且I/O也只在主处理器上运行。多处理器系统能比单处理器系统节省资金,这是因为他们能共享外设,大容量存储和电源供给。它们可以更快速的运行程序和增加可靠性。多处理器系统能比单处理器系统在软、硬件上也更复杂(增加计算量、规模经济、增加可靠性) 1.6集群系统与多道程序系统的区别是什么?两台机器属于一个集群来协作提供一个高可靠性的服务器的要求是什么? 答:集群系统是由多个计算机耦合成单一系统并分布于整个集群来完成计算任务。另一方面,多道程序系统可以被看做是一个有多个CPU组成的单一的物理实体。集群系统的耦合度比多道程序系统的要低。集群系统通过消息进行通信,而多道程序系统是通过共享的存储空间。为了两台处理器提供较高的可靠性服务,两台机器上的状态必须被复制,并且要持续的更新。当一台处理器出现故障时,另一台处理器能够接管故障处理的功能。 1.7试区分分布式系统(distribute system)的客户机-服务器(client-server)模型与对等系统(peer-to-peer)模型 答:客户机-服务器(client-server)模型可以由客户机和服务器的角色被区分。在这种模型下,客户机向服务器发出请求,然后服务器满足这种请求。对等系统(peer-to-peer)模

操作系统题库 (1)

操作系统复习题: 1.现代OS具有并发性和共享性,是由(D)的引入而导致的。 A.单道程序 B.磁盘 C.对象 D.多道程序 2.系统的主要功能有(c)。 A.进程管理、存储器管理、设备管理、处理机管理 B.虚拟存储管理、处理机管理、进程调度、文件系统 C.处理机管理、存储器管理、设备管理、文件系统 D.进程管理、中断管理、设备管理、文件系统 3.操作系统是对(C)进行管理的软件。 A.硬件 B.软件 C.计算机资源 D.应用程序 4. Windows 98 是(C )操作系统。 A.多用户分时 B.批处理系统 C.单用户多任务 D.单用户单任务 5. 一个进程释放了一台打印机,他可能会改变(A)的状态。 A另一个等待打印机的进程 B 输入、输出进程 C 自身进程 D 所有等待打印机的进程 6.在进程转换时,下列(D)转换是不可能发生的 A、运行态变为就绪态 B、运行态变为阻塞态 C、就绪态变为运行态 D、阻塞态变为运行态 7.分页式存储管理中,地址转换工作是由(A )完成的。 A、硬件 B、地址转换程序 C、用户程序 D、装入程序 8.对记录式文件,操作系统为用户存取文件信息的最小单位是( B )。 A、字符 B、数据项 C、记录 D、文件 9.一作业进入内存后,则所属该作业的进程初始时处于( C )状态。 A、运行 B、等待 C、就绪 D、收容 10.临界区是指并发进程中访问共享变量的( D )段。 A、管理信息 B、信息存储 C、数据 D、程序 11.产生系统死锁的原因可能是由于( C )。 A、进程释放资源 B、一个进程进入死循环 C、多个进程竞争,资源出现了循环等待 D、多个进程竞争共享型设备 12.地址重定位的结果是得到(C ) A.源程序B.编译程序C.目标程序D.执行程序 13.运行时间最短的作业被优先调度,这种企业调度算法是(C )A.优先级调度B.响应比高者优先C.短作业优先D.先来先服务 14.在请求调页中可采用多种置换算法,其中LRU是 B 置换算法。 A:最佳B:最近最久未C:最近未用D:最少使用 15.树型目录结构的第一级称为目录树的(B. )。 A.分支节点 B.根节点 C.叶节点 D.终节点 16. 一个进程被唤醒意味着(B)。 A优先级变大 B 该进程可以重新竞争CPU C PCB移动到就绪队列之首 D 进程变为运行状态

操作系统原理-进程调度实验报告

一、实验目的 通过对进程调度算法的设计,深入理解进程调度的原理。 进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。 进程调度分配处理机,是控制协调进程对CPU的竞争,即按一定的调度算法从就绪队列中选中一个进程,把CPU的使用权交给被选中的进程。 进程通过定义一个进程控制块的数据结构(PCB)来表示;每个进程需要赋予进程ID、进程到达时间、进程需要运行的总时间的属性;在RR中,以1为时间片单位;运行时,输入若干个进程序列,按照时间片输出其执行序列。 二、实验环境 VC++6.0 三、实验内容 实现短进程优先调度算法(SPF)和时间片轮转调度算法(RR) [提示]: (1) 先来先服务(FCFS)调度算法 原理:每次调度是从就绪队列中,选择一个最先进入就绪队列的进程,把处理器分配给该进程,使之得到执行。该进程一旦占有了处理器,它就一直运行下去,直到该进程完成或因发生事件而阻塞,才退出处理器。 将用户作业和就绪进程按提交顺序或变为就绪状态的先后排成队列,并按照先来先服务的方式进行调度处理,是一种最普遍和最简单的方法。它优先考虑在系统中等待时间最长的作业,而不管要求运行时间的长短。 按照就绪进程进入就绪队列的先后次序进行调度,简单易实现,利于长进程,CPU繁忙型作业,不利于短进程,排队时间相对过长。 (2) 时间片轮转调度算法RR

原理:时间片轮转法主要用于进程调度。采用此算法的系统,其程序就绪队列往往按进程到达的时间来排序。进程调度按一定时间片(q)轮番运行各个进程. 进程按到达时间在就绪队列中排队,调度程序每次把CPU分配给就绪队列首进程使用一个时间片,运行完一个时间片释放CPU,排到就绪队列末尾参加下一轮调度,CPU分配给就绪队列的首进程。 固定时间片轮转法: 1 所有就绪进程按 FCFS 规则排队。 2 处理机总是分配给就绪队列的队首进程。 3 如果运行的进程用完时间片,则系统就把该进程送回就绪队列的队尾,重新排队。 4 因等待某事件而阻塞的进程送到阻塞队列。 5 系统把被唤醒的进程送到就绪队列的队尾。 可变时间片轮转法: 1 进程状态的转换方法同固定时间片轮转法。 2 响应时间固定,时间片的长短依据进程数量的多少由T = N × ( q + t )给出的关系调整。 3 根据进程优先级的高低进一步调整时间片,优先级越高的进程,分配的时间片越长。 多就绪队列轮转法: (3) 算法类型 (4)模拟程序可由两部分组成,先来先服务(FCFS)调度算法,时间片轮转。流程图如下:

操作系统习题答案

内存1通常情况下,在下列存储管理方式中,()支持多道程序设计、管理最简单,但存储碎片多;()使内存碎片尽可能少,而且使内存利用率最高。 Ⅰ.段式;Ⅱ.页式;Ⅲ.段页式;Ⅳ.固定分区;Ⅴ.可变分区 正确答案:Ⅳ;Ⅰ 2为使虚存系统有效地发挥其预期的作用,所运行的程序应具有的特性是()。 正确答案:该程序应具有较好的局部性(Locality) 3提高内存利用率主要是通过内存分配功能实现的,内存分配的基本任务是为每道程序()。使每道程序能在不受干扰的环境下运行,主要是通过()功能实现的。Ⅰ.分配内存;Ⅱ.内存保护;Ⅲ.地址映射;Ⅳ.对换;Ⅴ.内存扩充;Ⅵ.逻辑地址到物理地址的变换;Ⅶ.内存到外存间交换;Ⅷ.允许用户程序的地址空间大于内存空间。 正确答案:Ⅰ;Ⅱ 4适合多道程序运行的存储管理中,存储保护是 正确答案:为了防止各道作业相互干扰 5下面哪种内存管理方法有利于程序的动态链接()? 正确答案:分段存储管理

6在请求分页系统的页表增加了若干项,其中状态位供()参考。 正确答案:程序访问 7从下面关于请求分段存储管理的叙述中,选出一条正确的叙述()。 正确答案:分段的尺寸受内存空间的限制,但作业总的尺寸不受内存空间的限制8虚拟存储器的特征是基于()。 正确答案:局部性原理 9实现虚拟存储器最关键的技术是()。 正确答案:请求调页(段) 10“抖动”现象的发生是由()引起的。 正确答案:置换算法选择不当 11 在请求分页系统的页表增加了若干项,其中修改位供()参考。 正确答案:换出页面 12 虚拟存储器是正确答案:程序访问比内存更大的地址空间 13测得某个请求调页的计算机系统部分状态数据为:CPU利用率20%,用于对换空间的硬盘的利用率97.7%,其他设备的利用率5%。由此断定系统出现异常。此种情况下()能提高CPU的利用率。

计算机操作系统考试题题库及答案

计算机操作系统试题库与答案 一、选择题 1、热启动 DOS的方法是____C____键。 A、依次按下 CTRL+ALT+INS B、依次按下 CTRL+ALT+ESC C、同时按下 CTRL+ALT+DEL D、同时按下 CTRL+ALT+ESC 2、DOS 规定,主文件名由 1到_______个字符组成。 A、4 B、6 C、8 D、12 3、下列一个 DOS 的主文件名中,____C____是合法的。 A、&A.DBF B、@Z2 材 C、FILEL.WPS D、*.EZE1 4、DOS 中规定文件名是由____B____两部分组成的。 A、文件名+基本名 B、主文件名+ .扩展名 C、主文件名+扩展名 D、后缀+名称 5、MS-DOS 包括内部命令和外部命令, 外部命令以____A____存放在磁 A、文件方式 B、数据方式 C、系统方式 D、记录方式 6、当用户需使用某一文件时,在命令行中应指出文件的_____C____。 A、关键字 B、内容 C、盘符\路径\文件名 D、属性 7、DOS 的内部命令是在____D____时装入到内存的。 A、安装 B、执行用户程序 C、启动 D、执行系统程序 8、DOS 文件标识符一般格式为____D____。 A、[<路径>] <文件名> B、[<盘符>] <文件名> C、[<盘符>] <文件名> [<扩展名>] D、[<盘符>][<路径>]<文件名>[<.扩展名>] 9、DOS 命令中的"*"号可代替___A___个字符。 A、任意 B、1 C、3 D、8 10、设当前工作盘是 C 盘,存盘命令中没有指明盘符,则信息将存放于____B__。 A、内存 B、C 盘 C、A 盘 D、D 盘 11、在 DOS系统下,要编辑现有磁盘文件,则必须将文件读至____D____。 A、运算器 B、寄存器 C、控制器 D、内存储器 12、DOS 的含义是:____C___ A、数据库管理系统 B、实时操作系统 C、磁盘操作系统 D、汉字操作系统 13、可以对一张作了写保护的软盘进行操作的 DOS 命令是:___C____ A、DEL B、RD C、DIR D、REN 14、下列文件中,不是 DOS 可执行文件的是:____A___ A、TODAY.BAS B、TODAY.BAT C、https://www.wendangku.net/doc/8512247100.html, D、WPS.EXE 15、在 DOS命令中可用的通配符是:___B____ A、*和/ B、*和? C、?和/ D、\和. 16、表示当前工作目录的父目录的符号是:_______ A、. B、..\.. C、\ D、.. 17、要分屏显示 C 盘当前目录下的文件目录的全部信息,正确的命令是:____C___ A、TYPE C: /P B、DIR C:\ /P C、DIR C: /P D、LIST C:/P 18、删除指定子目录的 DOS 命令是:___A__ A、RD B、ERASE C、DEL D、RM

操作系统实验报告一

重庆大学 学生实验报告 实验课程名称操作系统原理 开课实验室DS1501 学院软件学院年级2013专业班软件工程2 班学生姓名胡其友学号20131802 开课时间2015至2016学年第一学期 总成绩 教师签名洪明坚 软件学院制

《操作系统原理》实验报告 开课实验室:年月日学院软件学院年级、专业、班2013级软件工 程2班 姓名胡其友成绩 课程名称操作系统原理 实验项目 名称 指导教师洪明坚 教师 评语教师签名:洪明坚年月日 1.实验目的: ?进入实验环境 –双击expenv/setvars.bat ?检出(checkout)EPOS的源代码 –svn checkout https://www.wendangku.net/doc/8512247100.html,/svn/epos ?编译及运行 –cd epos/app –make run ?清除所有的临时文件 –make clean ?调试 –make debug ?在“Bochs Enhanced Debugger”中,输入“quit”退出调试 –调试指令,请看附录A 2.实验内容: ?编写系统调用“time_t time(time_t *loc)” –功能描述 ?返回从格林尼治时间1970年1月1日午夜起所经过的秒数。如果指针loc 非NULL,则返回值也被填到loc所指向的内存位置 –数据类型time_t其实就是long ?typedef long time_t; 3.实验步骤: ?Kernel space –K1、在machdep.c中,编写系统调用的实现函数“time_t sys_time()”,计算用户秒数。需要用到 ?变量g_startup_time,它记录了EPOS启动时,距离格林尼治时间1970年1午夜的秒数 ?变量g_timer_ticks

操作系统原理实验-系统内存使用统计5

上海电力学院 计算机操作系统原理 实验报告 题目:动态链接库的建立与调用 院系:计算机科学与技术学院 专业年级:信息安全2010级 学生姓名:李鑫学号:20103277 同组姓名:无 2012年11 月28 日上海电力学院

实验报告 课程名称计算机操作系统原理实验项目线程的同步 姓名李鑫学号20103277 班级2010251班专业信息安全 同组人姓名无指导教师姓名徐曼实验日期2012/11/28 实验目的和要求: (l)了解Windows内存管理机制,理解页式存储管理技术。 (2)熟悉Windows内存管理基本数据结构。 (3)掌握Windows内存管理基本API的使用。 实验原理与内容 使用Windows系统提供的函数和数据结构显示系统存储空间的使用情况,当内存和虚拟存储空间变化时,观察系统显示变化情况。 实验平台与要求 能正确使用系统函数GlobalMemoryStatus()和数据结构MEMORYSTATUS了解系统内存和虚拟空间使用情况,会使用VirtualAlloc()函数和VirtualFree()函数分配和释放虚拟存储空间。 操作系统:Windows 2000或Windows XP 实验平台:Visual Studio C++ 6.0 实验步骤与记录 1、启动安装好的Visual C++ 6.0。 2、选择File->New,新建Win32 Console Application程序, 由于内存分配、释放及系统存储 空间使用情况均是Microsoft Windows操作系统的系统调用,因此选择An application that support MFC。单击确定按钮,完成本次创建。 3、创建一个支持MFC的工程,单击完成。

《操作系统》试题库_简答题

1、什么是操作系统?它有什么基本特征? 操作系统是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。 操作系统的基本特征是:并发、共享和异步性。 2、操作系统的含义及其功能是什么? 1)、含义:OS是一组系统软件,它是软硬件资源的控制中心,它以尽量合理有效的方法组织多个用户共享计算机的各种资源。 2)功能:管理计算机的软硬件资源(包括:处理机管理,作业管理,存储管理,设备管理,文件管理)、提高资源的利用率、方便用户。 3、叙述操作系统的含义及其功能,并从资源管理角度简述操作系统通常由哪几部分功能模 块构成,以及各模块的主要任务。 答: 1)、OS是一个系统软件,是控制和管理计算机系统硬件和软件资源,有效、合理地组 织计算机工作流程以及方便用户使用计算机系统的程序集合。 2)功能:管理计算机的软硬件资源、提高资源的利用率、方便用户。 3)组成模块: (1)、处理机管理(或进程管理):对CPU的管理、调度和控制。 (2)、存储管理:管理主存的分配、使用和释放。 (3)、设备管理:管理设备的分配、使用、回收以及I/O控制。 (4)、文件管理:管理外存上文件的组织、存取、共享和保护等。 (5)、作业管理:对作业的管理及调度。(或用户接口,使用户方便的使用计算机) 4、什么是中断向量?什么是多级中断?中断处理的过程一般有哪几步? (1)、中断向量:存放中断处理程序入口地址的内存单元称为中断向量。 (2)、多级中断:为了便于对同时产生的多个中断按优先次序来处理,所以在设计硬件时,对各种中断规定了高低不同的响应级别。优先权相同的放在一级。 (3)、中断处理步骤:响应中断,保存现场;分析中断原因,进入中断处理程序;处理中断;恢复现场,退出中断。 5、什么是多道程序设计技术 多道程序设计技术就是在系统(内存)中同时存放并运行多道相互独立的程序(作业),主机以交替的方式同时处理多道程序。它是一种宏观上并行,微观上串行的运行方式。 6、分时系统和实时系统有什么不同? 答:分时系统通用性强,交互性强,及时响应性要求一般(通常数量级为秒);实时系统往往是专用的,系统与应用很难分离,常常紧密结合在一起,实时系统并不强调资源利用率,而更关心及时响应性(通常数量级为毫秒或微秒)、可靠性等。

操作系统实验报告

《操作系统原理》实验报告 实验项目名称:模拟使用银行家算法判断系统的状态 一、实验目的 银行家算法是操作系统中避免死锁的算法,本实验通过对银行家算法的模拟,加强对操作系统中死锁的认识,以及如何寻找到一个安全序列解除死锁。 二、实验环境 1、硬件:笔记本。 2、软件:Windows 7 , Eclipse。 三、实验内容 1.把输入资源初始化,形成资源分配表; 2.设计银行家算法,输入一个进程的资源请求,按银行家算法步骤进行检查; 3.设计安全性算法,检查某时刻系统是否安全; 4.设计显示函数,显示资源分配表,安全分配序列。 四、数据处理与实验结果 1.资源分配表由进程数组,Max,Allocation,Need,Available 5个数组组成; 实验采用数据为下表: 2.系统总体结构,即菜单选项,如下图

实验的流程图。如下图 3.实验过程及结果如下图所示

1.首先输入进程数和资源类型及各进程的最大需求量 2.输入各进程的占有量及目前系统的可用资源数量 3.初始化后,系统资源的需求和分配表 4.判断线程是否安全

5.对线程进行死锁判断 五、实验过程分析 在实验过程中,遇到了不少问题,比如算法无法回滚操作,程序一旦执行,必须直接运行到单个任务结束为止,即使产生了错误,也必须等到该项任务结束才可以去选择别的操作。但总之,实验还是完满的完成了。 六、实验总结 通过实验使我对以前所学过的基础知识加以巩固,也对操作系统中抽象理论知识加以理解,例如使用Java语言来实现银行家算法,在这个过程中更进一步了解了银行家算法,通过清晰字符界面能进行操作。不过不足之处就是界面略显简洁,对于一个没有操作过计算机的人来说,用起来可能还是有些难懂。所以,以后会对界面以及功能进行完善,做到人人都可以看懂的算法。

操作系统(第二版)习题答案

第1章 一、填空 1.计算机由硬件系统和软件系统两个部分组成,它们构成了一个完整的计算机系统。 2.按功能划分,软件可分为系统软件和应用软件两种。 3.操作系统是在裸机上加载的第一层软件,是对计算机硬件系统功能的首次扩充。 4.操作系统的基本功能是处理机(包含作业)管理、存储管理、设备管理和文件管理。 5.在分时和批处理系统结合的操作系统中引入“前台”和“后台”作业的概念,其目的是改善系统功能,提高处理能力。 6.分时系统的主要特征为多路性、交互性、独立性和及时性。 7.实时系统与分时以及批处理系统的主要区别是高及时性和高可靠性。 8.若一个操作系统具有很强的交互性,可同时供多个用户使用,则是分时操作系统。 9.如果一个操作系统在用户提交作业后,不提供交互能力,只追求计算机资源的利用率、大吞吐量和作业流程的自动化,则属于批处理操作系统。 10.采用多道程序设计技术,能充分发挥CPU 和外部设备并行工作的能力。 二、选择 1.操作系统是一种 B 。 A.通用软件B.系统软件C.应用软件D.软件包2.操作系统是对 C 进行管理的软件。 A系统软件B.系统硬件C.计算机资源D.应用程序3.操作系统中采用多道程序设计技术,以提高CPU和外部设备的A。 A.利用率B.可靠性C.稳定性D.兼容性4.计算机系统中配置操作系统的目的是提高计算机的 B 和方便用户使用。 A.速度B.利用率C.灵活性D.兼容性5. C 操作系统允许多个用户在其终端上同时交互地使用计算机。 A.批处理B.实时C.分时D.多道批处理6.如果分时系统的时间片一定,那么 D ,响应时间越长。 A.用户数越少B.内存越少C.内存越多D.用户数越多 三、问答 1.什么是“多道程序设计”技术?它对操作系统的形成起到什么作用? 答:所谓“多道程序设计”技术,即是通过软件的手段,允许在计算机内存中同时存放几道相互独立的作业程序,让它们对系统中的资源进行“共享”和“竞争”,以使系统中

操作系统实验报告_实验五

实验五:管道通信 实验内容: 1.阅读以下程序: #include #include #include main() { int filedes[2]; char buffer[80]; if(pipe(filedes)<0) //建立管道,filedes[0]为管道里的读取端,filedes[1]则为管道的写入端 //成功则返回零,否则返回-1,错误原因存于errno中 err_quit(“pipe error”); if(fork()>0){ char s[ ] = “hello!\n”; close(filedes[0]); //关闭filedes[0]文件 write(filedes[1],s,sizeof(s)); //s所指的内存写入到filedes[1]文件内 close(filedes[1]); //关闭filedes[0]文件 }else{ close(filedes[1]); read(filedes[0],buffer,80); //把filedes[0]文件传送80个字节到buffer缓冲区内 printf(“%s”,buffer); close(filedes[0]); } } 编译并运行程序,分析程序执行过程和结果,注释程序主要语句。

2.阅读以下程序: #include #include #include main() { char buffer[80]; int fd; unlink(FIFO); //删除FIFO文件 mkfifo(FIFO,0666); //FIFO是管道名,0666是权限 if(fork()>0){ char s[ ] = “hello!\n”;

操作系统原理实验四

实验4 进程控制 1、实验目的 (1)通过对WindowsXP进行编程,来熟悉和了解系统。 (2)通过分析程序,来了解进程的创建、终止。 2、实验工具 (1)一台WindowsXP操作系统的计算机。 (2)计算机装有Microsoft Visual Studio C++6.0专业版或企业版。 3、预备知识 (3)·CreateProcess()调用:创建一个进程。 (4)·ExitProcess()调用:终止一个进程。 4、实验编程 (1)编程一利用CreateProcess()函数创建一个子进程并且装入画图程序(mspaint.exe)。阅读该程序,完成实验任务。源程序如下: # include < stdio.h > # include < windows.h > int main(VOID) ﹛STARTUPINFO si; PROCESS INFORMA TION pi; ZeroMemory(&si,sizeof(si)); Si.cb=sizeof(si); ZeroMemory(&pi,sizeof(pi)); if(!CreateProcess(NULL, “c: \ WINDOWS\system32\ mspaint.exe”, NULL, NULL, FALSE, 0, NULL, NULL, &si,&pi)) ﹛fprintf(stderr,”Creat Process Failed”); return—1; ﹜ WaitForSingleObject(pi.hProcess,INFINITE); Printf(“child Complete”); CloseHandle(pi.hProcess); CloseHandle(pi hThread); ﹜

计算机操作系统习题答案

计算机操作系统习题答 案 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

第一章操作系统概论 1.单项选择题 ⑴ B; ⑵ B; ⑶ C; ⑷ B; ⑸ C; ⑹ B; ⑺ B;⑻ D;⑼ A;⑽ B; 2.填空题 ⑴操作系统是计算机系统中的一个最基本的系统软件,它管理和控制计算机系统中的各种系统资源; ⑵如果一个操作系统兼有批处理、分时和实时操作系统三者或其中两者的功能,这样的操作系统称为多功能(元)操作系统; ⑶没有配置任何软件的计算机称为裸机; ⑷在主机控制下进行的输入/输出操作称为联机操作; ⑸如果操作系统具有很强交互性,可同时供多个用户使用,系统响应比较及时,则属于分时操作系统类型;如果OS可靠,响应及时但仅有简单的交互能力,则属于实时操作系统类型;如果OS在用户递交作业后,不提供交互能力,它所追求的是计算机资源的高利用率,大吞吐量和作业流程的自动化,则属于批处理操作系统类型; ⑹操作系统的基本特征是:并发、共享、虚拟和不确定性; ⑺实时操作系统按应用的不同分为过程控制和信息处理两种; ⑻在单处理机系统中,多道程序运行的特点是多道、宏观上并行和微观上串行。 第二章进程与线程 1.单项选择题

⑴ B;⑵ B;⑶ A C B D; ⑷ C; ⑸ C; ⑹ D; ⑺ C; ⑻ A; ⑼ C; ⑽ B; ⑾ D; ⑿ A; ⒀ D; ⒁ C; ⒂ A; 2.填空题 ⑴进程的基本状态有执行、就绪和等待(睡眠、阻塞); ⑵进程的基本特征是动态性、并发性、独立性、异步性及结构性; ⑶进程由控制块(PCB)、程序、数据三部分组成,其中PCB是进程存在的唯一标志。而程序部分也可以为其他进程共享; ⑷进程是一个程序对某个数据集的一次执行; ⑸程序并发执行与顺序执行时相比产生了一些新特征,分别是间断性、失去封闭性和不可再现性; ⑹设系统中有n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况: ①没有运行进程,有2个就绪进程,n个进程处于等待状态; ②有一个运行进程,没有就绪进程,n-1个进程处于等待状态; ③有1个运行进程,有1个等待进程,n-2个进程处于等待状态; ④有1个运行进程,n-1个就绪进程,没有进程处于等待状态; 上述情况中不可能发生的情况是①; ⑺在操作系统中引入线程的主要目的是进一步开发和利用程序内部的并行性; ⑻在一个单处理系统中,若有5个用户进程,且假设当前时刻为用户态,则处于就绪状态的用户进程最多有4个,最少0个;

操作系统题库答案

第一部分引言 一、选择题 1、下列选择中,哪些不就是操作系统关心的主要问题。(浙大2003) (1)管理计算机裸机;(2)设计提供用户与计算机硬件系统间的界面; (3)管理计算机系统资源;(4)高级程序设计语言的编译器。 2、从用户角度瞧,操作系统就是()。 A、计算机资源的管理者; B、计算机工作流程的组织者; C、用户与计算机之间的接口; D、由按层次结构组成的软件模块的集合。 3、引入多道程序技术的前提条件之一就是系统具有()(西电00) (1)多个cpu;(2)多个终端;(3)中断功能;(4)分时功能 4、操作系统就是一种。 A、系统软件 B、系统硬件 C、应用软件 D、支援软件 5、操作系统允许一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。 A、实时 B、分时 C、分布式 D、单用户 6、如果操作系统具有很强的交互性,可同时供多个用户使用,但时间响应不太及时,则属于分时操作系统类型;如果操作系统可靠,时间响应及时但仅有简单的交互能力则属于实时操作系统类型。 二、判断题 1、所谓多道程序设计,即指每一时刻有若干个进程在执行。( 错)(南京大学00) 2、采用多道程序设计的系统中,系统的程序道数越多,系统效率越高。( 错)(西电01) 3、由于采用了分时技术,用户可以独占计算机的资源。( 错) 4、多道程序设计就是利用了CPU与通道的并行工作来提高系统利用率的。(错) 5、多道程序设计可以缩短系统中作业的执行时间。( 错) 6、在一个兼顾分时操作系统与批处理系统中,通常把终端作业称为前台作业,而把批处理型作业称为后台作业。( 错) 7、批处理系统不允许用户随时干预自己程序的运行。( 对) 8、Windows操作系统完全继承了分时系统的特点。( 对)

操作系统实验报告

《计算机操作系统》实验报告 教师: 学号: 姓名: 2012年3月6日 计算机学院

实验题目:请求页式存储管理(三) ----------------------------------------------------------------------------- 实验环境:VC6.0++ 实验目的:学生应独立地用高级语言编写几个常用的存储分配算法,并设计一个存储管理的模拟程序,对各种算法进行分析比较,评测其性能优劣,从而加深对这些算法的了解。实验内容: (1)编制和调试示例给出的请求页式存储管理程序,并使其投入运行。 (2)增加1~2种已学过的淘汰算法,计算它们的页面访问命中率。试用各种算法的命中率加以比较分析。(增加了FIFO) 操作过程: (1)产生随机数 (2)输入PageSize(页面大小1 /2/4/8 K) (pageno[i]=int(a[i]/1024)+1) (3)菜单选择

(4)OPT/ LRU/FIFO演示(pagesize=1K)

(5) 过程说明(PAGESIZE = 4K ) OPT :最佳置换算法(淘汰的页面是以后永不使用,或许是在最长时间内不再被访问的页面) //在Table 表中如果未找到,记录每个元素需要找的长度 //全部table 中元素找完长度,然后进行比较,找出最大的,进行淘汰 int max=0; int out; for(k=0;kmax){ max = table_time[k]; out = k; } }//找出最长时间,进行替换 table[out]=pageno[i]; page_out++;

操作系统习题答案

例1:某分页系统,主存容量为64K,页面大小为1K,对一个4页大的作业,其0、1、2、3页分别被分配到主存的2、4、6、7块中。将十进制的逻辑地址1023、2500、4500转换为物理地址。 1)逻辑地址1023:1023/1K得页号为0,页内地址为1023,查页表找到对应得物理块为2,故物理 地址为2*1K+1023=3071。 2)逻辑地址2500:2500/1K得页号为2,页内地址为452,查页表找到对应得物理块为6,故物理地 址为6*1K+452=6596。 3)逻辑地址4500:4500/1K得页号为4,页内地址为404,页号大于页表长度,产生越界中断 例2:某系统有224字节的内存,固定分区的大小为216字节,1)进程表中的每个表项至少要用多少位来记录分配给进程的分区?2)界限寄存器必须要有多少位? 1)224字节/ 216字节= 28字节,因此需要8位来存储28个分区中的一个。 2)固定分区的大小为216字节,故最大合法地址就是216-1,二进制中216-1就是16位,所以界 限寄存器有16位。 例3:在某简单分页系统中,有224字节的物理内存,256页的逻辑地址空间,且页的大小为210字节,问逻辑地址有多少位? 答:逻辑地址空间包括了256=28个大小为210字节的页,总的逻辑地址空间就是210×28=218 字节,因此需要18位的地址来表示218字节地址空间。 例4:某系统的用户空间共有32个页面,每页1KB,主存16KB。试问: 1)逻辑地址的有效位就是多少? 2)物理地址需要多少位? 3)假定某时刻系统为用户的第0,1,2,3页分别分配的物理块号为5,10,4,7,试将虚地址0A5CH 与093CH变换为物理地址。 答:1)逻辑地址空间包括了32=25个大小为210字节的页,总的逻辑地址空间就是25×210=215 字节,因此需要15位的地址来表示215字节地址空间。 2)物理地址=主存16KB=214,因此物理地址需要14位。 3)0A5CH=1100B,前5位为逻辑地址中的页号,为00010B=2,即该地址的物理块号为4,表示为5 位的二进制为00100B,因此0A5CH的物理地址就是1100,即125CH。同样的方法求得,093CH 对应的物理地址就是113CH。 例5:假设一个分页存储系统具有快表,多数活动页表项都可以存在其中。如果页表放在内存中。内存访问时间就是1us,若快表的命中率就是85%,则有效存取时间为多少?若快表的命中率为50%,那么有效存取时间为多少? 解:当快表的命中率为85%时,有效存取时间为: 0、85×1+(1-0、85)×(1+1)=1、15us 当快表的命中率为50%时,有效存取时间为: 0、5×1+(1-0、5)×(1+1)=1、5us 例6:计算[0,430], [1,10], [2,500], [3,400], [4,20], [5,100]的内存地址 答:[0,430]:219+430=649 Array [1,10]:3300+10=3310 [2,500]:段内地址越界 [3,400]:1237+400=1637 [4,20]:1952+20=1972 [5,100]:段号越界 思考题: 1、“整体对换从逻辑上也扩充了内存,因此也实现了虚拟存储器的功能”这种说法就是否正

操作系统实验报告

操作系统实验报告 Document number:NOCG-YUNOO-BUYTT-UU986-1986UT

许昌学院 《操作系统》实验报告书学号: 姓名:闫金科 班级:14物联网工程 成绩: 2016年02月

实验一Linux的安装与配置 一、实验目的 1.熟悉Linux系统的基本概念,比如Linux发行版、宏内核、微内核等。 2.掌握Linux系统的安装和配置过程,初步掌握Linux系统的启动和退出方 法。 3.熟悉Linux系统的文件系统结构,了解Linux常用文件夹的作用。 二、实验内容 1.从网络上下载VMware软件和两个不同Linux发行版镜像文件。 2.安装VMware虚拟机软件。 3.在VMware中利用第一个镜像文件完成第一个Linux的安装,期间完成网络 信息、用户信息、文件系统和硬盘分区等配置。 4.在VMware中利用第二个镜像文件完成第二个Linux的安装,并通过LILO或 者GRUB解决两个操作系统选择启动的问题。 5.启动Linux系统,打开文件浏览器查看Linux系统的文件结构,并列举出 Linux常用目录的作用。 三、实验过程及结果 1、启动VMware,点击新建Linux虚拟机,如图所示: 2、点击下一步,选择经典型,点击下一步在选择客户机页面选择 Linux,版本选择RedHatEnterpriseLinux5,如图所示: 3、点击下一步创建虚拟机名称以及所要安装的位置,如图所示: 4、点击下一步,磁盘容量填一个合适大小,此处选择默认值大小 10GB,如图所示: 5、点击完成,点击编辑虚拟机设置,选择硬件选项中的CD-ROM (IDE...)选项,在右侧连接中选择“使用ISO镜像(I)”选项,点 击“浏览”,找到Linux的镜像文件,如图所示:

操作系统原理实验五

实验五线程的同步 1、实验目的 (1)进一步掌握Windows系统环境下线程的创建与撤销。 (2)熟悉Windows系统提供的线程同步API。 (3)使用Windows系统提供的线程同步API解决实际问题。 2、实验准备知识:相关API函数介绍 ①等待对象 等待对象(wait functions)函数包括等待一个对象(WaitForSingleObject ())和等待多个对象(WaitForMultipleObject())两个API函数。 1)等待一个对象 WaitForSingleObject()用于等待一个对象。它等待的对象可以为以下对象 之一。 ·Change ontification:变化通知。 ·Console input: 控制台输入。 ·Event:事件。 ·Job:作业。 ·Mutex:互斥信号量。 ·Process:进程。 ·Semaphore:计数信号量。 ·Thread:线程。 ·Waitable timer:定时器。 原型: DWORD WaitForSingleObject( HANDLE hHandle, // 对象句柄 DWORD dwMilliseconds // 等待时间 ); 参数说明: (1)hHandle:等待对象的对象句柄。该对象句柄必须为SYNCHRONIZE访问。 (2)dwMilliseconds:等待时间,单位为ms。若该值为0,函数在测试对象的状态后立即返回,若为INFINITE,函数一直等待下去,直到接收到 一个信号将其唤醒,如表2-1所示。 返回值: 如果成功返回,其返回值说明是何种事件导致函数返回。

Static HANDLE hHandlel = NULL; DWORD dRes; dRes = WaitForSingleObject(hHandlel,10); //等待对象的句柄为hHandlel,等待时间为10ms 2)等待对个对象 WaitForMultiple()bject()在指定时间内等待多个对象,它等待的对象与 WaitForSingleObject()相同。 原型: DWORD WaitForMultipleObjects( DWORD nCount, //句柄数组中的句柄数 CONST HANDLE * lpHandles, //指向对象句柄数组的指针 BOOL fWaitAll, //等待类型 DWORD dwMilliseconds //等待时间 ); 参数说明: (1)nCount:由指针 * lpHandles指定的句柄数组中的句柄数,最大数是MAXIMUM WAIT OBJECTS。 (2)* lpHandles:指向对象句柄数组的指针。 (3)fWaitAll:等待类型。若为TRUE,当由lpHandles数组指定的所有对象被唤醒时函数返回;若为FALSE,当由lpHandles数组指定的某一个 对象被唤醒时函数返回,且由返回值说明是由于哪个对象引起的函数 返回。 (4)dwMilliseconds:等待时间,单位为ms。若该值为0,函数测试对象的状态后立即返回;若为INFINITE,函数一直等待下去,直到接收到 一个信号将其唤醒。 返回值:、 如果成功返回,其返回值说明是何种事件导致函数返回。 各参数的描述如表2-2所示。

操作系统第四版-课后习题答案

操作系统第四版-课后习题答案

第一章 作者:佚名来源:网络 1、有一台计算机,具有IMB 内存,操作系统占用200KB ,每个用户进程各占200KB 。如果用户进程等待I/O 的时间为80 % ,若增加1MB 内存,则CPU 的利用率提高多少? 答:设每个进程等待I/O 的百分比为P ,则n 个进程同时等待刀O 的概率是Pn ,当n 个进程同时等待I/O 期间CPU 是空闲的,故CPU 的利用率为1-Pn。由题意可知,除去操作系统,内存还能容纳4 个用户进程,由于每个用户进程等待I/O的时间为80 % , 故: CPU利用率=l-(80%)4 = 0.59 若再增加1MB 内存,系统中可同时运行9 个用户进程,此时:cPu 利用率=l-(1-80%)9 = 0.87 故增加IMB 内存使CPU 的利用率提高了47 % : 87 %/59 %=147 % 147 %-100 % = 47 % 2 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A 先开始做,程序B 后开始运行。程序A 的运行轨迹为:计算50ms 、打印100ms 、再计算50ms 、打印100ms ,结束。程序B 的运行轨迹为:计算50ms 、输入80ms 、再计算100ms ,结束。试说明(1 )两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?( 2 )程序A 、B 有无等待CPU 的情况?若有,指出发生等待的时刻。 答:画出两道程序并发执行图如下: (1)两道程序运行期间,CPU存在空闲等待,时间为100 至150ms 之间(见图中有色部分) (2)程序A 无等待现象,但程序B 有等待。程序B 有等待时间段为180rns 至200ms 间(见图中有色部分) 3 设有三道程序,按A 、B 、C优先次序运行,其内部计算和UO操作时间由图给出。

相关文档