操作系统(软件)第二章作业答案
计算机操作系统题库及答案

第一章操作系统引论一.选择题1.操作系统是一种。
A.通用软件B.系统软件C.应用软件D.软件包答:B2.操作系统的管理部分负责对进程进行调度。
A.主存储器B.控制器C.运算器D.处理机答:D3.操作系统是对进行管理的软件。
A.软件B.硬件C.计算机资源D.应用程序答:C4.从用户的观点看,操作系统是。
A.用户与计算机之间的接口B.控制和管理计算机资源的软件C.合理地组织计算机工作流程的软件D.由若干层次的程序按一定的结构组成答:A5.操作系统的功能是进行处理机管理、管理、设备管理及信息管理。
A.进程 B. 存储器C.硬件 D. 软件答:B6.操作系统中采用多道程序设计技术提高CPU和外部设备的。
A.利用率B.可靠性C.稳定性D.兼容性答:A7.操作系统是现代计算机系统不可缺少的组成部分,是为了提高计算机的和方便用户使用计算机而配备的一种系统软件。
A.速度B.利用率C. 灵活性D.兼容性答:B8.操作系统的基本类型主要有。
A.批处理系统、分时系统及多任务系统B.实时操作系统、批处理操作系统及分时操作系统C.单用户系统、多用户系统及批处理系统D.实时系统、分时系统和多用户系统答:B9.所谓是指将一个以上的作业放入主存,并且同时处于运行状态,这些作业共享处理机的时间和外围设备等其他资源。
A. 多重处理B.多道程序设计C. 实时处理D. 共行执行答:B10. 下面关于操作系统的叙述中正确的是。
A.批处理作业必须具有作业控制信息。
B.分时系统不一定都具有人机交互功能。
C.从响应时间的角度看,实时系统与分时系统差不多。
D.由于采用了分时技术,用户可以独占计算机的资源.答:A11. 如果分时操作系统的时间片一定,那么,则响应时间越长。
A.用户数少B.用户数越多C.内存越少D.内存越多答:B12.实时操作系统必须在内完成来自外部的事件。
A. 响应时间B.周转时间C.规定时间D.调度时间答:C13.分时系统中为了使多个用户能够同时与系统交互,最关键的问题是。
(完整版)操作系统课后题答案

2.OS的作用可表现在哪几个方面?答:(1)OS作为用户与计算机硬件系统之间的接口;(2)OS作为计算机系统资源的管理者;(3)OS实现了对计算机资源的抽象。
5.何谓脱机I/O和联机I/O?答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。
该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。
而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。
11.OS有哪几大特征?其最基本的特征是什么?答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。
20.试描述什么是微内核OS。
答:(1)足够小的内核;(2)基于客户/服务器模式;(3)应用机制与策略分离原理;(4)采用面向对象技术。
25.何谓微内核技术?在微内核中通常提供了哪些功能?答:把操作系统中更多的成分和功能放到更高的层次(即用户模式)中去运行,而留下一个尽量小的内核,用它来完成操作系统最基本的核心功能,称这种技术为微内核技术。
在微内核中通常提供了进程(线程)管理、低级存储器管理、中断和陷入处理等功能。
第二章进程管理2. 画出下面四条语句的前趋图:S1=a:=x+y; S2=b:=z+1; S3=c:=a – b;S4=w:=c+1;答:其前趋图为:7.试说明PCB 的作用,为什么说PCB 是进程存在的惟一标志?答:PCB 是进程实体的一部分,是操作系统中最重要的记录型数据结构。
作用是使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程并发执行的进程。
OS是根据PCB对并发执行的进程进行控制和管理的。
11.试说明进程在三个基本状态之间转换的典型原因。
答:(1)就绪状态→执行状态:进程分配到CPU资源;(2)执行状态→就绪状态:时间片用完;(3)执行状态→阻塞状态:I/O请求;(4)阻塞状态→就绪状态:I/O完成.19.为什么要在OS 中引入线程?答:在操作系统中引入线程,则是为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性,提高CPU的利用率。
操作系统第二版课后习题答案

