“操作系统概论”习题解答之并发进程
操作系统概论课后习题及答案.doc

第一章操作系统简介一、单项选择题1.linux操作系统是()A.单用户单任务操作系统B.单用户多任务操作系统C.多用户单任务操作系统D.分时操作系统2.操作系统内核中文件系统模块的主要功能是()A.实现虚拟存储B.保存系统文档和用户文档C.保护系统数据D.实现对文件的按名存取和文件的存储3.下列关于批处理系统的叙述中,正确的是()A.批处理系统允许多个用户与计算机直接交互B.批处理系统分为单道批处理系统和多道批处理系统。
C.单道批处理系统也可能同时是分时系统。
D.多道程序系统就是指多道批处理系统。
二、填空题1.单道批处理系统的内存中只能驻留_______________ 道用户作业,CPU和内存资源被用户作业独占。
2.单道批处理系统与无操作系统的计算机系统相比而言,减少了的时间。
3.操作系统是一组控制和管理计算机________________ 和___________ 资源、合理地对各类作业进行调度,以及方便用户的程序集合。
4.并发是指两个或两个以上的事件在_________________________ 的发生。
5._____________________________________ 现代操作系统的特征包括并发、、虚拟和异步。
三、简答题1 •请说明操作系统的作用和功能。
作用:操作系统是控制和管理计算机系统内各种硬件和软件资源、合理有效地组织计算机系统的工作,为用户提供一个使用方便可扩展的工作环境,从而起到连接计算机和用户的接口作用功能:处理器管理、作业管理、存储器管理、设备管理、文件管理。
2.请说明单道批处理系统、多道批处理系统、分时系统的特点及优缺点。
1)单道批处理系统:最早出现的一种OS,具有单道性、自动性和顺序性。
与无操作系统的计算机系统相比而言,减少了人工操作的时间。
但由于作业独占CPU 和内存,当作业进行I/O时,CPU只能等待I/O完成而无事可做,导致CPU资源不能得到充分利用。
“操作系统概论”习题解答之并发进程

“操作系统概论”习题解答之并发进程第7章习题解答1.什么叫并发进程?答:在多道程序设计系统中,作为单个作业可以同时执行,而每一个作业又需要有多个进程的协作来完成。
因此,系统会同时存在着许多进程,在单处理器的情况下,这些进程轮流的占用处理器,即一个进程的工作没有全部完成之前,另一个进程就开始工作,我们说这些可同时执行的进程具有并发性,并且把可同时执行的进程称为“并发进程”。
2.临界区是怎样定义?对临界区的管理应符合哪些要求?答:并发进程中与共享变量有关的程序段称为“临界区”。
对若干个并发进程共享某一变量的相关临界区得管理有三点要求:①一次至多一个进程能够进入临界区,当有进程在临界区执行时,其他想进入临界区执行的进程必须等待。
②不能让一个进程无限制的在临界区执行,即任何一个进入临界区的进程必须有限的时间内退出临界区。
③不能强迫一个进程无限期等待键入它的临界区,即有进程退出临界区时应让一个等待进入临界区的进程进入它的临界区执行。
3.采用PV操作作为同步机构时,假定与某共享变量相关的信号量S的值可在[-1,l]之间,问S的初值是哪个值?当S=-1,S=0,S=l时它们各自的物理含义是什么?答:S的初值是 1.S=-l,表示有一个进程在等待进入临界区执行。
S=0,表示已有一个进程在临界区执行,这时若有进程想进入临界区则必须等待。
S=l,表示无进程在临界区执行,若有进程想进入临界区则可以立即进入。
4.A、B两个火车站之间是单轨连接的,现有许多列车同时到A站,须经A再到达B站,列车出B站后又可分路行驶(如图7-2)为保证行车安全,请你当调度时,你将如何调度列车?请你用PV操作为工具设计一个能实现你的调度方案的自动调度系统。
答:当A、B两站之间无列车停驶时,可让到达A站的一列车进人A、B站之间行驶。
当A石站之间有列车在行驶时,则到达A站者必须在站外等待。
当有列车到达B站后,让等在A站外的一列车进入。
用一个信号量S来控制到达A站的列车能否进入单轨道行驶,S的初始值为l.列车到达A站后,先执行P(S),若无列车在A、B站之间行驶,则执行P(S)后立即进人单轨道行驶,到达B站后,执行V(S),可释放一个等待进入的列车进入行驶。
操作系统习题及答案一

