操作系统习题与解析
- 格式:doc
- 大小:6.75 MB
- 文档页数:13
操作系统-第4章习题解析第4章习题解析1.为什么要配置层次式存储器?答:这是因为: a.设置多个存储器可以使存储器两端的硬件能并⾏⼯作。
b.采⽤多级存储系统,特别是Cache技术,这是⼀种减轻存储器带宽对系统性能影响的最佳结构⽅案。
c.在微处理机内部设置各种缓冲存储器,以减轻对存储器存取的压⼒。
增加CPU中寄存器的数量,也可⼤⼤缓解对存储器的压⼒。
2.可采⽤哪⼏种⽅式将程序装⼊内存?它们分别适⽤于何种场合?答:将程序装⼊内存可采⽤的⽅式有:绝对装⼊⽅式、重定位装⼊⽅式、动态运⾏时装⼊⽅式;绝对装⼊⽅式适⽤于单道程序环境中,重定位装⼊⽅式和动态运⾏时装⼊⽅式适⽤于多道程序环境中。
3.何为静态链接?静态链接时需要解决两个什么问题?答:静态链接是指在程序运⾏之前,先将各⾃⽬标模块及它们所需的库函数,链接成⼀个完整的装⼊模块,以后不再拆开的链接⽅式。
将⼏个⽬标链接装配成⼀个装⼊模块时,需解决以下两个问题: 将相对地址进⾏修改。
即将除第⼀个模块外的相对地址修改成装⼊模块中的相应的相对地址。
变换外部调⽤符号。
即将每个模块中所⽤的外部调⽤符号,都变换为相对地址。
4.何谓装⼊时动态链接?装⼊时动态链接⽅式有何优点?答:装⼊时动态链接是指将⽤户源程序编译后所得到的⼀组⽬标模块,在装⼊内存时,采⽤边装⼊边链接的⼀种链接⽅式,即在装⼊⼀个⽬标模块时,若发⽣⼀个外部模块调⽤事件,将引起装⼊程序去找相应的外部⽬标模块,把它装⼊内存中,并修改⽬标模块中的相对地址。
装⼊时动态链接⽅式有以下优点: 1)便于修改和更新 2)便于实现对⽬标模块的共享5.何谓运⾏时动态链接?运⾏时动态链接⽅式有何优点?答:运⾏时动态链接是将对某些模块的链接推迟到程序执⾏时才进⾏链接,也就是,在执⾏过程中,当发现⼀个被调⽤模块尚未装⼊内存时,⽴即由0S去找到该模块并将之装⼊内存,把它链接到调⽤者模块上。
优点:凡是在执⾏过程中未被⽤过的⽬标模块,都不会被调⼊内存和被链接到装⼊模块上,这样不仅能加快程序的装⼊过程,⽽且可节省⼤量的内存空间。
操作系统练习题第一章引言(一单项选择题1 操作系统是计算机系统的一种( 。
A.应用软件B. 系统软件c. 通用软件D.工具软件2.操作系统目的是提供一个供其他程序执行的良好环境,因此它必须使计算机( A.使用方便B. 高效工作C.合理使用资源D.使用方便并高效工作3.允许多个用户以交互方式使用计算机的操作系统是( 。
A.分时操作系统B. 批处理单道系统C.实时操作系统D.批处理多道系统4.下列系统中( 是实时系统。
A.计算机激光照排系统B. 办公自动化系统C.化学反应堆控制系统D.计算机辅助设计系统5.操作系统是一种系统软件,它( 。
A.控制程序的执行B. 管理计算机系统的资源C.方便用户使用计算机D.管理计算机系统的资源和控制程序的执行6.计算机系统把进行( 和控制程序执行的功能集中组成一种软件,称为操作系统A.CPU 管理B.作业管理C.资源管理D.设备管理7.批处理操作系统提高了计算机系统的工作效率,但( 。
A.不能自动选择作业执行B. 无法协调资源分配c.不能缩短作业执行时间D 在作业执行时用户不能直接干预8.分时操作系统适用于( 。
A.控制生产流水线B.调试运行程序c.大量的数据处理D.多个计算机资源共享9.在混合型操作系统中,“前台”作业往往是指( 。
A.由批量单道系统控制的作业B.由批量多道系统控制的作业c.由分时系统控制的作业D.由实时系统控制的作业10.在批处理兼分时的系统中,对( 应该及时响应,使用户满意。
A.批量作业B.前台作业c.后台作业D.网络通信11.实时操作系统对可靠性和安全性要求极高,它( 。
A.十分注重系统资源的利用率B.不强调响应速度c.不强求系统资源的利用率D.不必向用户反馈信息12.分布式操作系统与网络操作系统本质上的不同之处在于( 。
A.实现各台计算机之间的通信B.共享网络个的资源c.满足较大规模的应用D.系统中若干台计算机相互协作完成同一任务13.SPOOL技术用于( 。
操作系统练习题第一章引言(一单项选择题1操作系统是计算机系统的一种( 。
A.应用软件 B.系统软件c.通用软件D.工具软件2.操作系统目的是提供一个供其他程序执行的良好环境,因此它必须使计算机( A.使用方便 B.高效工作 C.合理使用资源 D.使用方便并高效工作3.允许多个用户以交互方式使用计算机的操作系统是( 。
A.分时操作系统 B.批处理单道系统 C.实时操作系统 D.批处理多道系统4.下列系统中( 是实时系统。
A.计算机激光照排系统 B.办公自动化系统 C.化学反应堆控制系统 D.计算机辅助设计系统5.操作系统是一种系统软件,它( 。
A.控制程序的执行 B.管理计算机系统的资源C.方便用户使用计算机D.管理计算机系统的资源和控制程序的执行6.计算机系统把进行( 和控制程序执行的功能集中组成一种软件,称为操作系统A.CPU管理B.作业管理C.资源管理D.设备管理7.批处理操作系统提高了计算机系统的工作效率,但( 。
A.不能自动选择作业执行 B.无法协调资源分配 c.不能缩短作业执行时间 D在作业执行时用户不能直接干预8.分时操作系统适用于( 。
A.控制生产流水线B.调试运行程序c.大量的数据处理D.多个计算机资源共享9.在混合型操作系统中,“前台”作业往往是指( 。
A.由批量单道系统控制的作业B.由批量多道系统控制的作业 c.由分时系统控制的作业D.由实时系统控制的作业10.在批处理兼分时的系统中,对( 应该及时响应,使用户满意。
A.批量作业B.前台作业c.后台作业D.网络通信11.实时操作系统对可靠性和安全性要求极高,它( 。
A.十分注重系统资源的利用率B.不强调响应速度 c.不强求系统资源的利用率 D.不必向用户反馈信息12.分布式操作系统与网络操作系统本质上的不同之处在于( 。
A.实现各台计算机之间的通信B.共享网络个的资源 c.满足较大规模的应用 D.系统中若干台计算机相互协作完成同一任务13.SPOOL技术用于( 。
第一章绪论1.什么是操作系统的基本功能?答:操作系统的职能是管理和控制汁算机系统中的所有硬、软件资源,合理地组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接口。
操作系统的基本功能包括:处理机管理、存储管理、设备管理、信息管理(文件系统管理)和用户接口等。
2.什么是批处理、分时和实时系统?各有什么特征?答:批处理系统(batchprocessingsystem):操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序(monitor)自动依次处理。
其主要特征是:用户脱机使用计算机、成批处理、多道程序运行。
分时系统(timesharingoperationsystem):把处理机的运行时间分成很短的时间片,按时间片轮转的方式,把处理机分配给各进程使用。
其主要特征是:交互性、多用户同时性、独立性。
实时系统(realtimesystem):在被控对象允许时间范围内作出响应。
其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。
3.多道程序(multiprogramming)和多重处理(multiprocessing)有何区别?答;多道程序(multiprogramming)是作业之间自动调度执行、共享系统资源,并不是真正地同时值行多个作业;而多重处理(multiprocessing)系统配置多个CPU,能真正同时执行多道程序。
要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持。
6.设计计算机操作系统时与那些硬件器件有关运算器、控制器、存储器、输入设备、输出设备第二章作业管理和用户接口2.作业由哪几部分组成?各有什么功能?答:作业由三部分组成:程序、数据和作业说明书。
程序和数据完成用户所要求的业务处理工作,作业说明书则体现用户的控制意图。
3.作业的输入方式有哪几种?各有何特点答:作业的输入方式有5种:联机输入方式、脱机输入方式、直接耦合方式、SPOOLING(Simultaneous Peripheral OperationsOnline)系统和网络输入方式,各有如下特点:(1)联机输入方式:用户和系统通过交互式会话来输入作业。
第4章存储器管理4.1 典型例题解析【例1】某系统采用动态分区分配方式管理内存,内存空间为640K,高端40K用来存放操作系统。
在内存分配时,系统优先使用空闲区低端的空间。
对下列的请求序列:作业1申请130K、作业2申请60K、作业3申请100K、作业2释放60K、作业4申请200K、作业3释放100K、作业1释放130K、作业5申请140K、作业6申请60K、作业7申请50K、作业6释放60K,请分别画图表示出使用首次适应算法和最佳适应算法进行内存分配和回收后内存的实际使用情况。
答:使用首次适应算法和最佳适应算法进行上述内存的分配和回收后,内存的实际使用情况分别如图(a)和(b)所示。
(a)(b)【例2】对一个将页表存放在内存中的分页系统:(1)如访问内存需要0.2μs,有效访问时间为多少?(2)如果加一快表,且假定在快表中找到页表项的机率高达90%,则有效访问时间又是多少(假定查快表需花的时间为0)?答:(1)有效访问时间为:2×0.2=0.4μs(2)有效访问时间为:0.9×0.2+(1—0.9)×2×0.2=0.22 ps。
【例3】某系统采用页式存储管理策略,拥有逻辑空间32页,每页2K,拥有物理空间1M。
(1)写出逻辑地址的格式。
(2)若不考虑访问权限等,进程的页表有多少项?每项至少有多少位?(3)如果物理空间减少一半,页表结构应相应作怎样的改变?答:(1)该系统拥有逻辑空间32页,故逻辑地址中页号必须用5位来描述:而每页为2K,因此,页内地址必须用11位来描述,这样可得到它的逻辑地址格式如下:等,则页表项中只需给出页所对应的物理块块号,1M的物理空间可分成29个内存块,故每个页表项至少有9位(3)如果物理空间减少一半,则页表中页表项数仍不变,但每项的长度可减少1位。
【例4】已知某分页系统,主存容量为64K,页面大小为1K,对一个4页大的作业,其0、l、2、3页分别被分配到主存的2、4、6、7块中。
操作系统-第3章习题解析第三章习题解析1.⾼级调度不低级调度的主要任务是什么?为什么要引⼊中级调度?答:⾼级调度的主要任务是根据某种算法,把外存上处于后备队列中的那些作业调⼊内存。
低级调度是保存处理机的现场信息,按某种算法先取进程,再把处理器分配给进程。
引⼊中级调度的主要⽬的是为了提⾼内存利⽤率和系统吞吐量。
使那些暂时不能运⾏的进程不再占⽤内存资源,将它们调⾄外存等待,把进程状态改为就绪驻外存状态或挂起状态。
2.处理机调度算法的共同⽬标是什么?批处理系统的调度⽬标⼜是什么?答:共同⽬标:资源利⽤率,公平性,平衡性,策略强制执⾏。
批处理系统的调度⽬标:平均周转时间短,系统吞吐量⾼,处理机利⽤率⾼。
3.何谓作业、作业步和作业流?答:作业包含通常的程序和数据,还配有作业说明书。
系统根据该说明书对程序的运⾏进⾏控制。
批处理系统中是以作业为基本单位从外存调⼊内存。
作业步是指每个作业运⾏期间都必须经过若⼲个相对独⽴相互关联的顺序加⼯的步骤。
作业流是指若⼲个作业进⼊系统后依次存放在外存上形成的输⼊作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。
4.在什么情况下需要使⽤作业控制块JCB?其中包含了哪些内容?答:每当作业进⼊系统时,系统便为每个作业建⽴⼀个作业控制块JCB,根据作业类型将它插⼊到相应的后备队列中。
JCB包含的内容通常有:1)作业标识 2)⽤户名称 3)⽤户账户 4)作业类型(CPU繁忙型、I/0芳名型、批量型、终端型) 5)作业状态 6)调度信息(优先级、作业已运⾏) 7)资源要求 8)进⼊系统时间 9)、开始处理时间 10)作业完成时间 11)作业退出时间 12)资源使⽤情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?答:作业调度每次接纳进⼊内存的作业数,取决于多道程序度。
应将哪些作业从外存调⼊内存,取决于采⽤的调度算法。
最简单的是先来服务调度算法,较常⽤的是短作业优先调度算法和基于作业优先级的调度算法。
第一章绪论1.什么是操作系统的基本功能?答:操作系统的职能是管理和控制汁算机系统中的所有硬、软件资源,合理地组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接口。
操作系统的基本功能包括:处理机管理、存储管理、设备管理、信息管理(文件系统管理)和用户接口等。
2.什么是批处理、分时和实时系统?各有什么特征?答:批处理系统(batchprocessingsystem):操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序(monitor)自动依次处理。
其主要特征是:用户脱机使用计算机、成批处理、多道程序运行。
分时系统(timesharingoperationsystem):把处理机的运行时间分成很短的时间片,按时间片轮转的方式,把处理机分配给各进程使用。
其主要特征是:交互性、多用户同时性、独立性。
实时系统(realtimesystem):在被控对象允许时间范围内作出响应。
其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。
3.多道程序(multiprogramming)和多重处理(multiprocessing)有何区别?答;多道程序(multiprogramming)是作业之间自动调度执行、共享系统资源,并不是真正地同时值行多个作业;而多重处理(multiprocessing)系统配置多个CPU,能真正同时执行多道程序。
要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持。
6.设计计算机操作系统时与那些硬件器件有关运算器、控制器、存储器、输入设备、输出设备第二章作业管理和用户接口2.作业由哪几部分组成?各有什么功能?答:作业由三部分组成:程序、数据和作业说明书。
程序和数据完成用户所要求的业务处理工作,作业说明书则体现用户的控制意图。
3.作业的输入方式有哪几种?各有何特点答:作业的输入方式有5种:联机输入方式、脱机输入方式、直接耦合方式、SPOOLING(Simultaneous Peripheral OperationsOnline)系统和网络输入方式,各有如下特点:(1)联机输入方式:用户和系统通过交互式会话来输入作业。
第1章操作系统引论1.1 典型例题解析【例1】试说明操作系统与硬件、其它系统软件以及用户之间的关系。
答:操作系统是覆盖在硬件上的第一层软件,它管理计算机的硬件和软件资源,并向用户提供良好的界面。
操作系统与硬件紧密相关,它直接管理着硬件资源,为用户完成所有与硬件相关的操作,从而极大地方便了用户对硬件资源的使用,并提高了硬件资源的利用率。
操作系统是一种特殊的系统软件,其它系统软件与运行在操作系统地基础之上,可获得操作系统提供的大量服务,也就是说,操作系统是其它系统软件和硬件的接口。
而一般用户使用计算机除了需要操作系统支持外,还需要用到大量的其它系统软件和应用软件,以使其工作更加方便和高效。
【例2】操作系统具有哪些特征?它们之间有何关系?答:操作系统的特征有并发、共享、虚拟和异步性。
它们的关系如下:(1)并发和共享是操作系统最基本的特征。
为了提高计算机资源的利用率,操作系统必然要采用多道程序设计技术,使多个程序共享系统的资源,并发的执行。
(2)并发和共享互为存在的条件。
一方面,资源的共享以程序(进程)的并发执行为条件,若系统不允许程序并发执行,自然不存在资源的共享问题;另一方面,若系统不能对资源共享实施有效管理,协调好各个进程对共享资源的访问,也必将影响到程序的并发执行,甚至根本无法并发执行。
(3)虚拟以并发和共享为前提条件。
为了使并发进程能更方便、更有效地共享资源,操作系统经常采用多种虚拟技术来在逻辑上增加CPU和设备的数量以及存储器的容量,从而解决众多并发进程对有限的系统资源的竞争问题。
(4)异步性是并发和共享的必然结果。
操作系统允许多个并发进程共享资源、相互合作,使得每个进程的运行过程受到其他进程的制约,不再“一气呵成”,这必然导致异步性特征的产生。
【例3】简述并发与并行的区别。
答:并行性和并发性是既相似又有区别的两个概念。
并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内发生。
操作系统基础习题解析及实验指导第一篇操作系统基础知识点及习题解答该部分罗列操作系统基础各章节的学习要点,指出学习的重点和难点,在回顾相关知识点的基础上,对典型习题进行分析和解答。
第一章操作系统引论本章学习要点【1】掌握操作系统的概念与作用【2】掌握操作系统的基本类型与特点【3】掌握操作系统的特征与功能【4】深入领会多道程序设计技术本章学习难点【1】多道程序设计技术【2】操作系统的特征知识点回顾一. 操作系统的概念一个完整的计算机系统由计算机硬件系统和计算机软件系统两部分组成。
操作系统是配置在计算机硬件上的第一层软件,是对硬件系统功能的第一次扩充。
图1-1 计算机系统的层次图1.操作系统(Operating System,简称OS)的作用(1)OS作为用户与计算机硬件系统之间的接口OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。
或者说,用户在OS 的帮助下能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序。
(2)OS作为计算机系统资源的管理者这是广为流行的一个关于OS作用的观点。
在一个计算机系统中,通常都包含了各种各样的硬件和软件资源。
归纳起来可将资源分为四类:处理器、存储器、I/O设备以及信息(数据和程序)。
OS的主要功能正是针对这四类资源进行有效的管理。
(3)OS用作扩充机器对于一台完全没有软件配置的计算机系统(裸机),即使功能再强,也必定难于使用。
OS在第 1 页共102 页裸机上分别覆盖I/O设备管理软件、文件管理软件等,此时用户所看到的机器,将是一台比裸机功能更强、使用更方便的机器。
通常把覆盖了软件的机器称为扩充机器或虚机器。
在计算机系统上覆盖上一层软件后,系统功能便增强一级。
由于OS自身包含了若干层软件,因此当在裸机上覆盖上OS后,便可获得一台功能显著增强,使用极为方便的多层扩充机器或多层虚机器。
2.操作系统的概念操作系统是一组控制和管理计算机硬件和软件资源、合理组织计算机的工作流程,方便用户使用的程序的集合。
第二章进程的描述与控制【例1】判断题:并发是并行的不同表述,其原理相同。
()答案×。
分析并发是指多道程序的执行在时间上是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始。
但对单CPU系统而言,每一时刻只有一个程序在CPU上运行(有可能此时其他的程序在进行输入、输出)。
也就是说,占有CPU的只能有一个程序。
因此,并发实际上是“在宏观上并行执行,在微观上串行执行”。
而并行是真正意义上的并行执行,因此两者的含义是不同的。
【例2】在操作系统中引入“进程”概念的主要目的是()。
A.改善用户编程环境B.提高程序的运行速度B.C.描述程序动态执行过程的性质D.使程序与计算过程一一对应答案C 分析操作系统中多道程序的引入,使得它们在并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各道程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。
这些都是在程序的动态过程中发生的。
而程序本身是机器能够翻译或执行的一组动作或指令,它或者写在纸面上,或者存放在磁盘等介质上,是静止的。
很显然,直接从程序的字面上无法看出它什么时候运行、什么时候停顿,也看不出它是否影响其它程序或者一定受其它程序的影响。
因此,用程序这个静态概念已不能如实反映程序并发执行过程中的这些特征。
为此,人们引入进程的概念来描述程序动态执行过程的性质,这是引入“进程”概念的主要目的。
【例3】下列进程状态的转换中,不正确的是()。
A.就绪 阻塞B.运行 就绪C.就绪 运行D.阻塞 就绪答案A 分析回答这道题要知道进程的3种基本状态,以及它们之间的转换关系。
通过下图可以看到,凡是图中有箭头指向的转换都是可行的,而没有箭头指向的则不可能。
因此A 是不正确的。
如果有的同学记不住这张图,那就从理解的角度进行思考。
首先要理解3种状态的含义,然后再理解它们之间的转换。
例如:运行的进程能变成就绪吗?可以,如果运行进程的时间片到了,就必修让出CPU,转换为就绪态。
就绪的进程能变成阻塞吗?不可以,就绪态的进程已经具备了运行条件,只在等待CPU,怎么可能还退回到还不具备运行条件的阻塞态呢?因此,如果理解了,这张图就可以自己画出来,并不需要死记硬背。
【例4】进程控制块是描述进程状态和特性的数据结构,一个进程()。
A.可以有多个进程控制块B.可以和其他进程共用一个进程控制块C.可以没有进程控制块D.只能有唯一的进程控制块答案 D 分析进程控制块(PCB)是一个用于描述进程动态性质的数据结构。
操作系统根据PCB对进程实施控制和管理。
进程的动态、并发等特征也是通过PCB表现出来的。
进程由程序、数据、栈和PCB构成。
构成进程的有关程序和数据集合是进程得以存在的物质基础,它们是进程的实体;PCB用于标识和刻画实体的存在和变化,是进程存在的唯一标志。
当系统创建一个新进程时,就为它建立一个PCB;当进程终止后,系统回收为其分配的PCB,该进程在系统中就不存在了。
【例5】在执行V操作时,当信号量的值(),应释放一个等待该信号量的进程。
A.小于0 B.大于0 C.小于等于0 D.大于等于0答案C 分析P,V操作能够实现对临界区的管理要求。
它由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体定义如下:P(S):①将信号量S的值减1,即S=S 1;②如果S 0,则该进程继续执行;否则该进程置为阻塞状态,排入阻塞队列。
V(S):①将信号量S的值加1,即S=S+1;②如果S>0,则该进程继续执行;否则释放队列中第一个等待信号量的进程。
信号量的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。
信号量的值与相应资源的使用情况有关。
当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待使用该资源的进程个数。
注意,信号量的值仅能由P,V操作来改变。
一般来说,信号量S 0时,S表示可用资源的数量。
执行一次P操作意味着请求分配一个单位资源,因此S的值减1;当S<0时,表示已经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。
而执行一个V操作意味着释放一个单位资源,因此S的值加1;若S 0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。
【例6】有9个生产者,6个消费者,共享容量为8的缓冲区。
在这个生产者-消费者问题中,互斥使用缓冲区的信号量mutex的初值应该为()。
A.1 B.6 C.8 D.9答案A 分析进程的互斥是指当有若干个进程都要使用某一共享资源时,任何时刻最多只允许一个进程去使用,其它要使用该资源的进程必须等待,直到占用资源者释放了该资源。
进程的互斥体现了并发进程之间访问共享资源时存在的竞争关系。
在计算机系统中必须互斥使用的资源很多,如读卡机、磁带机、打印机等硬件资源和一些公共变量、表格、队列、数据等软件资源。
利用信号量和P,V操作实现进程互斥的一般模型是:其中信号量mutex用于互斥,初值为1。
使用P,V操作实现进程互斥时应该注意的是:(1)每个程序中用户实现互斥的P、V操作必须成对出现,先做P操作,进临界区,后做V 操作,出临界区。
若有多个分支,要认真检查其成对性。
(2)互斥信号量的初值一般为1。
(3)此外,P、V操作应分别紧靠临界区的头尾部,临界区的代码应尽可能短,不能有死循环。
在本题中,既然是问互斥信号量,其初值应为1,选项中的6,8,9都是迷惑答题者的,如果对同步和互斥不能很好地理解,就很难选择。
【例7】两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来信息,或者建立某个条件后再向前执行,这种关系是进程间的()关系。
A.同步B.互斥C.竞争D.合作答案A 分析进程的同步是指并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息,当一个进程没有得到另一个进程的消息时应等待,直到消息到达才被唤醒。
同步是进程间共同完成一项任务时直接发生相互作用的关系。
这样的例子在日常生活中不胜枚举,比如接力比赛中运动员的默契配合,工业生产中流水作业的每道工序的先后执行,以及计算机系统中对一个缓冲区的读和写等等。
当并发进程存在协作的关系时,必须互通消息,完成进程的同步。
能实现进程同步的机制称为同步机制,该机制能把其他进程需要的消息发送出去,也能测试自己需要的消息是否到达。
P,V操作是典型的同步机制之一。
用一个信号量与一个消息联系起来,当信号量的值为0时,表示期望的消息尚未产生;当信号量的值非0时,表示期望的消息已经存在。
用P,V操作实现进程同步时,调用P操作测试消息是否到达,调用V操作发送消息。
使用PV操作实现进程同步时应该注意的是:(1)分析进程间的制约关系,确定信号量种类。
在保持进程间有正确的同步关系情况下,哪个进程先执行,哪些进程后执行,彼此间通过什么资源(信号量)进行协调,从而明确要设置哪些信号量。
(2)信号量的初值与相应资源的数量有关,也与P、V 操作在程序代码中出现的位置有关。
(3)同一信号量的P、V操作要成对出现,但它们分别在不同的进程代码中。
本题中进程的同步体现的是合作关系,但答案不能选D,要使用操作系统的术语“同步”。
【例8】设有一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机。
卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后再搬到缓冲区B2中,并在打印机上打印结果。
问:①系统要设几个进程来完成这个任务?各自的工作是什么?②这些进程间有什么样的相互制约关系?③用P、V操作写出这些进程的同步算法。
分析我们画一个草图来帮助我们理解这道题:从图中可以看出,从“卡片机”到“打印机”共需要3个操作,即输入、处理、输出。
这3个动作就是完成任务的3个进程。
下面我们看看这些进程之间有什么样的制约关系。
可以看出,这3个进程之间是同步关系,合作完成从输入到输出的工作任务。
对其中任何一个进程,要处理好与其关联的两端设备的协调工作。
以“输入进程”为例,它与卡片机和缓冲区B1关联,将卡片机的卡片输入到缓冲区B1,在不考虑卡片机的情况下,就要考虑缓冲区的情况,即是满还是空,是空缓冲区,输入进程就可以输入信息,如果缓冲区满,则要等待“处理进程”将B1中的信息取走,使之为空,输入进程才能继续工作。
依此类推,可以找出另外2个进程的制约关系。
一般来说,处理进程同步需要2个信号量,“输入进程”和“处理进程”同步,需要2个信号量,解决缓冲区B1的协调操作问题;而“处理进程”和“输出进程”同步,还需要2个信号量,解决缓冲区B2的协调操作问题。
因此,共需要4个信号量。
本题中“处理进程”的算法有一些难度,因为它需要协调两个缓冲区的工作,考虑的因素比较多,算法复杂些。
答案①系统可设三个进程来完成这个任务:R进程负责从卡片输入机上读入卡片信息,输入到缓冲区B1中;C进程负责从缓冲区B1中取出信息,进行加工处理,之后将结果送到缓冲区B2中;P进程负责从缓冲区B2中取出信息,并在打印机上印出。
②R进程受C进程影响,B1放满信息后R进程要等待——等C进程将其中信息全部取走,才能继续读入信息;C进程受R进程和P进程的约束:B1中信息放满后C进程才可从中取出它们,且B2被取空后,C进程才可将加工结果送入其中;P进程受C进程的约束:B2中信息放满后P进程才可从中取出它们,进行打印。
③信号量含义及初值:B1full——缓冲区B1满,初值为0;B1empty——缓冲区B1空,初值为1;B2full——缓冲区B2满,初值为0;B2empty——缓冲区B2空,初值为1;说明前面我们说过:信号量的初值与相应资源的数量有关,也与P、V操作在程序代码中出现的位置有关。
以本题为例,如果R进程的算法如下:则信号量B1empty初值应为1。
表示B1缓冲区初始为空闲状态。
如果C进程的算法如下:则信号量B2empty初值应为1。
表示B2缓冲区初始为空闲状态。
选择题(选择一个正确答案的代码填入括号中)1.顺序程序和并发程序的执行相比,()。
A.基本相同B.有点不同C.并发程序执行总体上执行时间快D.顺序程序执行总体上执行时间快2. 在单一处理机上,将执行时间有重叠的几个程序称为()。
A.顺序程序B.多道程序C.并发程序D.并行程序3. 在单CPU的系统中,若干程序的并发执行是由()实现的。
A.用户B.程序自身C.进程D.编译程序4. 进程与程序之间有密切联系,但又是不同的概念。
二者的一个本质区别是()。
A.程序是静态概念,进程是动态概念B.程序是动态概念,进程是静态概念C.程序保存在文件中,进程存放在内存中D.程序顺序执行,进程并发执行5.在操作系统中,进程的最基本的特征是()。
6.A.动态性和并发性B.顺序性和可再现性C.与程序的对应性D.执行过程的封闭性6.多个进程的实体能存在于同一内存中,在一段时间内都得到运行。