操作系统第二版课后习题答案操作系统第二版课后习题答案操作系统是计算机科学中的重要领域,它负责管理计算机硬件和软件资源,为用户提供良好的使用体验。
在学习操作系统的过程中,课后习题是巩固和深化知识的重要方式。
本文将为大家提供操作系统第二版课后习题的答案,帮助读者更好地理解和掌握操作系统的知识。
第一章:引论1. 操作系统的主要功能包括进程管理、内存管理、文件系统管理和设备管理。
2. 进程是指正在执行的程序的实例。
进程控制块(PCB)是操作系统用来管理进程的数据结构,包含进程的状态、程序计数器、寄存器等信息。
3. 多道程序设计是指在内存中同时存放多个程序,通过时间片轮转等调度算法,使得多个程序交替执行。
4. 异步输入输出是指程序执行期间,可以进行输入输出操作,而不需要等待输入输出完成。
第二章:进程管理1. 进程调度的目标包括提高系统吞吐量、减少响应时间、提高公平性等。
2. 进程调度算法包括先来先服务(FCFS)、最短作业优先(SJF)、优先级调度、时间片轮转等。
3. 饥饿是指某个进程长时间得不到执行的情况,可以通过调整优先级或引入抢占机制来解决。
4. 死锁是指多个进程因为争夺资源而陷入无限等待的状态,可以通过资源预分配、避免环路等方式来避免死锁。
第三章:内存管理1. 内存管理的主要任务包括内存分配、内存保护、地址转换等。
2. 连续内存分配包括固定分区分配、可变分区分配和动态分区分配。
3. 分页和分段是常见的非连续内存分配方式,分页将进程的地址空间划分为固定大小的页,分段将进程的地址空间划分为逻辑段。
4. 页面置换算法包括最佳置换算法、先进先出(FIFO)算法、最近最久未使用(LRU)算法等。
第四章:文件系统管理1. 文件是操作系统中用来存储和组织数据的逻辑单位,可以是文本文件、图像文件、音频文件等。
2. 文件系统的主要功能包括文件的创建、删除、读取、写入等操作。
3. 文件系统的组织方式包括层次目录结构、索引结构、位图结构等。
操作系统课后部分习题及答案

第2章操作系统的运行环境2.2 现代计算机为什么设置目态/管态这两种不同的机器状态?现在的lntel80386设置了四级不同的机器状态(把管态又分为三个特权级),你能说出自己的理解吗?答:现在的Intel 80386把执行全部指令的管态分为三个特权级,再加之只能执行非特权指令的目态,这四级不同的机器状态,按照系统处理器工作状态这四级不同的机器状态也被划分管态和目态,这也完全符合处理器的工作状态。
2.6 什么是程序状态字?主要包括什么内容?答:如何知道处理器当前处于什么工作状态,它能否执行特权指令,以及处理器何以知道它下次要执行哪条指令呢?为了解决这些问题,所有的计算机都有若干的特殊寄存器,如用一个专门的寄存器来指示一条要执行的指令称程序计数器PC,同时还有一个专门的寄存器用来指示处理器状态的,称为程序状态字PSW。
主要内容包括所谓处理器的状态通常包括条件码--反映指令执行后的结果特征;中断屏蔽码--指出是否允许中断,有些机器如PDP-11使用中断优先级;CPU的工作状态--管态还是目态,用来说明当前在CPU上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其它的特殊权力。
2.11 CPU如何发现中断事件?发现中断事件后应做什么工作?答:处理器的控制部件中增设一个能检测中断的机构,称为中断扫描机构。
通常在每条指令执行周期内的最后时刻中扫描中断寄存器,询为是否有中断信号到来。
若无中断信号,就继续执行下一条指令。
若有中断到来,则中断硬件将该中断触发器内容按规定的编码送入程序状态字PSW的相应位(IBM-PC中是第16~31位),称为中断码。
发现中断事件后应执行相中断处理程序,先由硬件进行如下操作:1、将处理器的程序状态字PSW压入堆栈2、将指令指针IP(相当于程序代码段落的段内相对地址)和程序代码段基地址寄存器CS的内容压入堆栈,以保存被子中断程序的返回地址。
3、取来被接受的中断请求的中断向量地址(其中包含有中断处理程序的IP,CS的内容),以便转入中断处理程序。
第二章:操作系统复习题(含答案)