操作系统习题及答案一操作系统是管理计算机硬件与软件资源的程序,同时也是计算机系统的内核与基石。
以下是一些操作系统相关的习题及答案。
习题一:进程与线程的区别进程是操作系统进行资源分配的基本单位,而线程是操作系统进行调度的基本单位。
请简述进程和线程的主要区别。
答案:进程和线程存在以下几个主要区别:1、资源拥有:进程拥有独立的地址空间和资源,如内存、文件等;线程共享所属进程的资源,但有自己的栈和寄存器等少量私有资源。
2、调度:进程切换开销较大,因为需要切换整个地址空间;线程切换开销小,只需要切换少量的寄存器和栈。
3、并发性:进程之间并发度低,因为切换成本高;线程之间并发度高,可以在一个进程内并发执行多个线程。
4、系统开销:创建和销毁进程的系统开销大;创建和销毁线程的开销相对较小。
习题二:操作系统的存储管理简述操作系统中常见的存储管理方式及其特点。
答案:常见的存储管理方式有:1、连续分配:包括单一连续分配和分区分配(固定分区和动态分区)。
单一连续分配方式简单,但只能用于单用户、单任务的操作系统;固定分区分配缺乏灵活性,会产生内部碎片;动态分区分配会产生外部碎片。
2、分页存储管理:将内存空间划分为固定大小的页框,将进程空间划分为相同大小的页面,通过页表进行映射。
优点是没有外部碎片,缺点是存在一定的内部碎片。
3、分段存储管理:按照程序的逻辑分段,每个段有不同的长度和属性。
便于实现信息共享和保护,但会产生外部碎片。
4、段页式存储管理:结合了分段和分页的优点,先分段,再分页。
既便于实现分段共享和保护,又解决了外部碎片问题,但增加了系统开销。
习题三:死锁的产生条件及解决方法阐述死锁产生的必要条件,并说明预防死锁和避免死锁的方法。
答案:死锁产生的必要条件有四个:1、互斥条件:资源在某一时间内只能被一个进程使用。
2、请求和保持条件:进程在持有部分资源的同时,又请求新的资源。
3、不剥夺条件:进程已获得的资源在未使用完之前,不能被其他进程强行剥夺。
操作系统概论考试题含参考答案

