第二章进程管理2(PCB)操作系统
- 格式:pptx
- 大小:146.59 KB
- 文档页数:28
操作系统实验二:进程管理操作系统实验二:进程管理篇一:操作系统实验报告实验一进程管理一、目的进程调度是处理机管理的核心内容。
本实验要求编写和调试一个简单的进程调度程序。
通过本实验加深理解有关进程控制块、进程队列的概念,并体会和了解进程调度算法的具体实施办法。
二、实验内容及要求1、设计进程控制块PCB的结构(PCB结构通常包括以下信息:进程名(进程ID)、进程优先数、轮转时间片、进程所占用的CPU时间、进程的状态、当前队列指针等。
可根据实验的不同,PCB结构的内容可以作适当的增删)。
为了便于处理,程序中的某进程运行时间以时间片为单位计算。
各进程的轮转时间数以及进程需运行的时间片数的初始值均由用户给定。
2、系统资源(r1…rw),共有w类,每类数目为r1…rw。
随机产生n进程Pi(id,s(j,k)t),0<=i<=n,0<=j<=m,0<=k<=dt为总运行时间,在运行过程中,会随机申请新的资源。
3、每个进程可有三个状态(即就绪状态W、运行状态R、等待或阻塞状态B),并假设初始状态为就绪状态。
建立进程就绪队列。
4、编制进程调度算法:时间片轮转调度算法本程序用该算法对n个进程进行调度,进程每执行一次,CPU时间片数加1,进程还需要的时间片数减1。
在调度算法中,采用固定时间片(即:每执行一次进程,该进程的执行时间片数为已执行了1个单位),这时,CPU时间片数加1,进程还需要的时间片数减1,并排列到就绪队列的尾上。
三、实验环境操作系统环境:Windows系统。
编程语言:C#。
四、实验思路和设计1、程序流程图2、主要程序代码//PCB结构体struct pcb{public int id; //进程IDpublic int ra; //所需资源A的数量public int rb; //所需资源B的数量public int rc; //所需资源C的数量public int ntime; //所需的时间片个数public int rtime; //已经运行的时间片个数public char state; //进程状态,W(等待)、R(运行)、B(阻塞)//public int next;}ArrayList hready = new ArrayList();ArrayList hblock = new ArrayList();Random random = new Random();//ArrayList p = new ArrayList();int m, n, r, a,a1, b,b1, c,c1, h = 0, i = 1, time1Inteval;//m为要模拟的进程个数,n为初始化进程个数//r为可随机产生的进程数(r=m-n)//a,b,c分别为A,B,C三类资源的总量//i为进城计数,i=1…n//h为运行的时间片次数,time1Inteval为时间片大小(毫秒)//对进程进行初始化,建立就绪数组、阻塞数组。
第二章进程管理2、试画出下面4条语句的前趋图:S2: b:=z+1;S3: c:=a-b;S4: w:=c+1;3、程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间出现间断性。
4、程序并发执行时为什么会失去封闭性与可再现性?因为程序并发执行时,就是多个程序共享系统中的各种资源,因而这些资源的状态就是由多个程序来改变,致使程序的运行失去了封闭性。
而程序一旦失去了封闭性也会导致其再失去可再现性。
5、在操作系统中为什么要引入进程概念?它会产生什么样的影响?为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制与描述,从而在操作系统中引入了进程概念。
影响: 使程序的并发执行得以实行。
6、试从动态性,并发性与独立性上比较进程与程序?a、动态性就是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只就是一组有序指令的集合,就是静态实体。
b、并发性就是进程的重要特征,同时也就是OS的重要特征。
引入进程的目的正就是为了使其程序能与其它建立了进程的程序并发执行,而程序本身就是不能并发执行的。
c、独立性就是指进程实体就是一个能独立运行的基本单位,同时也就是系统中独立获得资源与独立调度的基本单位。
而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。
7、试说明PCB的作用?为什么说PCB就是进程存在的唯一标志?a、PCB就是进程实体的一部分,就是操作系统中最重要的记录型数据结构。
PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。
因而它的作用就是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。
b、在进程的整个生命周期中,系统总就是通过其PCB对进程进行控制,系统就是根据进程的PCB而不就是任何别的什么而感知到该进程的存在的,所以说,PCB就是进程存在的唯一标志。
操作系统第二版课后习题答案操作系统第二版课后习题答案操作系统是计算机科学中的重要领域,它负责管理计算机硬件和软件资源,为用户提供良好的使用体验。
在学习操作系统的过程中,课后习题是巩固和深化知识的重要方式。
本文将为大家提供操作系统第二版课后习题的答案,帮助读者更好地理解和掌握操作系统的知识。
第一章:引论1. 操作系统的主要功能包括进程管理、内存管理、文件系统管理和设备管理。
2. 进程是指正在执行的程序的实例。
进程控制块(PCB)是操作系统用来管理进程的数据结构,包含进程的状态、程序计数器、寄存器等信息。
3. 多道程序设计是指在内存中同时存放多个程序,通过时间片轮转等调度算法,使得多个程序交替执行。
4. 异步输入输出是指程序执行期间,可以进行输入输出操作,而不需要等待输入输出完成。
第二章:进程管理1. 进程调度的目标包括提高系统吞吐量、减少响应时间、提高公平性等。
2. 进程调度算法包括先来先服务(FCFS)、最短作业优先(SJF)、优先级调度、时间片轮转等。
3. 饥饿是指某个进程长时间得不到执行的情况,可以通过调整优先级或引入抢占机制来解决。
4. 死锁是指多个进程因为争夺资源而陷入无限等待的状态,可以通过资源预分配、避免环路等方式来避免死锁。
第三章:内存管理1. 内存管理的主要任务包括内存分配、内存保护、地址转换等。
2. 连续内存分配包括固定分区分配、可变分区分配和动态分区分配。
3. 分页和分段是常见的非连续内存分配方式,分页将进程的地址空间划分为固定大小的页,分段将进程的地址空间划分为逻辑段。
4. 页面置换算法包括最佳置换算法、先进先出(FIFO)算法、最近最久未使用(LRU)算法等。
第四章:文件系统管理1. 文件是操作系统中用来存储和组织数据的逻辑单位,可以是文本文件、图像文件、音频文件等。
2. 文件系统的主要功能包括文件的创建、删除、读取、写入等操作。
3. 文件系统的组织方式包括层次目录结构、索引结构、位图结构等。
第一章:操作系统引论1.什么是操作系统?可以从哪些角度阐述操作系统的作用?答:操作系统是计算机系统中的一个系统软件,是能有效地组织和管理计算机系统中的硬件和软件资源,合理地组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使得用户能够灵活、方便、有效地使用计算机,并使整个计算机系统能高效地运行的一组程序模块的集合。
作用:控制管理计算机的全部硬软件资源,合理组织计算机内部各部件协调工作,为用户提供操作和编辑界面的程序集合。
2、简要叙述批处理操作系统、分时操作系统和实时操作系统的概念及特点。
答:批处理操作系统:通常是把一批作业以脱机方式输入到磁带(磁盘)上,并在系统中配上监督程序(Monitor),在它的控制下使这批作业能一个接一个地连续处理,直到磁带(磁盘)上所有的作业全部完成。
其特点:(1)自动性;(2)顺序性。
分时操作系统:是指在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。
其特点:(1)多路性;(2)独立性;(3)及时性;(4)交互性。
实时操作系统:是指系统及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
其特点:(1)多路性;(2)独立性;(3)及时性;(4)交互性;(5)可靠性。
3操作系统需要管理哪些资源?它的基本功能是什么?答:硬件资源:CPU,打印机等,软件资源:数据,程序等4操作系统对外提供了哪些接口?答:(1)操作系统的命令接口通过在用户和操作系统之间提供高级通信来控制程序运行,用户通过输入设备发出一系列命令告诉操作系统执行所需功能,它包括了键盘操作命令和作业控制命令,称为作业一级的用户接口。
命令接口的两种最普遍和主要的方式是直接命令方式(命令行)和间接命令方式(命令文件)。
(2)操作系统的程序接口它是用户程序和操作系统之间的接口,用户程序通过它们使用系统资源及系统服务,这种接口方式通常采用若干系统调用组成。
第2章进程管理“练习与思考”解答1.基本概念和术语进程、进程互斥、进程同步、临界资源、临界区、死锁进程是程序在并发环境中的执行过程。
进程互斥:各个进程彼此不知道对方的存在,逻辑上没有关系,由于竞争同一资源(如打印机、文件等)而发生相互制约。
进程同步:各个进程不知对方的名字,但通过对某些对象(如I/O缓冲区)的共同存取来协同完成一项任务。
临界资源:一次仅允许一个进程使用的资源。
临界区:在每个进程中访问临界资源的那段程序。
死锁是指在一个进程集合中的每个进程都在等待仅由该集合中的另一个进程才能引发的事件而无限期地僵持下去的局面。
2.基本原理和技术(1)在操作系统中为什么要引入进程概念?它与程序的区别和联系是什么?在操作系统中,由于多道程序并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。
这些都是在程序的动态过程中发生的。
用程序这个静态概念已不能如实反映程序并发执行过程中的这些特征。
为此,人们引入“进程”这一概念来描述程序动态执行过程的性质。
进程与程序的主要区别是:·进程是动态的;程序是静态的。
·进程有独立性,能并发执行;程序不能并发执行。
·二者无一一对应关系。
·进程异步运行,会相互制约;程序不具备此特征。
但进程与程序又有密切的联系:进程不能脱离具体程序而虚设,程序规定了相应进程所要完成的动作。
(2)进程的基本状态有哪几种?通常在操作系统中,进程至少要有三种基本状态。
这三种基本状态是:运行态、就绪态和阻塞态(或等待态)。
(3)用如图3-23所示的进程状态转换图能够说明有关处理机管理的大量内容。
试回答:①什么事件引起每次显著的状态变迁?②下述状态变迁因果关系能否发生?为什么?(A)2→1 (B)3→2 (C)4→1图3-23 进程状态转换图①就绪→运行:CPU空闲,就绪态进程被调度程序选中。
一、选择题1.在进程管理中,当 C 时,进程从阻塞状态变为就绪状态。
A.进程被进程调度程序选中B.等待某一事件C.等待的事件发生D.时间片用完2.分配到必要的资源并获得处理机时的进程状态是 B 。
A.就绪状态B.执行状态C.阻塞状态D.撤消状态3.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是 D 。
A.时间片用完B.等待某事件发生C.等待的某事件已发生D.被进程调度程序选中4.进程的三个基本状态在一定条件下可以相互转化,进程由运行状态变为阻塞状态的条件是 B 。
A.时间片用完B.等待某事件发生C.等待的某事件已发生D.被进程调度程序选中5.下列的进程状态变化中, C 变化是不可能发生的。
A.运行(就绪B.就绪(运行C.等待(运行D.等待(就绪6.一个运行的进程用完了分配给它的时间片后,它的状态变为 A 。
A.就绪B.等待C.运行D.由用户自己确定7.操作系统通过 B 对进程进行管理。
A. JCBB. PCBC. DCTD. CHCT8.一个进程被唤醒意味着 D 。
A. 该进程重新占有了CPUB. 它的优先权变为最大C. 其PCB移至等待队列队首D. 进程变为就绪状态9.多道程序环境下,操作系统分配资源以C 为基本单位。
A. 程序B. 指令C. 进程D. 作业10. 从下面的叙述中选出一条正确的叙述:(1)操作系统的一个重要概念是进程,不同的进程所执行的代码也不同。
(2)操作系统通过PCB来控制和管理进程,用户进程可从PCB中读出与本身运行状态相关的信息。
(3)当进程由执行状态变为就绪状态时,CPU现场信息必须被保存在PCB中。
(4)当进程申请CPU得不到满足时,它将处于阻塞状态。
(5)进程是可与其他程序并发执行的程序在一个数据集合上的运行过程,所以程序段是进程存在的唯一标志。
11. 从下面的叙述中选出4条正确的叙述:(1)一个进程的状态发生变化总会引起其它一些进程的状态发生变化。
操作系统中PCB的定义介绍在操作系统中,PCB(Process Control Block,进程控制块)是一种用于描述和管理进程的数据结构。
每个进程在操作系统中都有一个对应的PCB,PCB中包含了进程的状态信息、代码、数据和相关的控制信息。
PCB可以看作是操作系统管理进程的重要工具,通过对PCB的操作,操作系统可以进行进程的创建、调度、切换以及资源的分配和管理。
PCB的结构PCB通常包含以下几个关键字段:1.进程ID(PID):唯一标识进程的整数。
2.状态信息:描述进程当前的状态,如就绪、运行、阻塞等。
3.程序计数器(PC):指向下一条将要执行的指令。
4.寄存器:保存进程的上下文信息,包括通用寄存器、程序状态字等。
5.内存管理信息:描述进程所使用的逻辑地址空间。
6.输入输出状态信息:描述进程在输入输出设备上的状态。
7.资源分配信息:描述进程所占用的资源,如打开的文件、分配的内存等。
PCB的作用与管理进程的创建与销毁当创建一个新进程时,操作系统会为其分配一个新的PCB,并为其分配唯一的进程ID。
PCB中的各个字段被初始化,包括进程的状态、寄存器内容、内存管理信息等。
当进程结束时,其对应的PCB会被释放,回收相关资源。
进程的调度与切换操作系统根据一定的调度算法来选择下一个要执行的进程,通过修改PCB中的状态信息和寄存器内容来切换到该进程的执行上下文。
当操作系统决定切换到另一个进程时,当前进程的PCB会被保存,下一个进程的PCB会被加载。
进程的阻塞与唤醒当一个进程正在等待某个事件的发生时,如等待输入输出操作完成,操作系统会将其状态设置为阻塞,并将其PCB移动到相应的阻塞队列。
当事件发生时,操作系统会将其状态设置为就绪,并将其PCB移动到就绪队列,等待调度执行。
进程的资源管理PCB中的资源分配信息记录了进程所占用的资源,操作系统可以根据PCB来管理和分配资源。
例如,当一个进程请求申请内存时,操作系统可以查看PCB中的内存管理信息,判断是否有足够的可用内存;当一个进程释放资源时,操作系统可以更新PCB中的资源分配信息。
第二章进程管理习题及答案一、填空题1.进程的静态描述由三部分组成:①、②和③。
【答案】①PCB、②程序部分、③相关的数据结构集【解析】PCB是系统感知进程的唯一实体。
进程的程序部分描述了进程所要完成的功能,而数据结构集是程序在执行时必不可少的工作区和操作对象。
后两部分是进程完成所需功能的物质基础。
2.进程存在的标志是。
【答案】进程控制块PCB【解析】系统根据PCB感知进程的存在和通过PCB中所包含的各项变量的变化,掌握进程所处的状态以达到控制进程活动的目的。
3.①是现代操作系统的基本特征之一,为了更好地描述这一特征而引入了②这一概念。
【答案】①程序的并发执行,②进程【解析】程序的并发执行和资源共享是现代操行系统的基本特征。
程序的并发执行使程序失去了程序顺序执行时所具有的封闭性和可再现性。
在程序并发执行时,程序这个概念不能反映程序并发执行所具有的特性,所以引入进程概念来描述程序并发执行所具有的特点。
4.给出用于进程控制的四种常见的原语①、②、③和④。
【答案】①创建原语、②撤消原语、③阻塞原语、④唤醒原语【解析】进程控制是系统使用一些具有特定功能的程序段来创建、撤消进程以及完成进程各状态间的转换,从而达到多个过程高效率地并行执行和协调,实现资源共享的目的。
把那些在管态下执行的具有特定功能的程序段称为原语。
5.进程被创建后,最初处于①状态,然后经②选中后进入③状态。
【答案】①就绪,②进程调度程序,③运行【解析】进程的从无到有,从存在到消亡是由进程创建原语和撤消原语完成的。
被创建的进程最初处于就绪状态,即该进程获得了除处理机以外的所有资源,处于准备执行的状态;从就绪状态到运行状态的转换是由进程调度程序来完成的。
6.进程调度的方式通常有①和②方式两种。
【答案】①可剥夺、②非剥夺【解析】所谓可剥夺方式,是指就绪队列中一旦有优先级高于当前运行进程的优先级的进程存在时,便立即发生进程调度,转让处理机。
而非剥夺方式则是指:即使在就绪队列中存在有优先级高于当前运行进程的进程,当前进程仍将继续占有处理机,直到该进程完成或某种事件发生(如I/O事件)让出处理机。
--一、填空题1. 进程是一个程序对某个数据集的一次执行过程。
进程从结构上讲,包括程序、数据和PCB三部分。
2. 进程是一个动态的概念,程序是一个静态的概念。
3. 操作系统中,可以并行工作的基本单位是进程,它是由程序、数据集和PCB组成。
4. 进程存在的唯一标志是PCB的存在。
当系统创建一个进程时,系统为其建立一个PCB,当进程被撤销时系统就将其收回。
5. 进程有三种基本状态,即运行状态、就绪状态、阻塞状态。
当进程由(1)变换到(2)或(3)时,就会立即引起重新调度。
6. 在操作系统中,不可中断执行的操作称为原语。
7. 并发进程之间的基本关系是同步或互斥。
其中互斥是指进程之间的一种间接关系。
8. 临界资源是指一段时间只允许一个进程使用的资源,而临界区是指进程中访问临界资源的程序代码。
9. P,V操作原语是在信号量上操作的。
10. 信号量的物理意义是:当信号量的值大于零时,表示可用资源的数量;当信号量值小于零时,其绝对值为等待使用信号量所代表资源的进程的数量。
11. 有n个进程共享同一个临界区,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是1~-(n-1)。
12.如果系统中有n个进程,则在等待(阻塞)队列中进程的个数最多可为个n。
13. 如果信号量的当前值为-5,则表示系统中在该信号量上有5 个等待进程。
14.某程序运行时经常需打印中间结果。
计算时,该进程处于用户态,打印时处于系统态,打印结束时进程处于用户态。
(指系统状态)、15. 在操作系统中引入线程的主要目的是减少程序并发执行时的时空开销,使OS更具有并发性。
16. 如果一个程序能为多个进程同时共享执行,那么它应该以纯码形式编写,即该程序是可重人码程序,这种程序的特点是:在它执行过程中自身不可修改。
17. 中断优先级是由硬件规定的,若要调整中断的响应次序可通过系统调用。
18. 进程初建时处于就绪态,运行时因为时钟中断而处于就绪态,因等待事件或资源而处于阻塞态。
论述进程控制块(pcb)的作用、存储内容进程控制块(Process Control Block,简称PCB)是操作系统中用于管理和控制进程的数据结构。
每个进程都有一个对应的PCB,PCB中存储了进程的各种信息,用于描述和控制进程的运行状态。
PCB在操作系统中起着至关重要的作用,它是进程管理的核心之一。
PCB的作用主要有以下几个方面:1. 存储进程的基本信息:PCB中存储了进程的标识符、状态、优先级、计数器等基本信息。
这些信息是操作系统对进程进行管理和调度所必需的。
通过PCB,操作系统可以了解每个进程的当前状态和运行情况,从而进行合理的调度和资源分配。
2. 存储进程的上下文信息:PCB中还存储了进程的上下文信息,包括程序计数器、寄存器值、栈指针等。
这些信息可以使操作系统在进行进程切换时保存和恢复进程的执行环境,保证进程的连续执行。
当一个进程被中断或者被抢占时,操作系统可以通过PCB保存的上下文信息,将进程切换到其他进程,并在需要时恢复到原来的执行状态。
3. 存储进程的资源信息:PCB中还包含了进程所拥有的资源信息,如打开的文件列表、分配的内存空间、打开的设备等。
这些资源信息可以帮助操作系统进行进程的资源管理和保护,防止进程之间的冲突和干扰。
通过PCB,操作系统可以了解每个进程所需的资源,从而实现资源的合理分配和调度。
4. 存储进程的父子关系:PCB中还可以存储进程的父进程和子进程的信息。
这样,操作系统可以通过PCB建立进程之间的父子关系,实现进程的层次管理和协作。
通过PCB,父进程可以了解子进程的状态和运行情况,可以对子进程进行控制和协调。
PCB中的存储内容是多样的,根据操作系统的设计和实现方式可能有所不同。
一般而言,PCB中至少包含以下几个重要的存储内容:1. 进程标识符(Process ID,PID):用于唯一标识一个进程,操作系统通过PID来区分不同的进程。
2. 进程状态(Process Status):用于描述进程的当前状态,如运行、就绪、阻塞等。
第2章进程管理解答一、单项选择题[解答]1.d。
.2.c。
进程的实体由PCB、程序与数据3部分组成。
3.b。
4.b。
允许3个进程同时进入互斥段的互斥信号量初值设为3。
5.d。
并发进程之间可能存在同步与互斥关系,也可能不存在任何关系。
6.a。
7.c。
由于互斥信号量的初值是1,则极端情况是一个进程访问临界资源而其余N-1个进程处于等待状态,即信号量的值为-(N-1)8.d。
当资源总数为4,并发进程为2,每个进程的最大需求是3时,可能够出现每个进程都占用2个资源而又申请第3个资源的死锁状态。
9.a。
先来先服务、响应比高者优先和均衡调度算法都属于作业调度算法。
10.b。
进程从执行态变成就绪态通常有两种情况:(1)分时操作系统下时间片到;(2)剥夺式进程调度方式下有更高优先级的进程进入就绪状态。
11.b。
12.c。
13.d。
如果存在就绪进程且处理机空闲时,进程调度程序就必然选中一个就绪进程使之投入运行;所以d错误。
14.d。
a~c概念都不完全。
15.d。
a~c都会引进操作系统选择新进程运行,仅d不会。
16.a 17. a 18。
d 19。
d 20。
b 21。
a 22。
d 23。
d 24。
a 25.b 26.c 27。
b 28。
d 29。
c 30。
B二、填空题[解答]1.线性表链接表(或队列) 2.删除剥夺3.因为PCB是进程存在的唯一标志,故填PCB 4.资源竞、进程推进顺序不当5.非剥夺条件逐次请求条件环路条件 6.就绪运行7.进程中访问临界资源的那段程序代码8.当出现死琐的极端情况时,处于等待的进程数为n,故填n9.可用资源的数目,因请求该资源而被阻塞的进程数目10.剥夺式调度总是将优先级高的进程(不包括等待队列上的进程)投入运行,故填“剥夺式”11.P V12.当信号量知小于零时,其绝对值为被阻塞的进程个数,故填413.互斥、同步、条件变量14. —2~2 15.临界区(或互斥段) 16.程序数据 PCB. 17.银行家算法 18.同步 19.运行态进程调度 20.创建消亡21.资源分配独立运行调度 22.临界区 P操作 V操作23.引起进程调度的原因进程调度算法的选择就绪队列的组织.三、问答题1.操作系统中为什么要引入进程的概念?为了实现并发进程间的合作和协调工作,以及保证系统的安全,操作系统在进程管理方面应做哪些工作?[解答]在多道程序环境下,程序的并发执行代替了程序的顺序执行,并发执行破坏了程序的封闭性和可再现性,使得程序和计算不再一一对应。