第二章:操作系统复习题(含答案)一、单项选择:1.对操作系统的说法中错误的是______A.按运行环境将操作系统分为实时操作系统和分时操作系统和批处理操作系统B.分时操作系统具有多个终端C.实时操作系统是对外来信号及时做出反应的操作系统D.批处理操作系统指利用CPU的空余时间处理成批的作业2.MS-DOS是基于____的操作系统.A.多用户多任务(UNIX家族)B.单用户多任务(WINDOWS系列)C.单用户单任务(DOS)D.多用户单任务(基本没有)3.以下配置中,_____不是安装Windows XP硬件的最低要求。
A.Intel 80486DX、或PentiumCPU的计算机B.至少64M以上的内存C.至少1.5GB的硬盘空间D.4MB显存以上的PCI、AGP显卡4.通常情况下,Windows XP用户可以通过_______,从弹出的菜单中选取相应命令来创建快捷方式。
A.单击鼠标左键B.单击鼠标右键C.双击鼠标左键D.双击鼠标右键5.下列有关在Windows XP下查找文件或文件夹的说法,不正确的是______。
A.可以根据文件的位置进行查找B.可以根据文件的只读属性进行查找C.可以根据文件的内容进行查找D.可以根据文件的修改日期进行查找6.Windows XP提供了各种系统工具来帮助用户管理系统,其中的____可以检查、诊断和修复各种类型的磁盘损坏的错误。
A.磁盘扫描程序B.磁盘空间管理C.磁盘碎片整理程序D.备份程序7.在Windows XP资源管理器中,要查看磁盘的总容量、已用空间和可用空间等磁盘信息,通常可选择______菜单下属性功能。
A.文件B.编辑C.查看D.工具8.在WindowsXP中,当桌面上有多个窗口时,__________是当前窗口。
A.可以有多个窗口B.只有一个固定窗口C.被其它窗口盖住的窗口D.一个标题栏的颜色与众不同的窗口9.双击扩展名为.A VI的文件(音视频文件)后,WindowsXP将打开__________窗口。
操作系统第二章课件第二章练习

第2章操作系统的基本概念一、单项选择题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.维持在管态B.从管态转换到目态C.维持在目态D.从目态转换到管态二、多项选择题1. 在任何计算机系统中()。
A.主存储器可被中央处理器直接访问B.当CPU处于管态时只能执行特权指令C.操作系统只负责管理软件资源D.操作系统能接受用户输入的命令并控制用户程序的执行E.操作系统能为应用程序提供比裸机强的功能支持2. 各种类型的操作系统各有所长,它们追求的设计目标也不同,例如()。
A.多到批处理系统是为了提高系统的资源用率B.分时系统允许用户直接与计算机系统交互C.实时系统首先要考虑实时性和可靠性D.网络操作系统必须实现激素算计之间的通信及资源共享E.分布时操作系统要让多台计算机协作完成一个共同的任务3. 程序状态字是用来控制指令执行顺序并且保留和知识与程序有关的系统状态。
所以,()。
A. 每个程序都应该有一个PSWB. 程序状态字寄存器是用来存放当前运行程序的PSWC. 在多道程序设计系统中应设置多个程序状态自己村起来分别存放个成粗的PSW,以便多道并行执行D. 在用户程序的PSW中应置为管态,以便实用访管指令E. 处理器总是按程序状态字寄存器中的PSW控制程序的执行三、填空题1.计算机系统是由计算机________和计算机________两大部分组成。
操作系统第二章作业答案