操作系统概论考试题含参考答案一、单选题(共90题,每题1分,共90分)1、将一个进程的逻辑地址空间分成若干个大小相等的片,称为A、页表B、页框C、页D、页内碎片正确答案:C2、【】的优点是空闲区分布均匀、查找开销较小。
A、循环首次适应算法B、首次适应算法C、最快适应算法D、最佳适应算法正确答案:A3、操作系统内核的资源管理功能不包括A、设备管理B、进程管理C、存储器管理D、时钟管理正确答案:D4、自调度算法的缺点不包括A、瓶颈问题B、低效性C、线程切换频繁D、不利于提高CPU的利用率正确答案:D5、现代操作系统的特征不包括A、并发B、共享C、虚拟D、同步性正确答案:D6、【】是用于管理文件的系统文件。
A、目录文件B、字符设备文件C、正规文件D、块设备文件正确答案:A7、下列关于静态优先权的说法中,错误的是A、静态优先权调度算法可以使系统获得更好的调度性能B、静态优先权在创建时确定C、静态优先权值通常可以根据进程的类型、进程需要的资源数量和户的要求来设定D、静态优先权在进程的整个运行期间保持不变正确答案:A8、进程的基本状态不包括A、完成态B、就绪态C、执行态D、阻塞态正确答案:A9、下列关于进程的说法中,错误的是A、进程是由正文段和进程控制块共同组成的执行环境B、进程是允许并发执行的程序在某个数据集合上的运行过程C、正文段存放被执行的机器指令D、进程控制块存放程序的运行环境正确答案:A10、下列关于内存中地址映射的说法中,错误的是A、地址映射是指把程序的逻辑地址转变为物理地址的过程B、地址映射应在硬件的支持下完成C、在多道程序系统中,地址空间中的逻辑地址和内存中的物理地址是一致的D、由内存中的一系列单元所限定的地址范围称为内存空间,其中的地址称为物理地址正确答案:C11、进程切换使当前正在执行的进程成为被替换进程,出让其所使用的CPU,以运行被进程调度程序选中的新进程。
进程切换的第一个步骤是A、更新被替换进程的进程控制块B、将被替换进程的进程控制块移到就绪队列或阻塞队列C、修改进程状态,把执行态改为就绪态或者阻塞态D、保存包括程序计数器和其他寄存器在内的CPU上下文环境正确答案:D12、单道批处理系统的特点不包括A、顺序性B、自动性C、复杂性D、单道性正确答案:C13、在存储器的层次结构中,L3层是A、寄存器B、主存储器C、本地二级存储D、高速缓存正确答案:B14、下列关于进程状态的转换的说法中,错误的是A、进程状态可由执行态直接变为就绪态B、进程状态可以由就绪态直接变为执行态C、进程状态可以由阻塞态直接变为执行态D、进程状态可以由执行态直接变为阻塞态正确答案:C15、进程之间的高级通信机制不包括A、管道通信系统B、共享存储器系统C、共享处理器系统D、消息传递系统正确答案:C16、MS-DOS使用的磁盘分配方法是A、使用磁盘的链接表分配B、连续分配C、不连续分配D、使用内存的链接表分配正确答案:D17、下列关于存储器的说法中,错误的是A、主存暂时存放存储容量更大、速度更慢的磁盘上的数据B、主存的容量一般比高速缓存存储器大C、高速缓存存储器保存最常用的数据D、高速缓存存储器作为主存中数据和指令子集的缓冲区正确答案:C18、下列关于I/O通道的说法中,错误的是A、I/O通道是一种特殊的处理机B、I/O通道具有执行I/O指令的能力,并通过执行通道程序来控制I/O操作C、通道是中小型主机系统中专门用于I/O的专用计算机D、引入通道能够使CPU从控制I/O的任务中解脱,使CPU与I/O并行工作正确答案:C19、下列关于实时计算的说法中,正确的是A、实时计算的正确性仅依赖于系统计算的逻辑结果B、实时计算的正确性不仅依赖于系统计算的逻辑结果,还依赖于产生正确结果的时间C、实时计算的正确性不仅依赖于系统计算的逻辑结果,还依赖于系统计算所需要的存储空间D、实时计算的正确性仅依赖于系统计算产生正确结果的时间正确答案:B20、产生死锁的必要条件不包括A、不剥夺条件B、环路等待条件C、同步条件D、请求和保持条件正确答案:C21、通常,可执行程序以【】可执行文件的形式存储在磁盘上A、二进制B、十六进制C、八进制D、十进制正确答案:A22、【】用于接收从CPU发来的I/O命令或有关控制信息、设备状态。
操作系统概论试题及答案

操作系统概论试题及答案一、选择题(每题2分,共10分)1. 操作系统的主要功能不包括以下哪一项?A. 进程管理B. 设备管理C. 文件管理D. 网络管理答案:D2. 以下哪个不是操作系统的五大基本功能?A. 处理器管理B. 存储管理C. 作业管理D. 系统调用答案:D3. 在操作系统中,进程和线程的区别在于:A. 进程有独立的地址空间,线程共享地址空间B. 进程共享地址空间,线程有独立的地址空间C. 进程和线程都共享地址空间D. 进程和线程都独立地址空间答案:A4. 虚拟内存技术的主要作用是:A. 提高CPU的利用率B. 扩大可寻址内存空间C. 保护操作系统D. 减少磁盘空间的使用答案:B5. 分时操作系统的主要特点是:A. 多用户同时使用B. 多任务并行处理C. 资源共享D. 交互式操作答案:D二、填空题(每题2分,共10分)1. 操作系统是计算机系统中的_________软件。
答案:系统2. 批处理操作系统的主要缺点是_________。
答案:响应时间较长3. 在操作系统中,_________是最基本的单位。
答案:进程4. 操作系统的_________功能是指操作系统管理计算机硬件资源的能力。
答案:设备管理5. 操作系统的_________功能是指操作系统提供给用户或程序的接口。
答案:系统调用三、简答题(每题5分,共20分)1. 简述操作系统的发展历程。
答案:操作系统的发展历程可以概括为四个阶段:手工操作阶段、批处理阶段、分时系统阶段和现代操作系统阶段。
手工操作阶段主要依靠手工输入和输出,效率低下;批处理阶段通过批处理作业,提高了处理效率;分时系统阶段引入了多用户同时使用计算机的概念,提高了资源利用率;现代操作系统阶段则包括了多任务、多用户、图形用户界面等特性,极大地方便了用户操作。
2. 描述操作系统的五大基本功能。
答案:操作系统的五大基本功能包括:处理器管理、存储管理、设备管理、文件管理和作业管理。
02323 操作系统概论 第六章 并发进程

