操作系统-进程管理习题课
- 格式:ppt
- 大小:209.50 KB
- 文档页数:43
第二章进程管理121.操作系统主要是对计算机系统全部 (1) 进行管理,以方便用3户、提高计算机使用效率的一种系统软件。
它的主要功能有:处理机管理、存4储管理、文件管理、 (2) 管理和设备管理等。
Windows和Unix是最常用5的两类操作系统。
前者是一个具有图形界面的窗口式的 (3) 系统软6件,后者是一个基本上采用 (4) 语言编制而成的的系统软件。
在7(5) 操作系统控制下,计算机能及时处理由过程控制反馈的信息并作出响8应。
9供选答案:10(1): A. 应用软件 B. 系统软硬件11C. 资源D. 设备12(2): A. 数据 B. 作业13C. 中断D. I/O14(3): A. 分时 B. 多任务15C. 多用户D. 实时16(4): A. PASCAL B. 宏17C. 汇编D. C18(5): A. 网络 B. 分时19C. 批处理D. 实时20答案:CBBDD212.操作系统是对计算机资源进行的 (1) 系统软件,是 (2) 22的接口。
23在处理机管理中,进程是一个重要的概念,它由程序块、 (3) 和24数据块三部分组成,它有3种基本状态,不可能发生的状态转换是25(4) 。
26虚拟存储器的作用是允许程序直接访问比内存更大的地址空间,它通常使27用 (5) 作为它的一个主要组成部分。
28供选答案:29(1): A. 输入和输出 B. 键盘操作30C. 管理和控制D. 汇编和执行31(2): A. 软件和硬件 B. 主机和外设32C. 高级语言和机器语言D. 用户和计算机33(3): A. 进程控制块 B. 作业控制块34C. 文件控制块D. 设备控制块35(4): A. 运行态转换为就绪态 B. 就绪态转换为运行态36C. 运行态转换为等待态D. 等待态转换为运行态37(5): A. 软盘 B. 硬盘38C. CDROMD. 寄存器39答案:CDADB403.在计算机系统中,允许多个程序同时进入内存并运行,这种方法称为41D。
操作系统解答题练习---操作系统解答题练习1、进程管理1.1 什么是进程?进程是计算机中正在执行的程序的实例。
每个进程都有自己的内存空间和资源,它们彼此独立地运行,并与操作系统交互。
1.2 进程状态转换进程可以处于以下几种状态:- 新建状态:进程被创建但还没有执行。
- 运行状态:进程当前正在执行。
- 阻塞状态:进程因为某些原因(如等待I/O)而暂时停止执行。
- 就绪状态:进程已满足执行的条件,等待系统分配资源。
- 终止状态:进程执行完成或被终止。
1.3 进程调度算法进程调度算法用于确定哪些进程应该获得CPU的使用权。
常见的进程调度算法包括先来先服务(FCFS)、短作业优先(SJF)、轮转调度和优先级调度。
2、内存管理2.1 什么是虚拟内存?虚拟内存是一种将内存扩展到计算机硬盘上的技术。
它使得计算机可以运行比物理内存更大的程序,通过将不活动的数据存储在硬盘上,并在需要时进行交换,以便为活动程序腾出内存空间。
2.2 虚拟内存的优点和缺点优点:- 允许运行比物理内存更大的程序。
- 提高了内存的利用率。
- 提供了内存保护,防止程序相互干扰。
缺点:- 较慢的访问速度,与访问物理内存相比,需要进行磁盘IO操作。
- 需要额外的硬盘空间。
2.3 页面置换算法页面置换算法用于在虚拟内存中选择要替换的页面。
常见的页面置换算法有最佳置换算法、先进先出置换算法(FIFO)、最近最久未使用置换算法(LRU)和时钟置换算法。
3、文件系统3.1 文件系统的层次结构文件系统通常由多个层次组成,常见的层次有逻辑文件系统、文件目录、文件控制块和物理文件系统。
3.2 文件的组织方式文件的组织方式有顺序文件、索引文件和随机文件三种常见方式。
3.3 文件共享和保护文件共享是指多个进程可以同时访问同一文件的能力。
文件保护是指确保只有被授权的用户可以对文件进行访问,防止非法操作。
4、设备管理4.1 设备分配方式设备分配方式有三种常见方式:独占分配、共享分配和按需分配。
一、判断题1.( )操作系统的所有程序都必须常驻内存。
2.( )多道程序设计可以缩短系统中作业的执行时间。
3.( )实时系统中的作业周转时间有严格的限制。
4.( )进程获得处理机而运行是通过申请而得到的。
5.( )同一个程序不能被创建成多个进程。
6.( )子进程可以继承它的父进程所拥有的所有资源。
7.( )对于临界区,最重要的是断定哪个进程先执行临界区里的那段程序。
8.( )若进程A和进程B在临界区上互斥,那么当A位于临界区内时不能打断它的运行。
9.( )进程间的互斥是一种特殊的同步关系。
10.( )临界区是指进程中用于实现进程互斥的那段代码。
11.( )资源的同时共享是指多个用户作业可以在同一时刻使用同一资源。
12.( )并发性是指若干事件在同一时间间隔内发生。
13.( )进程在运行中,可以自行修改自己的进程控制块PCB。
14.( )进程申请CPU得不到满足时,其状态变为等待态。
15.( )当一个进程从等待态变成就绪态,则一定有一个进程从就绪态变成运行态。
16.( )进程状态的转换是由操作系统完成的,对用户是透明的。
17.( )优先数是进程调度的重要依据,优先数大的进程首先被调度运行。
18.( )不可抢占式动态优先数法一定会引起进程长时间得不到运行。
19.( )进程调度的主要功能是从所有处于等待状态的进程中挑选一个"最合适"的进程,创建好进程运行所需要的环境,然后把处理机分配给它。
20.( )无限循环和无限延迟是一个概念。
21.( )导致系统出现死锁的一种原因是某个用户作业发生了死循环。
22.( )一旦出现死锁,所有进程都不能运行。
23.( )所有进程都挂起时系统陷入死锁。
24.( )参与死锁的进程至少有两个已经占有资源。
25. ( )有M个进程的操作系统出现死锁时,死锁进程的个数为1<k<=M。
26.( )所有进程都进入等待状态时,系统陷入死锁。
27.( )系统调用是用户程序请求操作系统服务的唯一方式。
第二章进程管理练习题(一)单项选择题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.C PU D.磁盘空间7.在一个单处理器系统中,处于运行态的进程( )。
A.可以有多个B.不能被打断C.只有一个D.不能请求系统调用8.对于一个单处理器系统来说,允许若干进程同时执行,轮流占用处理器.称它们为()的。
A. 顺序执行B. 同时执行C. 并行执行D. 并发执行9.操作系统根据( )控制和管理进程,它是进程存在的标志。
A.程序状态字B.进程控制块C.中断寄存器D.中断装置10.若干个等待占有CPU并运行的进程按一定次序链接起来的队列为( )。
A.运行队列B.后备队列C.等待队列D.就绪队列11.临界区是指( )。
A. 并发进程中用于实现进程互斥的程序段B.并发进程中用于实现进程同步的程序段C.并发进程中用户实现进程通信的程序段D.并发进程中与共享变量有关的程序段12.对于记录型信号量,在执行一次P操作时,信号量的值应( )。
A.不变B.加1 C.减1D.减指定数值13.在执行signal操作时,当信号量的值( )时,应释放一个等待该信号量的进程。
A.0 B.<0 C.>=0 D.<=014.wait、signal操作必须在屏蔽中断下执行,这种不可变中断的过程称为( )。
操作系统习题集之进程和处理机管理来源:北大的MSE:有关计算机的一些辅导资料日期:2010-12-5第7章进程及处理机管理学习重点(1)操作系统“核心”功能和特点(2)程序的顺序执行与并发执行(3)进程的定义,进程的五个基本特征,进程控制块,程序与进程的对比,进程与线程(4)进程的描述;进程的基本状态及转換(就绪、执行、等待)(5)进程调度算法(先来先服务、RR轮转法、多级反馈轮转法和优先数法)(6)进程通信:同步与互斥、临界区、原语(加锁/开锁原语、信号量及P-V操作)、消息缓冲(7)什么是死锁?产生死锁的四个必要条件(互斥使用、保持和等待、非剥夺性、循环等待和处理)教学要求:(1)牢固掌握进程的概念。
(2)熟练掌握操作系统核心功能、核心形式。
(3)掌握顺序执行与并发执行的比较。
(4)熟练掌握进程的五个基本特征,掌握进程与程序的主要区别。
理解进程与线程的关系。
(5)掌握进程的基本状态:执行态、就绪态、等待态。
在什么条件下发生状态转换?(6)理解进程的一般组成,应深入理解进程控制块的作用。
每个进程有惟一的进程控制块。
(7)理解常用的进程调度算法。
(8)掌握进程同步与互斥的比较,简单理解为同步是伙伴,互斥是竞争。
(9)理解信号量概念,P、V操作执行的动作。
(10)掌握死锁的概念、死锁的必要条件、解决死锁的基本方法。
习题1、什么是进程?答:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。
它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。
(在Windows NT等采用微内核结构的现代操作系统中,进程的功能发生了变化:它只是资源分配的单位,而不再是调度运行的单位,其调度运行的基本单位是线程。
)2、进程的互斥和同步有什么异同点?答:同步与互斥特点比较见教材127页表6-4。
同步互斥进程-进程进程-资源-进程时间次序上受到某种限制竞争到某一物理资源时不允许其他进程工作相互清楚对方的存在及其作用,交换信息不一定清楚其他进程情况往往指有几个进程共同完成一个任务往往指多个任务多个进程间通讯制约,故更广泛举例:生产与消费之间,发送与接收之间,作者与读者之间,供者与用者之间。
一、单项选择题1.在进程管理中,当C 时,进程从阻塞状态变为就绪状态。
A. 进程被进程调度程序选中 B.等待某一事件C. 等待的事件发生 D.时间片用完2.分配到必要的资源并获得处理机时的进程状态是B 。
A. 就绪状态 B.执行状态C.阻塞状态 C. 撤消状态3.P、V操作是 A 。
A. 两条低级进程通信原语 B.两组不同的机器指令C. 两条系统调用命令 D.两条高级进程通信原语4.对进程的管理和控制使用 B 。
A.指令 B.原语C.信号量 D.信箱通信5.进程的并发执行是指若干个进程 D 。
A. 同时执行 B.在执行的时间上是重叠的C.在执行的时间上是不可重叠的 D.共享系统资源6. 若P、V操作的信号量s初值为2,当前值为-1,则表示有 B等待进程。
A.0个 B.1个 C.2个 D.3个7. 程序的顺序执行通常在① A 的工作环境中,具有②C 特征;程序的并发执行在③ B 的工作环境中,具有④ D 特征。
A. 单道程序 B.多道程序C. 程序的可再现性 D.资源共享8.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是① D ;由运行状态变为阻塞状态的条件是② C 。
A. 时间片用完 B.等待某事件发生C. 等待的某事件己发生 D.被进程调度程序选中9.下列的进程状态变化中, B 变化是不可能发生的。
A. 运行一就绪 B.运行一等待C,等待一运行 D,等待一就绪10.一个运行的进程用完了分配给它的时间片后,它的状态变为 A。
A. 就绪 B.等待C. 运行 D.由用户自己确定11.用P、V操作管理临界区时,信号量的初值应定义为 C 。
A.-1 B.0 C.1 D.任意值12.用V操作唤醒一个等待进程时,被唤醒进程的状态变为 B 。
A. 等待 B,就绪 C运行 D.完成13.进程间的同步是指进程间在逻辑上的相互 B 关系。
A. 联接 B.制约 C. 继续 D.调用14. D 是一种只能进行P操作和V操作的特殊变量。
第二章进程管理一、单项选择题1.一个进程是()。
A.由协处理器执行的一个程序B.一个独立的程序+数据集C.PCB结构与程序和数据的组合D.一个独立的程序2.下列关于线程的叙述中,正确的是()。
A.线程包含CPU现场,可以独立执行程序B.每个线程有自己独立的地址空间C.进程只能包含一个线程D.线程之间的通信必须使用系统调用函数3.进程之间交换数据不能通过()途径进行。
A.共享文件B.消息传递C.访问进程地址空间D.访问共享存储区4.进程和程序的根本区别是()。
A.静态和动态特点B.是不是被调入到内存在C.是不是具有就绪.运行和等待三种状态D.是不是占有处理器5.下面的叙述中,正确的是()。
A.进程获得处理器运行时通过调度得到的B.优先级是进程调度的重要依据,一旦确定不能改动C.在单处理器系统中,任何时刻都只有一个进程处于运行状态D.进程申请处理器而得不到满足时其状态变为阻塞状态6.若某一进程拥有100个线程,这些线程都属于用户级线程,则在系统调度执行时间上占用的时间片是()。
A.1 B.100 C.1/100 D.07.进程Pl .P2和P3单独执行时间分别为10min.15 min和20min,其中处理器占用时间分别为2min.3 min和12min。
如果采用多道程序设计技术使其并发,加上系统开销5min ,那么并发使得计算机系统的效率提高了()。
A.1 B.38% C.74% D.51%8.操作系统是根据()来对并发执行的进程进行控制和管理的。
A.进程的基本状态B.进程控制块C.多道程序设计D.进程的优先权9.在任何时刻,一个进程的状态变化()引起另一个进程的状态变化。
A.必定B.一定不C.不一定D.不可能10.在单处理器系统中,如果同时存在10个进程,则处于就绪队列中的进程最多有()个。
A.1 B.8 C.9 D.1011.一个进程释放了一台打印机后,有可能改变()的状态。
A.自身进程B.输入/输出进程C.另一个等待打印机的进程D.所有等待打印机的进程12.假定系统进程所请求的一次I/0操作完成后,将使进程状态从()。
计算机操作系统(第四版)---第⼆章进程的描述与控制课后习题答案1.什么是前趋图?为什么要引⼊前趋图?答:前趋图(Precedence Graph)是⼀个有向⽆循环图,记为DAG(DirectedAcyclicGraph),⽤于描述进程之间执⾏的前后关系。
2.画出下⾯四条语句的前趋图:S1:a=x+y; S2:b=z+1; S3:c=a – b;S4:w=c+1;3. 什么程序并发执⾏会产⽣间断性特征?答:程序在并发执⾏时,由于它们共享系统资源,为完成同⼀项任务需要相互合作,致使这些并发执⾏的进程之间,形成了相互制约关系,从⽽使得进程在执⾏期间出现间断性。
4.程序并发执⾏时为什么会失去封闭性和可再现性?答:程序并发执⾏时,多个程序共享系统中的各种资源,因⽽这些资源的状态由多个程序改变,致使程序运⾏失去了封闭性,也会导致其失去可再现性。
5.在操作系统中为什么要引⼊进程概念?它会产⽣什么样的影响?答:为了使程序在多道程序环境下能并发执⾏,并对并发执⾏的程序加以控制和描述,在操作系统中引⼊了进程概念。
影响: 使程序的并发执⾏得以实⾏。
6.试从动态性,并发性和独⽴性上⽐较进程和程序?答:(1)动态性是进程最基本的特性,表现为由创建⽽产⽣,由调度⽽执⾏,因得不到资源⽽暂停执⾏,由撤销⽽消亡。
进程有⼀定的⽣命期,⽽程序只是⼀组有序的指令集合,是静态实体。
(2)并发性是进程的重要特征,同时也是OS 的重要特征。
引⼊进程的⽬的正是为了使其程序能和其它进程的程序并发执⾏,⽽程序是不能并发执⾏的。
(3)独⽴性是指进程实体是⼀个能独⽴运⾏的基本单位,也是系统中独⽴获得资源和独⽴调度的基本单位。
对于未建⽴任何进程的程序,不能作为独⽴单位参加运⾏。
7.试说明PCB 的作⽤,为什么说PCB 是进程存在的惟⼀标志?答:PCB 是进程实体的⼀部分,是操作系统中最重要的记录型数据结构。
作⽤是使⼀个在多道程序环境下不能独⽴运⾏的程序,成为⼀个能独⽴运⾏的基本单位,成为能与其它进程并发执⾏的进程。
第2章进程与线程-习题集一、选择题1.以下关于进程的描述中,正确的是()。
【*,联考】A. 进程获得CPU运行是通过调度得到的B. 优先级是进程调度的重要依据,一旦确定就不能改变C. 在单CPU的系统中,任意时刻都有一个进程处于运行状态D. 进程申请CPU得不到满足时,其状态变为阻塞2.一个进程是()。
【*,联考】A. 由处理机执行的一个程序B. 一个独立的程序+数据集C. PCB结构、程序和数据的组合D. 一个独立的程序3.并发进程指的是()。
【*,★,联考】A. 可并行执行的进程B. 可同一时刻执行的进程C. 可同时执行的进程D. 不可中断的进程4.当一个进程处于这样的状态时,(),称为阻塞态。
【*,★,联考】A. 它正等着输入一批数据B. 它正等着进程调度C. 它正等着分给它一个时间片D. 它正等进入内存5.某个运行中的进程要申请打印机,它将变为()。
【*,联考】A. 就绪态B. 阻塞态C. 创建态D. 撤销态6.以下进程状态转变中,()转变是不可能发生的。
【**,★,联考】A. 运行→就绪B. 运行→阻塞C. 阻塞→运行D. 阻塞→就绪7.当()时,进程从执行状态转变为就绪状态。
【*,联考】A. 进程被调度程序选中B. 时间片到C. 等待某一事件D. 等待的事件发生8.一个进程的基本状态可以从其他两种基本状态转变过来,这个基本状态一定是()。
【**,联考】A. 运行状态B. 阻塞状态C. 就绪状态D. 完成状态9.当一个进程完成一个时间片后,系统需要将该进程的状态由运行状态转变为()。
【*,联考】A. 就绪状态B. 阻塞状态C. 撤销状态D. 创建状态10.进程状态由就绪态转换为运行态是由()引起的。
【**,联考】A. 中断事件B. 进程状态转换C. 进程调度D. 为程序创建进程11.下列选项中,降低进程优先级的合理时机是()。
【***,10考研】A. 进程的时间片用完B. 进程刚完成I/O,进入就绪队列C. 进程长期处于就绪队列中D. 进程从就绪状态转为运行态12.()必会引起进程切换。
操作系统__第二章_进程管理_习题答案第二章进程管理2. 试画出下面4条语句的前趋图:S1S1: a:=x+y;S4S3S2: b:=z+1;S2S3: c:=a-b; S4: w:=c+1; 3. 为什么程序并发执行会产生间断性特征?程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间出现间断性。
4. 程序并发执行时为什么会失去封闭性和可再现性?因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了封闭性。
而程序一旦失去了封闭性也会导致其再失去可再现性。
5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响?为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。
影响: 使程序的并发执行得以实行。
6. 试从动态性,并发性和独立性上比较进程和程序?a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。
b. 并发性是进程的重要特征,同时也是OS的重要特征。
引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。
c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。
而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。
7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标志?a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。
PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。
因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程。
第二章进程管理第一部分教材习题(P81)3、为什么程序并发执行会产生间断性特征?(P36)4、程序并发执行,为何会失去封闭性和可再现性?(P37)【解】程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。
同时由于失去了封闭性,也将导致其再失去可再现性。
程序在并发执行时,由于失去了封闭性,程序经过多次执行后,其计算机结果已与并发程序的执行速度有关,从而使程序的执行失去了可再现性。
5、在操作系统中为什么要引入进程概念?(P37)它会产生什么样的影响?【解】在操作系统中引入进程的概念,是为了实现多个程序的并发执行。
传统的程序不能与其他程序并发执行,只有在为之创建进程后,才能与其他程序(进程)并发执行。
这是因为并发执行的程序(即进程)是“停停走走”地执行,只有在为它创建进程后,在它停下时,方能将其现场信息保存在它的PCB中,待下次被调度执行是,再从PCB中恢复CPU现场并继续执行,而传统的程序却无法满足上述要求。
建立进程所带来的好处是使多个程序能并发执行,这极提高了资源利用率和系统吞吐量。
但管理进程也需付出一定的代价,包括进程控制块及协调各运行机构所占用的存空间开销,以及为进行进程间的切换、同步及通信等所付出的时间开销。
6、试从动态性、并发性和独立性上比较进程和程序?(P37)【解】(1)动态性:进程既然是进程实体的执行过程,因此,动态性是进程最基本的特性。
动态性还表现为:“它由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤消而消亡”。
可见,进程有一定的生命期。
而程序只是一组有序指令的集合,并存放在某种介质上,本身并无运动的含义,因此,程序是个静态实体。
(2)并发性:所谓进程的并发,指的是多个进程实体,同存于存中,能在一段时间同时运行。
并发性是进程的重要特征,同时也成为OS的重要特征。
引入进程的目的也正是为了使其程序能和其它进程的程序并发执行,而程序是无法并发执行的。
第2章进程和线程的管理习题及解答例题解析例2.2.1 试说明进程和程序之间的区别和联系。
解进程和程序是既有区别又有联系的两个概念。
(1)进程是动态的,程序是静态的。
程序是一组有序的指令集合,是一个静态的概念;进程则是程序及其数据在计算机上的一次执行,是一个动态的集合。
离开了程序,进程就失去了存在的意义,但同一程序在计算机上的每次运行将构成不同的进程。
程序可看作是电影的胶片,进程可以看作电影院放电影的过程。
(2)一个进程可以执行多个程序,如同一个电影院的一场电影可放映多部影片。
(3)一个程序可被多个进程执行,如同多个影院同时利用一个电影的胶片放映同一部电影。
(4)程序可以长期保存,进程只能存在于一段时间。
程序是永久存在的,而进程有从被创建到消亡的生命周期。
例2.2.2 举例说明多道程序系统失去了封闭性和再现性。
解例如,有两个循环程序A和B,共享一个变量N。
程序A每执行一次时,都要做N:=N+1操作;程序B则每执行一次时,都要执行print(N)操作,然后再将N的值置成“0”。
程序A和B在多道程序系统中同时运行。
假定某时刻变量N的值为n,可能出现下述三种情况:(1)N:=N+1 在print(N)和N:=0之前,此时得到N值变化过程为n+1、n+1、0;(2)N:=N+1 在print(N)和N:=0之后,此时得到N值变化过程为n 、 0 、1;(3)N:=N+1 在print(N)之后和N:=0之前,此时得到N值变化过程为n、n+1、0。
所以,在A、B程序多次执行过程中,虽然其每次执行时的环境和初始条件都相同,但每次得到的结果却不一定相同。
例 2.2.3 为什么将进程划分成执行、就绪和阻塞三个基本状态?解根据多道程序执行的特点,进程的运行是走走停停的。
因此进程的初级状态应该是执行和等待状态。
处于执行状态的进程占用处理机执行程序,处于等待状态的进程正在等待处理机或者等待其它某种事件的发生。
但是,当处理机空闲时,并不是所有处于等待状态的进程都能放到处理机上执行,有的进程即使分配给它处理机,它也不能执行,因为它的执行的条件没有得到满足。
进程部分的习题1. 在公共汽车上,司机进程和售票员进程各司其职。
司机在正常行车中售票员售票,两者之间没有制约关系,可以任意并发。
但是在其他环节,司机和售票员进程之间存在着如下同步关系:1)司机停车后等待售票员关门后才能启动车辆。
2)售票员售完票后,等待司机到站停车,停车后才能打开车门。
var door,stop:semaphore:=0,0beginparbegin司机进程:beginwhile(true){wait(door); //等待售票员发送关门信息启动车辆;正常行车;到站停车;signal(stop);//给售票员发送到站信息}end;售票员进程:beginwhile(true){关车门;signal(door); //给司机发送关门信息售票;wait(stop);//等待司机发送到站信息开车门;上下乘客;}endparendend.2.某寺庙,有小和尚,老和尚若干。
有一水缸,由小和尚提水入缸供老和尚饮用。
水缸可容10桶水,水取自同一井中。
水井径窄,每次中能容下一个桶取水。
水桶总数为3个。
每人一次取缸水仅为1桶,且不可同时进行。
试用记录型信号量给出有关取水、入水的算法描述。
根据题意,定义信号量及其初值如下:(1)水桶为临界资源需互斥使用,定义信号量bucket,因有3个桶,故初值为3;(2)水井一次只能允许下一个桶取水,定义互斥信号量well,初值为1;(3)水缸一次只能允许一个人取水,定义互斥信号量jar,初始值为1;(4)empty和full用于小和尚和老和尚之间的同步制约关系。
因为缸能存10桶水,所以empty初始值为10;开始时缸中没有水,full的初始值为0。
semaphore bucket=3,jar=1,full=0,empty=10,well=1; young_monk(){ /*小和尚入水算法*/while(1){wait(empty);wait (bucket);wait (well);从水井中打水;signal(well);wait (jar);倒入水缸;signal (jar);signal (bucket);signal (full);}}old_monk(){ /*老和尚取水算法*/while(1){wait(full);wait (bucket);wait (jar);从缸中取水;signal (jar);signal (bucket);signal (empty);从桶中倒入饮用;}}3.设有3个进程A、B、C,其中A与B构成一对生产者与消费者(A为生产者,B为消费者),共享一个由n个缓冲区组成的缓冲池;B与C也构成一对生产者与消费者(此时B为生产者,C为消费者),共享另一个由m个缓冲区组成的缓冲池。