第二章作业1.操作系统中为什么要引入进程的概念?为了实现并发进程中的合作和协调,以及保证系统的安全,操作系统在进程管理方面要做哪些工作?答:为了从变化角度动态地分析研究可以并发执行的程序,真实的反应系统的独立性、并发性、动态性和相互制约,操作系统中不得不引入进程的概念。
为了防止操作系统及其关键的数据结构如:PCB等,受到用户程序破坏,将处理机分为核心态和用户态。
对进程进行创建、撤销以及在某些进程状态之间的转换控制。
2.试描述当前正在运行的进程状态改变时,操作系统进行进程切换的步骤。
答:分为两种情况:(1):运行状态就绪状态:根据进程的自身的情况插入到就绪队列的适当位置,系统收回处理及转入进程调度程序重新进行调度。
(2):运行状态→阻塞状态:系统会调用进程调度程序重新选择一个进程投入运行。
3.现代操作系统一般都提供多任务的环境,是回答以下问题。
为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构?答:系统必须建立PCB。
为支持进程的状态变迁,系统至少应该供哪些进程控制原语?答:阻塞、唤醒、挂起和激活原语。
当进程的状态变迁时,相应的数据结构发生变化吗?答:会根据状态的变迁发生相应的变化。
例如:将进程PCB中进程的状态从阻塞状态改为就绪状态,并将进程从阻塞队列摘下,投入到就绪队列中。
4.什么是进程控制块?从进程管理、中断处理、进程通信、文件管理、设备管理及存储管理的角度设计进程控制块应该包含的内容。
答:PCB:描述进程本身的特征、状态、调度信息以及对资源占有情况等的数据结构,是进程存在的唯一标识。
进程控制块所包含的内容:①进程信息描述;②CPU信息状态;③进程调度信息;④进程控制和资源占用信息。
5.假设系统就绪队列中有10个进程,这10个进程轮换执行,每隔300ms轮换一次,CPU在进程切换时所花费的时间是10ms,试问系统化在进程切换上的开销占系统整个时间的比例是多少?解:P=(10*10)/[(300+10)*10]=3.2%6.试述线程的特点及其与进程之间的关系。
第二章 操作系统答案