第6章并发进程一、进程的并发性1.进程的顺序性是指进程在顺序处理器上的执行是严格按序的,即按照程序规定的操作顺序,只有在前一个操作结束后才能开始后继操作。
当一个进程独占处理器顺序执行时,具有两个特性:封闭性和可再现性。
2.进程的并发性在多道程序设计的系统中,若干个作业可以同时执行,而每一个作业又需要有多个进程协作完成。
因此,系统中会同时存在着许多进程,在单处理器的情况下,这些进程流地占用处理器,即一个进程的工作没有全部完成之前,另一个进程就可开始工作,我们说这些可同时执行的进程具有并发性,并且把可同时执行的进程称为“并发进程”。
并发进程相互间可能无关,也可能相互间有交往。
进程并发执行时,执行结果与其执行的相对速度有关,进程的并发执行会破坏“封闭性”和“可再现性”。
1.造成与时间有关的错误的原因是什么?(概念)一个进程运行时,经常会由于自身或外界的原因而被中断,切断点是不固定的。
一个进程被中断后,哪个进程可以运行,被中断的进程什么时候再去占用处理器,这是与进程调度策略。
所以,进程执行的相对速度不能由进程自己来控制,于是,就可能导致并发进程在共享资源时出现错误。
2.进程的执行次序对结果是有影响的,关键是它们涉及到共享变量,若交叉访问了共享变量,导致共享变量的值不同,造成计数值不正确的因素是与进程被打断的时间和能占用处理器的时间有关。
1.我们把并发进程中与共享变量有关的程序段称为临界区。
2.相关临界区是指并发进程中涉及到相同变量的那些临界区。
对若干个并发进程共享某一变量的相关临界区的管理有三个求:1)一次最多一个进程能够进入临界区; 2)任何一个进入临界区的进程必须在有限的时间内退出临界区;3)有进程退出临界区时应让一个等待进入临界区的进程进入它的临界区执行。
3)PV操作PV操作是定义在信号量S的两个操作——P操作和V操作组成。
这两个操作是两个不可中断的过程,它们在屏蔽中信号量的定义是表示资源的实体,1)P、V操作一定仅挨临界区 2)P、V操作一定要成对使用。
第1章操作系统概论课后习题解答-