第二章操作系统 Windows XP一、判断题1.鼠标指针在系统执行不同的操作时,会有不同的形状。
(T )2.在Windows中,直接关闭计算机电源开关,会丢失系统未保存的数据或信息。
(T )3.用鼠标指针指向窗口的标题栏并拖动,可改变窗口大小。
( F )4.在同一个文件夹中,不能有相同名字的两个不同类型的文件。
(F )5.Windows中的“资源管理器”只能管理计算机的硬件资源。
( F )6.创建新文件夹只能用快捷菜单中的“新建”命令。
(F )7.Windows中的文件名可以由任何符号组成。
( F )8.Windows 系统提供了磁盘扫描程序。
(T )9.在Windows中,用户一次只能运行一个程序。
( F )10.当选定文件夹后,在键盘上按Del键也能删除该文件夹。
(T )11.在Windows中,鼠标指针指向窗口边框或顶角时,会变成双向箭头,按住鼠标左键并拖动边框可改变窗口大小。
(T )12.在Windows“资源管理器”右窗格中,一次只能选定一个文件或文件夹。
(F )13.在Windows中,剪切文件后,原位置上还存在着该文件。
(T )14.Windows中的文件名中不能有空格。
( F )15.Windows的桌面快捷图标的外观不可改变。
(F )16.不能通过鼠标右键移动文件或文件夹。
(F )17.按Esc键可退出Windows系统。
(F )18.Windows中的操作只能通过鼠标完成,不能用键盘代替。
(F )19.Windows的屏幕保护程序可以设置口令。
(T )20.Windows的多个窗口在桌面上只能层叠,不能平铺。
(F )21.既可以创建文件的快捷方式,也可以创建文件夹的快捷方式。
(T )22.使用“资源管理器”,不能一次删除多个文件。
( F )23.在Windows中管理文件通常使用“资源管理器”和“我的电脑”。
(T )24.当屏幕的指针为沙漏加箭头时,表明Windows正在等待执行任务。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、什么是中断?给出系统总体上的中断处理过程。
【解答】:所谓中断是指CPU在正常执行程序的过程中,由于某个外部或内部事件的作用,强迫CPU停止当前正在执行的程序,转去为该事件服务(称为中断服务),待服务结束后,又能自动返回到被中断的程序中继续执行。
CPU每执行完一条指令就去扫描中断寄存器,检查是否有中断发生,若没有中断就继续执行下条指令;若有中断发生就转去执行相应的中断处理程序。
中断处理过程可粗略的分为以下四个过程:
①保护当前正在运行程序的现场;
②分析是何种中断,以便转去执行相应的中断处理程序;
③执行相应的中断处理程序;
④恢复被中断程序的现场。
2、请给出进程与程序它们的区别和联系。
【解答】:1、进程是动态的程序是静态的。
程序是一组有序的指令集合,是一个静态的概念;进程则是程序及其数据在计算机上的一次执行是一个动态的集合。
2、一个进程可以执行多个程序;一个程序可被多个进程执行;3、程序可以长期保存,进程有从被创建到消亡的生命周期。
4、进程具有并发性,而程序具有顺序性;5、进程具有独立性,是资源分配调度的基本单位,而程序无此特性。
3、试说明进程在三个基本状态之间转换的典型原因.
【解答】a. 处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变为执行状态.
b. 当前进程因发生某事件而无法执行,如访问已被占用的临界资源,就会使进程由执行状态转变为阻塞状态.
c. 当前进程因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态.
4、什么是临界资源和临界区?
【解答】:临界资源是一次仅允许一个进程访问的资源,例如打印机,共享的变量。
进程中访问临界资源的那段代码段称为临界区。
5、进程的互斥和同步有什么异同点?进程同步机制应遵循哪四个基本准则?
【解答】:进程同步机制应遵循如下四个基本准则:空闲让进,以提高临界资源利用率,忙则等待,以保证临界资源互斥使用;让权等待,以提高cpu的利用率;有限等待,以免相关进程陷入“死等”。
6、信号量的物理含义是什么?
【解答】:
5、
6、
7、
8、
9、
10、
7、处于执行状态的进程若同时发生了下列两种情况:
(1)对某信号量执行P操作后,信号量的值变为负数。
(2)该进程的时间片到时产生中断。
试问,该进程将由执行状态变迁为就绪态,还是阻塞态?简述理由。
【解答】:
该进程应转入阻塞状态。
假如不这样,而进程进入就绪态,有可能该进程被调度程序选中投入运行,但是该进程被阻塞的原因未去除,它仍然无法运行,白白浪费时间做进程切换工作。
8、设有n个进程共享一临界区,对于下述情况,说明信号量的初值、含义,并用PV操作写出有关进程的互斥算法:
(1)一次只允许一个进程进入临界区。
(2)一次允许m(m<n=个进程进入临界区。
【解答】:
设置信号量S1,初值为1;表示临界资源有一个可供1个进程竞争使用。
每个进程的互斥算法描述如下:
S1取值的范围是1,0,-1,-2,…-(n-1),即某一时刻最多有一个进程正在临界区,而等待进入临界区的进程可有1个,2个,最多时可达n-1个。
设置信号量S2,初值为m;表示临界资源有m个可供n个进程竞争使用。
每个进程的互斥算法描述如下:
S2取值的范围是m,m-1,…1,0,-1,-2,…-(n-m),即某一时刻最多有m个进程正在临界区,而等待进入临界区的进程可有1个,2个,最多可达n-m个。
9、假定阅览室最多可同时容纳100个人阅读,读者进入时,必须在阅览室门口的一个登记表上登记,内容包括姓名、座号等,离开时要撤掉登记内容。
用P、V操作描述读者进程的同步算法。
【解答】:
struct semaphore seats, regbook = 100, 1 //seats座位数 regbook登记本
cobegin
void readeri( void ) ( i=1,2.....n)
{ while ( 1 ) {
P( seats ); //申请坐位,若无空位则阻塞
P( regbook); //申请登记本资源
register_reader_information(); //登记读者信息
V( regbook ); //释放登记本资源
reading(); //阅览
P( regbook ); //申请登记本资源
unregister_reader_information(); //注销登录信息
V( regbook ); //释放登记本资源
V( seats ); // 释放空位资源
}
}
coend
10、兄弟俩共用一个账号,他们都可以用该账号到任何一家联网的银行自动存款或取款。
假定银行的服务系统有“存款”和“取款”两个并发进程组成,且规定每次的存款额和取款额总是为100元。
若进程结构如下:
begin
amount:integer;
amount:=0;
cobegin
Process SAVE
m1: integer;
begin
m1:=amount;
m1:=m1+100;
amount:=m1
end;
Process TAKE
m2:Integer;
begin
m2:=amount;
m2:=m2-100;
amount:=m2
end;
coend;
end;
请回答下列问题:
(1)你估计该系统工作时会出现怎样的错误?为什么?
(2)若哥哥先存了两次钱,但在第三次存钱时弟弟却正在取钱,则该账号上可能出现的余额为多少?正确的余额应该为多少?
(3)为保证系统的安全,若用PV操作来管理,应怎样定义信号量及其初值?解释信号量的作用。
(4)在程序的适当位置加上P操作和V操作,使其能正确工作。
[分析]:
由于“存款”和“取款”两个并发进程使用了共享变量amount,在进程中没有对共享变量的使用加以限制,因而当两个进程交叉访问共享变量时可能会出现与时间有关的错误。
因amount的初值为“0”,故当哥哥先存了两次钱后,amount的值应该为200(每次存人 100元)。
之后,哥哥和弟弟各自调用SAVE和TAKE进行存款和取款,使两个进程同时执行。
它们并发执行时可能有如下两种情况:
(1)进程在临界区执行没有被打断。
此时若哥哥先执行了 m1:=amount;m1:= m1+100;amount:=m1;则 amount的值为 300。
然后,由弟弟执行 m2:= amount; m2:=m2-100;amount:= m2;则弟弟从 300元中取走了 100元使 amount的值保持为 200。
如果弟弟先执行,则弟弟将从已有的200元存款中取出 100元使amount的值成为 100。
然后,哥哥再执行存人 100
元的工作而使amount的值仍为200。
可见,无论是哥哥先执行存款还是弟弟先执行取款,只要各自在临界区的工作没有间断,则均使amount保持正确值。
(2)两个进程在临界区交替执行。
此时可能哥哥先执行了 m1:=amount,但还没有执行后继操作时弟弟调用的 TAKE进程占用处理器执行了 m2:=amount,那么,m1和 m2都取到了相同的值 200。
同样地,若两个进程先后执行了 m2:= amount和 m1:= amount,则 m1和 m2也都取到相同的值200。
随后,两个进程并发执行时将使m1=300,m2=100。
如果SAVE进程先执行amount:= m1,TAKE进程后执行 amount:= m2,则 amount的终值为 100。
如果 TAKE进程先执行 amount:= m2,SAVE进程后执行 amount:= m1,则 amount的终值为 300。
可见,进程并发执行时该账号上可能出现的余额为100元,200元,300元,正确的余额数应该为200元。
之所以会出现错误是由于没有限制进程互斥地进入相关临界区执行,为保证系统的安全,可用 PV操作实现互斥。
用 PV操作管理时只需定义一个互斥信号量,其初值为“ 1”,用以限制每次只有一个进程可以进入临界区执行。
【解答】(1)系统工作时会出现与时间有关的错误,这是因为并发进程中没有对共享变量amount的使用加以限制,进程交叉访问amount时就会出错。
(2)账号上可能出现的余额为100元或200元或300元,正确的余额应该为200元。
(3)用PV操作管理时可定义一个信号量S,S的初值为1,信号量S用于限制进程互斥地进入相关临界区执行。
(4)使用PV操作管理后能保证正确并发执行的进程结构如下:
begin
amount:integer;
s:semaphore;
amount:=0; s:=1;
cobegin
Process SAVE
m1:integer;
begin
P(S);
m1:=amount;
m1:=m1+100;
amount:=m1;
V(S)
end;
Process TAKE
m2:integer;
begin
P(S);
m2:=amount;
m2:=m2-100;
amount:=m2;
V(S)
end;
coend:
end;。