7
第1章 操作系统概论课后习题解答
11.处理机管理有哪些主要功能?它们的主要任务 是什么? 【解答】略 12.内存管理有哪些主要功能?它们的主要任务是 什么? 【解答】略 13.设备管理有哪些主要功能?它们的主要任务是 什么? 【解答】 略
8
第1章 操作系统概论课后习题解答
14.文件管理有哪些主要功能?它们的主要任务是什 么? 【解答】略 15.操作系统提供了哪些人机接口? 【解答】略
3
第1章 操作系统概论课后习题解答
6.为什么要引入分时操作系统? 【解答】略 7.分时系统是怎样实现的? 【解答】在分时系统中,虽然若干用户通过各自的终端共享 一台主机,但是在操作系统的管理下,每个用户都感觉自己 在独占一台主机。分时系统采用的策略是:基于主机的高速 运行,分时为终端用户服务。即主机按一定次序轮流为各终 端用户服务,每个用户一次仅使用主机很短的一段时间(称 为时间片,毫秒级),在分得的时间片内若用户没有完成工 作则暂时中断,将处理机分配给下一个用户。虽然在一个用 户使用主机时其他用户处于等待状态,但是等待的时间很短, 用户感觉不到,从而每个用户的各次请求都能得到快速响应, 给每个用户的印象是:他独占一台计算机。
4
第1章 操作系统概论课后习题解答
8.实时操作系统应用在哪些场合?
【解答】实时系统应用于两个领域: (1)实时控制 当把计算机用于生产过程的控制,以形成以计算机为中心的控制系统时, 系统要求能实时采集现场数据,并对所采集的数据进行及时处理,进而 自动地控制相应的执行机构,使某些(个)参数(如温度、压力、方位 等)能按预定的规律变化。类似地,也可将计算机用于武器的控制,如 火炮的自动控制系统、飞机的自动驾驶系统,以及导弹的制导系统等。 通常把要求进行实时控制的系统称为实时控制系统。 (2)实时信息处理 通常,我们把要求对信息进行实时处理的系统,称为实时信息处理系统。 该系统由一台或多台主机通过通信线路连接成百上千个远程终端,计算 机接收从远程终端发来的服务请求,对数据进行检索和处理,并及时将 结果反馈给用户。典型的实时信息处理系统有:飞机订票系统、情报检 索系统。
操作系统课后习题答案2

2. 进程和线程的管理例题解析例2.2.1 试说明进程和程序之间的区别和联系。
解进程和程序是既有区别又有联系的两个概念。
进程是动态的,程序是静态的。
程序是一组有序的指令集合,是一个静态的概念;进程则是程序及其数据在计算机上的一次执行,是一个动态的集合。
离开了程序,进程就失去了存在的意义,但同一程序在计算机上的每次运行将构成不同的进程。
程序可看作是电影的胶片,进程可以看作电影院放电影的过程。
一个进程可以执行多个程序,如同一个电影院的一场电影可放映多部影片。
一个程序可被多个进程执行,如同多个影院同时利用一个电影的胶片放映同一部电影。
程序可以长期保存,进程只能存在于一段时间。
程序是永久存在的,而进程有从被创建到消亡的生命周期。
例2.2.2 举例说明多道程序系统失去了封闭性和再现性。
解例如,有两个循环程序A和B,共享一个变量N。
程序A每执行一次时,都要做N:=N+1操作;程序B则每执行一次时,都要执行print(N)操作,然后再将N的值置成“0”。
程序A 和B在多道程序系统中同时运行。
假定某时刻变量N的值为n,可能出现下述三种情况:N:=N+1 在print(N)和N:=0之前,此时得到N值变化过程为n+1、n+1、0;N:=N+1 在print(N)和N:=0之后,此时得到N值变化过程为n 、0 、1;N:=N+1 在print(N)之后和N:=0之前,此时得到N值变化过程为n、n+1、0。
所以,在A、B程序多次执行过程中,虽然其每次执行时的环境和初始条件都相同,但每次得到的结果却不一定相同。
例2.2.3 为什么将进程划分成执行、就绪和阻塞三个基本状态?解根据多道程序执行的特点,进程的运行是走走停停的。
因此进程的初级状态应该是执行和等待状态。
处于执行状态的进程占用处理机执行程序,处于等待状态的进程正在等待处理机或者等待其它某种事件的发生。
但是,当处理机空闲时,并不是所有处于等待状态的进程都能放到处理机上执行,有的进程即使分配给它处理机,它也不能执行,因为它的执行的条件没有得到满足。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
“操作系统概论”习题解答之并发进程第7章习题解答1.什么叫并发进程?答:在多道程序设计系统中,作为单个作业可以同时执行,而每一个作业又需要有多个进程的协作来完成。
因此,系统会同时存在着许多进程,在单处理器的情况下,这些进程轮流的占用处理器,即一个进程的工作没有全部完成之前,另一个进程就开始工作,我们说这些可同时执行的进程具有并发性,并且把可同时执行的进程称为“并发进程”。
2.临界区是怎样定义?对临界区的管理应符合哪些要求?答:并发进程中与共享变量有关的程序段称为“临界区”。
对若干个并发进程共享某一变量的相关临界区得管理有三点要求:①一次至多一个进程能够进入临界区,当有进程在临界区执行时,其他想进入临界区执行的进程必须等待。
②不能让一个进程无限制的在临界区执行,即任何一个进入临界区的进程必须有限的时间内退出临界区。
③不能强迫一个进程无限期等待键入它的临界区,即有进程退出临界区时应让一个等待进入临界区的进程进入它的临界区执行。
3.采用PV操作作为同步机构时,假定与某共享变量相关的信号量S的值可在[-1,l]之间,问S的初值是哪个值?当S=-1,S=0,S=l时它们各自的物理含义是什么?答:S的初值是 1.S=-l,表示有一个进程在等待进入临界区执行。
S=0,表示已有一个进程在临界区执行,这时若有进程想进入临界区则必须等待。
S=l,表示无进程在临界区执行,若有进程想进入临界区则可以立即进入。
4.A、B两个火车站之间是单轨连接的,现有许多列车同时到A站,须经A再到达B站,列车出B站后又可分路行驶(如图7-2)为保证行车安全,请你当调度时,你将如何调度列车?请你用PV操作为工具设计一个能实现你的调度方案的自动调度系统。
答:当A、B两站之间无列车停驶时,可让到达A站的一列车进人A、B站之间行驶。
当A石站之间有列车在行驶时,则到达A站者必须在站外等待。
当有列车到达B站后,让等在A站外的一列车进入。
用一个信号量S来控制到达A站的列车能否进入单轨道行驶,S的初始值为l.列车到达A站后,先执行P(S),若无列车在A、B站之间行驶,则执行P(S)后立即进人单轨道行驶,到达B站后,执行V(S),可释放一个等待进入的列车进入行驶。
若A、B站之间已有列车在行驶,则执行P(S)后就等待,直到行驶者到了B站执行V(S)后释放一个欲进入者。
5.今有三个进程R、M、P,它们共享一个缓冲区。
R负责从输入设备读信息,每次读出一个记录并把它存放在缓冲区中:M在缓冲区加工读入的记录;P把加工后的记录打印输出。
输入的记录经加工输出后,缓冲区中又可存放下一个记录。
请用P、V操作为同步机构写出他们并发执行时能正确工作的程序。
答:三个进程共用一个缓冲区,他们必须同步工作,可定义三个信号量:S1:表示是否可把读人的记录放到缓冲区,初始值为1.S2:表示是否可对缓冲区中的记录加工,初始值为0.S3:表示记录是否加工好,可以输出,初始值也为0.三个进程可如下设计:beginS1,S2,S3:semaphore;S1:=l;S2:=S3:=0;cobeginprocess RbeginL1:读记录;P(S1);记录存入缓冲区;V(S2);goto L1;end;process MbeginL2:P(S2);加工记录;V(S3);goto L2;end;process PbeginL3:P(S3);输出加工后的记录;V(S1);goto L3;end;coend;end.6.现有4个进程R1,R2,W1,W2,它们共享可以存放一个数的缓冲器B.进程R1每次把从键盘上投入的一个数存放到缓冲器B中,供进程W1打印输出;进程R2每次从磁盘上读一个数放到缓冲器B中,供进程W2打印输出。
当一个进程把数据存放到缓冲器后,在该数还没有被打印输出之前不准任何进程再向缓冲器中存数。
在缓冲器中还没有存入一个新的数之前不允许任何进程加快从缓冲区中取出打印是怎样才能使这四个进程在并发执行是协调的工作?答:这四个进程实际上是两个生产者 R1,R2和两个消费者 W1,W2.各自生成不同的产品中各自的消费对象去消费,他们共享一个的缓冲器。
由于缓冲器只能存放一个数,所以,R1和R2在存放数时必须互斥。
而R1和W1、R2和W2之间存在同步。
为了协调它们的工作可定义三个信号量:S:表示能否把数存人缓冲器B,初始值为1.S1:表示R1是否已向缓冲器存入从键盘上读入的一个数,初始值为0.S2:表示R2是否已向缓冲器存入从磁盘上读入的一个数,初始值为0.beginS,S1,S2:semaphore;S:=1;S1:=S2:=0;cobeginprocess R1xl :integerbeginL1:从键盘读一个数;x1:=读入的数;P(S);B:=xl;V(S1);goto L1;end;process R2x2:integer;beginL2:从磁盘读一数;x2:=读入的数;P(S);B:=x2;V(S2);goto L2;end;process W1y:integer;beginL3:P(S1);y:=B;V(S);打印y中的数;goto L3;end;process W2z:integerbeginL4:P(S2);z:=B;V(S);打印z中的数;goto L4;end;coend;end.7.两个并发进程的程序如下:beginN:integer;N:=3;cobeginprocess AbeginL1:N:=N+5;goto L1;end;process BbeginL2:print(N);N:=0;goto L2;end;coend;end.若process A先执行了三个循环后,process A和 process B又并发执行了一个循环,写出可能出现的打印值。
请用PV操作实现同步,使两并发进程能正确执行。
答:可能的值是 18或 23.这是因为 process A执行三个循环后,N=18,之后 A和 B 并发执行,可能先执行A中的N:=N+5,再执行B中的print(N);这样就会得到23,也可能先执行B中的pint(N);这就会得到18.可以利用P、V操作实现同步:beginN:integer;S:semphore;S:=l;N:=3;cobeginprocess AbeginL1:P(S);N:=N+5;V(S);gotO L1;end;process BbeginL2:P(S);print(N);N:=0;V(S);goto L2;end;coend;end.8.通信机制中设置哪些基本通信原语?它们的功能是什么?答:系统提供两个与信箱通信有关的通信原语:send原语(发送)和 receive原语(接收)。
send(B,M)原语把信件M送人到信箱B中,receive(B,X)原语从信箱B中取出一封信存放到指定的地址X中。
9.什么叫死锁?什么原因会引起死锁?答:若系统中存在一组进程(二个或多个进程),他们中的每一个进程都占用某种资源而又都在等待其中另一个进程所占用的资源,这种等待永远不能结束,就说系统出现“死锁”。
进程死锁的起因是系统提供的资源数比要求使用资源的进程数少,或者是若干个个进程要求资源的总数大于系统能提供的资源数。
这时,进程间就会出现竞争资源的现象,如果对进程竞争的资源管理和分配不当就会引起死锁。
死锁的出现是与资源分配策略和并发进程的执行速度有关。
10.有哪些策略可防止和避兔死锁?答:防止死锁的策略有:静态分配、按序分配、剥夺式分配。
银行家算法可以避免死锁。
11.某系统有输入机和打印机各一台,今有两个进程都要同时使用他们,采用PV操作实现请求使用和归还释放后,还会产生死锁吗?若否,说明理由;若会产生死锁则给出一种防止死锁的方法。
答:如果 PV操作设计不当,仍会产生死锁。
假如用 S1 S2分别代表输入机和打印机能否被使用的信号量,由于资源是共享的,所以必须互斥使用,因而它们的初始值都为l.如果用如下方式实现请求使用和归还释放:process QIbeginP(S1);使用输入机;P(S2);使用打印机;V(S2);V(S1);end;process Q2beginP(S2);使用打印机;P(S1);使用输入机;V(S2);V(S1);end;那么就会出现Q1得到输入机而 Q2得到打印机,双方在不释放已经有的资源的情况下又去申请新的资源,就会造成死锁。
可以采用为资源编序号的方法,要求按序申请,如下:process Q1beginP(S1);使用输入机;P(S2);使用打印机;V(S2);V(S1);end;process Q2beginP(S1);使用输入机;P(S2);使用打印机;V(S2);V(S1);end.12.某一系统分配资源的策略是:当进程提出申请资源时,只要系统有资源中是分配给它,系统无资源时让它登台。
任一进程总是先释放以占有的资源后在申请新的资源,且每次申请一个资源,系统中的进程得到资源后总能在有限时间内归还。
证明该系统不会发生死锁。
答:任一进程P申请资源时出现两种情况:情况一,立即得到满足,此时不会成为等待状态,也就不存在引起死锁的条件。
情况二,得不到满足,处于等待资源状态。
此时,资源一定被另一进程 Q占有。
进程 Q 执行时若不在申请资源,则必在有限时间里归还资源,于是 P不会永远等待。
如果进程 Q 执行时还要申请资源,按题意,它一定先释放占有的资源,于是 P也不会永远等待。
所以,任一进程申请资源总能在有限时间得到资源,因而不会产生死锁。