第三章 进程管理(2)
进程管理
{
Flag[i]=FALSE;
}
process i;/*i-0 or i=1*/
……………..
Enter-crtsec(i);/*进入临界区*/
IN CRTICAL SECTION
Leave-crtsec(i);/*离开临界区*/
……………
【解答】
一次仅允许一个进程使用的资源称为临界资源,在进程中对于临界资源访问的程序段称为临界区。从概念上讲,系统中各进程在逻辑上是独立的,他们可以按各自独问题的共行进程,它们之间必须互相排斥,以保证不会同时进入临界区。这种算法是不安全的。因为,在进入临界区的操作Enter-crtsec( )不是一个原子操作,如果两个进程同时执行完其循环(此前两个flag均为FALSE),则这两个进程可以同时进入临界区。
分析:本题的第一部分是检查考生对基本概念的记忆与理解,在本题的分数中占的比较小,是解答本题的基础。题目的第二部分时一个典型的生产者—消费者问题,其中的难点在于PB既是生产者优势消费者,处理不好可能造成同步错误或死锁。
【解答】
P、V操作可用下面的伪码进行描述:
PROCEDUREP(S)
BEGIN
Lock out interrupts;
(3)一个进程可以执行一个或几个程序;反之,同一个程序可能由几个进程同时执行。
(4)进程具有并发性,它能真实地描述并发执行的活动,而程序不具备这种特征。
(5)进程具有创建其它进程的功能,程序不具备这种功能。
(6)进程是一个独立的运行单位,也是系统进行资源分配和调度的一个独立单位
3操作系统中为什么引入进程?
4.唤醒原语(active primitive)
当阻塞队列中的进程等待的事件发生时,都必须调用唤醒原语,以便把等待进程从阻塞中解脱出来获得重新参加调度的资格。
操作系统教程第五版费翔林课后答案
操作系统教程第五版费翔林课后答案本文是针对操作系统教程第五版费翔林书籍中的课后题目提供的答案解析。
在这个教程中,费翔林教授详细介绍了操作系统的基本概念、原理和实践,涵盖了进程管理、内存管理、文件系统、设备管理等各个方面。
通过对这些课后题目的解答,可以更好地理解和巩固操作系统的知识。
第一章:引论1.什么是操作系统?它的主要目标是什么?–答案:操作系统是一种控制和管理计算机硬件和软件资源的系统软件。
操作系统的主要目标是为用户提供一个方便、高效、安全的计算机环境。
2.请简要描述操作系统的角色和功能。
–答案:操作系统有几个角色和功能:•资源管理:操作系统管理计算机的各种硬件资源,包括处理器、内存、存储设备和输入输出设备。
•进程管理:操作系统创建、调度和终止进程,以及处理进程间的通信和同步。
•内存管理:操作系统分配和回收内存,管理虚拟内存,以及处理内存的保护和共享机制。
•文件系统:操作系统管理文件和目录的存储和访问,提供文件的创建、读取、写入和删除等操作。
•设备管理:操作系统管理计算机的输入输出设备,包括键盘、鼠标、显示器、打印机等。
•用户接口:操作系统提供了与计算机交互的界面,包括命令行界面和图形用户界面等。
第二章:进程管理1.什么是进程?进程的状态有哪些?–答案:进程是指在计算机中正在运行的程序的实例。
进程的状态包括:•就绪:进程已经准备好执行,但是还没有被分配到处理器。
•运行:进程正在处理器上执行。
•阻塞:进程由于某些原因不能继续执行,需要等待某个事件的发生。
•终止:进程已经完成或被终止,等待被操作系统回收。
2.请简要描述进程的创建、终止和状态切换的过程。
–答案:进程的创建是通过调用系统调用来完成的,系统为新进程分配资源,并设置进程的初始状态。
进程的终止可以是正常终止(调用系统调用进行退出)或异常终止(例如发生错误)。
进程状态之间的切换通过操作系统的调度算法来实现,例如从就绪状态切换到运行状态,或从运行状态切换到阻塞状态。
chap3 进程管理-Linux环境高级程序设计-黄茹-清华大学出版社
3
3.1 程序与进程
3.1.1 程序的结构
• 程序→可执行文件 • file
• size 代码区 静态数据区 BSS区
2021/3/23
Linux高级编程 西安邮电大学计算机学院 黄茹
4
程序的构成
代码区:存放CPU执行的机器代码。 通常是可共享的、只读的。另外,还 规划了局部变量的相关信息。 静态数据区:包含了在程序中明确被 初始化的全局变量、已经初始化的静 态变量和常量数据。 BSS区:未被初始化数据区。存入的是 未初始化的全局变量和未初始化静态 变量。这些变量在程序开始运行之前, 其中的数据被内核初始化为0或者 NULL。
}
2021/3/23
Linux高级编程 西安邮电大学计算机学院 黄茹
17
3.3.1 shell如何运行程序
• 通过ps命令和例1,我们能够看到,shell本身是一个 进程
• exit命令可以退出shell • shell是一个无穷循环,等待执行输入的命令、程序
或脚本 • 执行一条命令的过程:
➢接收输入的命令 ➢新建一个进程,用来运行该命令 ➢将命令对应的程序从磁盘中加载到新进程中执行 ➢等待新进程运行结束
2021/3/23 Linux高级编程 西安邮电大学计算机学院 黄茹
12
2021/3/23
2021/3/23
Linux高级编程 西安邮电大学计算机学院 黄茹
13
3.3 shell
• shell是一个管理进程和运行程序的程序 • 三个功能:
➢运行程序 ➢管理输入输出 ➢可编程
• 关于进程的两个基本系统调用
4
#define TASK_STOPPED
8
ps命令中S对应列为进程状态。
操作系统进程管理
Process Management
处理机管理是操作系统的基本管理功能之一,它所关心的是处理机的 分配问题。也就是说把CPU(中央处理机)的使用权分给某个程序。
通常把正准备进入内存的程序称为作业,当这个作业进入内 存后我们把它称为进程。处理机管理分为作业管理和进程管 理两个阶段去实现处理机的分配,常常又把直接实行处理机 时间分配的进程调度工作作为处理机管理的主要内容。
3、系统进程在管态下活动,而用户进程则在用户态 (目态)下活动。
另一种分类:计算进程,I/O进程等 注意:在UNIX系统中没有这样对进程进行分类。
动。 (4)在进程调度中,系统进程的优先级高于用
户进程。
2.5 进程的类型与区别
系统进程与用户进程的区别:
1、系统进程被分配一个初始的资源集合,这些资源 可以为它独占,也能以最高优先权的资格使用。用 户进程通过系统服务请求的手段竞争使用系统资源;
2、用户进程不能直接做I/O操作,而系统进程可以 做显示的、直接的I/O操作。
2.3进程的特征
5)结构特征:为能正确的执行并发,为每一个进程配置
了一个数据结构,称为进程控制块(PCB)。则一个进 程实体就由数据段、程序段、PCB三部分构成。
• 进程实体 = 数据段+程序段+PCB
PCB
私有 数据块
程 序 段
进程的结构
• 程序和进程不一定具有一一对应的关系。
2.4 与程序的区别
2、进程是一个独立的运行单位,能与其它进程并行(并 发)活动。而程序则不是。
3、进程是竞争计算机系统有限资源的基本单位,也是进 行处理机调度的基本单位。
4、一个程序可以作为多个进程的运行程序,一个进程也 可以运行多个程序。
第三章Operating_System进程管理
作业的概念主要用于批处理操作系统;而进程 的概念几乎用于所有的多道系统中。
5. 进程的组成
程序:描述进程要完成的功能。 数据:程序执行时需要的数据。 进程控制块(PCB):存储有关进程的
各种信息,操作系统根据它来控制和管 理进程。
6 进程控制块 (PCB, process control block)
进程控制信息:
– 当前状态; – 优先级(priority); – 代码执行入口地址; – 程序的外存地址; – 运行统计信息(执行时间、页面调度); – 进程间同步和通信信息;阻塞原因
资源管理信息:虚拟地址空间的现状、打开文件列 表
CPU现场保护结构:寄存器值(通用、程序计数器 PC、状态PSW)
进程与程序的组成不同:进程的组成包括程序、数据和 进程控制块(即进程状态信息)。
进程具有并发特征(独立性和异步性) ;而程序没有。 进程与程序的对应关系:通过多次执行,一个程序可对
应多个进程;通过调用关系,一个进程可包括多个程序。
4.作业与进程的区别
作业是用户向计算机提交任务的实体,被提交 后进入外存的作业等待队列。而进程是完成用 户任务的执行实体,被创建后,总有相应部分 常驻内存;
分配处理机资源;
2. 转换
进程创建(Enter):系统创建进程,形成 PCB,分配所需资源,排入暂停进程表 (可为一个队列);
调度运行(Dispatch):从暂停进程表中选 择一个进程(要求已完成I/O操作),进入 运行状态;
暂停运行(Pause):用完时间片或启动I/O 操作后,放弃处理机,进入暂停进程表;
顺序执行的特征
– 顺序性:按照程序结构所指定的次序(可能有分支或循环)
进程概念、进程控制
3.1 进程的概念
进程的概念是60年代初首先由麻省理工学院 进程的概念是60年代初首先由麻省理工学院 60 MULTICS系统和IBM公司的CTSS/360系统 系统和IBM公司的CTSS/360 的MULTICS系统和IBM公司的CTSS/360系统 引入的。进程有很多各式各样的定义, 引入的。进程有很多各式各样的定义,如: 进程是一个可以并行执行的计算部分 进程是一个抽象实体,当它执行某个任务时, 进程是一个抽象实体,当它执行某个任务时, 将要分配和释放各种资源 进程是一个独立的可以调度的活动 等等
2.进程控制信息: 2.进程控制信息: 进程控制信息
当前状态(就绪态、执行态、等待态) 当前状态(就绪态、执行态、等待态) 进程优先级(priority) 进程优先级(priority) 进程开始地址 运行统计信息, 运行统计信息,进程占有和利用资源的情况 通信信息
27
ห้องสมุดไป่ตู้
3.资源管理信息: 3.资源管理信息: 资源管理信息 有关存储器的信息 使用输入输出设备的信息 有关文件系统的信息等 4.CPU现场保护信息 现场保护信息: 4.CPU现场保护信息: 存储退出执行时的进程现场数据, 存储退出执行时的进程现场数据,当该进 程重新恢复运行时恢复处理器现场。 程重新恢复运行时恢复处理器现场。 •包括通用寄存器内容、控制寄存器内容、 包括通用寄存器内容、控制寄存器内容、 包括通用寄存器内容 用户堆栈指针、系统堆栈指针等。 用户堆栈指针、系统堆栈指针等。
25
PCB的内容 不同系统不尽相同) PCB的内容 (不同系统不尽相同)
26
PCB的内容 PCB的内容
1.进程描述信息: 1.进程描述信息: 进程描述信息
进程标识符(process ID,唯一, 进程标识符(process ID,唯一,通常是一个整 数)或进程名 用户名或用户标识符(user 用户名或用户标识符(user ID) 家族关系
操作系统-徐甲同 2版 习题答案 第三章进程-死锁
计算机操作系统
第三章 进程管理
3.破坏“循环等待”条件 采用资源有序/顺序分配法: 把系统中所有资源编 号, 进程在申请资源时必须严格按资源编号的递增次 序进行,否则操作系统不予分配。打破环。 例如:1,2,3,…,10
计算机操作系统
第三章 进程管理
R1
A
B
此列子表明; 进程竞争资源有可能死锁。 但不一定就会死锁,这取决于各 进程的推进速度和对资源的请求 顺序。 死锁是一种与时间有关的错误。 进程竞争的资源应是互斥
R2
进程死锁例1的环路表示
3.4
计算机操作系统
第三章 进程管理
A r1
死锁的举例 例2:
进 程 A A r2 A r3 A r4 B r1 进 程 B B r2 B r3 B r4 请求 读卡 机请 求打 印机 释放 打卡 机 释放 读卡 机 读卡 机 请求 打印 机 请求 读卡 机 释放 打印 机 释放 读卡 机 打印 机
4、 Ar1 Br1 Ar2 Br2 Ar3 Ar4 Br3 Br4
3.6
计算机操作系统
第三章 进程管理
二、产生死锁的四个必要条件
1) 互斥条件(资源独占): 一个资源每次只能给一个进程使用 2) 不可剥夺条件(不可强占): 资源申请者不能强行的从资源占有者手中夺取资 源, 资源只能由占有者自愿释放 3) 请求和保持条件: (部分分配,占有申请) 在申请新的资源的同时保持对原有资源的占有。 4) 循环等待条件: 存在一个进程-等待资源环形链 {P1 , P2 , … , Pn}, 其中P1等待P2占有的资源, P2等待P3占有的资源, …, Pn等待P1占有的资源。
第3章 计算机操作系统答案 进程管理
第三章进程管理一、选择题:1、下面过于程序的描述,正确的是()A. 程序执行的最终结果受到外界因素的影响,跟初始条件无关B. 程序执行的最终结果跟速度有关C. 程序是按前后次序相继地进行计算机操作序列集合,是一个静态的概念;D. 程序只能通过顺序执行2、程序的顺序执行有以下特点()A. 顺序性、封闭性、独立性B. 顺序性、封闭性、可再现性C. 顺序性、封闭性、随机性D. 顺序性、随机性、独立性3、程序A、B共享变量N,执行次A都要操作变量N,N=N+1,每执行次B都要print(N),N=0,初始值为N=0。
若执行顺序为先A后B,其结果为()A. 1 1 0B. 0 1 0C. 1 0 1D. 0 0 14、如上题13所述,执行先B后A,其结果为()A. 1 1 0B. 0 1 0C. 1 0 1D. 0 0 15、如上题所述,执行为A在B中间,起结果为.()A. 1 1 0B. 0 1 0C. 1 0 1D. 0 1 16、下面关于进程描述完全的是()A. 进程是可以并发执行的计算部分;B. 进程是一个独立的调度活动.C. 进程是一个抽象实体.D. 进程是并发执行的过程中分配和管理资源的基本单位。
7、现代操作系统的特点()A. 程序的并发执行;B. 系统所拥有的资源被共享;C. 用户随机地使用系统资源;D. 以上三者都是。
8、进程和程序的区别是()A. 进程是一个动态的概念,而程序则是一个静态的概念;B. 进程具有并发性而程序没有;C. 进程是一个独立的调度活动.D. A和B都正确。
9、多道程序系统中的程序执行的特点为()A. 独立性、随机性、资源共享性;B. 顺序性、封闭性、可再现性;C. 顺序性、封闭性、随机性;D. 顺序性、随机性、独立性;10、描述信息所包括的下列描述不正确的是()。
A. 进程名B. 用户名C. 家族关系D. 用户资源11、现代oc的3个特点不包括()。
A. 程序并发执行B. 进程优先级C. 系统所拥有的资源共享D. 用户随即使用系统资源12、与进程优先级有关的PCB表项不包括()。
第三章进程管理
第三章进程管理第三章进程管理引言:在所有采用微内核结构的操作系统中,都涉及到了“进程”的概念。
“进程”犹如操作系统的灵魂伴随操作系统始终,对进程进行控制、调度、完成进程间通信,以及解决进程死锁问题等就构成了进程管理的主要内容。
进程还是操作系统中独立运行的基本单位,只有深刻理解了进程的概念,才能够更好地理解操作系统其他各部分的功能和工作流程。
§3.1 为什么要引入进程的概念§3.1.1 从顺序程序设计谈起(1)什么是顺序程序在计算机上运行的程序是众多指令有序的集合,每一个程序只能完成预先规定的任务和操作。
在早期的计算机系统中,只有单道程序执行的功能,也就是说,每次只允许一道程序独立运行。
在这个程序的运行过程中,将占用整个计算机系统资源,而且系统将按照程序步骤顺序执行,其他程序只能处于等待状态。
因此,从宏观上看,各个程序是以线性状态排列并顺序执行的。
(2)顺序程序的特征a. 顺序性CPU单步顺序地执行程序,无论程序下一步操作是否需要等待上一步操作的结果都必须等待上一步操作结束后才能开始,无法实现并发执行。
b. 封闭性资源独占:只有正在执行的程序本身所规定的动作才能改变当前资源状态。
结果封闭:一旦程序开始运行后,其输出结果就不受外因的干扰。
c. 可再现性程序不受外部条件的影响,只要系统资源充足,在给定相同初始条件的情况下,无论程序执行多少次,总能得到相同的执行结果。
§3.1.2 程序的并发执行和资源共享由于单道程序执行过程中浪费了很多系统资源,因此,人们设法在只有一个处理器的系统中让多个程序同时执行。
这里应注意并发执行和多个程序在多个处理器环境下的并行执行。
(1)程序并发执行的定义多道程序在计算机中交替执行,当一道程序不占用处理器时,另一道程序马上接管CPU处理权,大大提高了处理器的使用率。
尽管在每一时刻或者说某一时刻CPU中仍然只有一道程序在执行,但是由于主存中同时存放了多道程序,在同一时间间隔内,这些程序可以交替的进行,从而提高CPU的使用率。
21central_操作系统 第三章进程管理(死锁问题2)
进
程 管
银行家算法
理
银行家算法是最有代表性的避免死锁算 法,是Dijkstra提出的银行家算法。这是 由于该算法能用于银行系统现金贷款的 发放而得名。为实现银行家算法,系统 中必须设置若干数据结构。
3
进
程 一、银行家算法中的数据结构
管 理
1 可利用资源向量Available
是一个含有m个元素,其中的每一个元素代
13
进
程 封锁进程:是指某个进程由于请求了超过了系 管 统中现有的未分配资源数目的资源,而被系统 理 封锁的进程。
非封锁进程:即没有被系统封锁的进程资源分 配图的化简方法:假设某个RAG中存在一个进 程Pi,此刻Pi是非封锁进程,那么可以进行如 下化简:当Pi有请求边时,首先将其请求边变 成分配边(即满足Pi的资源请求),而一旦Pi的所 有资源请求都得到满足,Pi就能在有限的时间 内运行结束,并释放其所占用的全部资源,此 时Pi只有分配边,删去这些分配边(实际上相 当于消去了Pi的所有请求边和分配边),使Pi 成为孤立结点。(反复进行)
7
要记住的一些变量的名称
1 Available(可利用资源向量) 某类可利用的资源数目,其初值是系统中所配置的该类全部可用 资源数目。 2 Max最大需求矩阵
某个进程对某类资源的最大需求数 3 Allocation分配矩阵 某类资源当前分配给某进程的资源数。
4 Need需求矩阵 某个进程还需要的各类资源数。
进
程
安全状态的例子
管
理 例:假定系统有三个进程P1、P2、P3,共有12台磁带机。 进程P1总共要求10台磁带机,P2和P3分别要求4台和九 台。设在T0时刻,进程P1、P2和P3已经获得5台、2台和
计算机操作系统课后题参考答案
第一章操作系统引论1.设计现代OS的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS的作用可表现在哪几个方面?答:(1)OS作为用户与计算机硬件系统之间的接口(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象12.试从交互性、及时性以及可靠性方面,将分时系统与实时系统进行比较。
答:(1)及时性:实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微妙。
(2)交互性:实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。
不像分时系统那样能向终端用户提供数据和资源共享等服务。
(3)可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。
因为任何差错都可能带来巨大的经济损失,甚至是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。
13.OS有哪几大特征?其最基本的特征是什么?答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。
14.处理机管理有哪些主要功能?它们的主要任务是什么?答:处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度;进程管理:为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换。
进程同步:为多个进程(含线程)的运行进行协调。
通信:用来实现在相互合作的进程之间的信息交换。
处理机调度:(1)作业调度。
从后备队里按照一定的算法,选出若干个作业,为他们分配运行所需的资源(首选是分配内存)。
(2)进程调度:从进程的就绪队列中,按照一定算法选出一个进程,把处理机分配给它,并设置运行现场,使进程投入执行。
第二章进程管理6.试从动态性,并发性和独立性上比较进程和程序?答:(1)动态性是进程最基本的特性,表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,由撤销而消亡。
操作系统 第三章 进程管理
第一章 操作系统引论
3)
在PCB中还存放一些与进程调度和进程对换有关的信 息,包括: ① 进程状态,指明进程的当前状态, 作为进 程调度和对换时的依据;② 进程优先级,用于描述进程使 用处理机的优先级别的一个整数, 优先级高的进程应优先 获得处理机; ③ 进程调度所需的其它信息,它们与所采 用的进程调度算法有关,比如,进程已等待CPU的时间总 和、 进程已执行的时间总和等;④ 事件,是指进程由执 行状态转变为阻塞状态所等待发生的事件,即阻塞原因。
3.1.4 进程的特征与状态
1. 进程的特征和定义 1) 结构特征 2) 动态性 3) 并发性 4) 5) 异步性
第一章 操作系统引论
(1) 进程是程序的一次执行。 (2) 进程是一个程序及其数据在处理机上顺序执行时所 发生的活动。 (3) 进程是程序在一个数据集合上运行的过程,它是系 统进行资源分配和调度的一个独立单位。 在引入了进程实体的概念后,我们可以把传统OS中的 进程定义为:“进程是进程实体的运行过程,是系统进行 资源分配和调度的一个独立单位”。
第一章 操作系统引论
4)
进程控制信息包括:① 程序和数据的地址, 是指进 程的程序和数据所在的内存或外存地(首)址,以便再调度 到该进程执行时,能从PCB中找到其程序和数据;② 进程 同步和通信机制,指实现进程同步和进程通信时必需的机 制, 如消息队列指针、信号量等,它们可能全部或部分地 放在PCB中; ③ 资源清单,是一张列出了除CPU以外的、 进程所需的全部资源及已经分配到该进程的资源的清单; ④ 链接指针, 它给出了本进程(PCB)所在队列中的下一个 进程的PCB的首地址。
第一章 操作系统引论
2)
在进程运行期间,由于出现某些错误和故障而迫使进程 终止。这类异常事件很多,常见的有:① 越界错误。这是指 程序所访问的存储区,已越出该进程的区域; ② 保护错。进 程试图去访问一个不允许访问的资源或文件,或者以不适当 的方式进行访问,例如,进程试图去写一个只读文件; ③ 非 法指令。程序试图去执行一条不存在的指令。出现该错误的 原因,可能是程序错误地转移到数据区,把数据当成了指令; ④ 特权指令错。用户进程试图去执行一条只允许OS执行的指 令; ⑤ 运行超时。进程的执行时间超过了指定的最大值; ⑥ 等待超时。进程等待某事件的时间, 超过了规定的最大值; ⑦ 算术运算错。进程试图去执行一个被禁止的运算,例如, 被0除;⑧ I/O故障。这是指在I/O过程中发生了错误等。
操作系统第二、三章 进程管理习题
第二、三章进程管理习题一、选择题1.从静态角度上看,进程是有A、B、C三部分组成,其中C是进程存在的唯一标志。
当几个进程共享A时,A应当是可重入代码。
A,B,C:(1)JCB;(2)PCB;(3)DCB;(4)FCB;(5)程序段;(6)数据段;(7)I/O缓冲区。
2.进程的三个基本状态是A、B、C。
由A到B是由进程调度所引起;由B到C是正在执行的进程发生了某事件,使之无法执行而暂停。
A,B,C:(1)挂起;(2)阻塞;(3)就绪;(4)执行。
3.产生死锁的四个必要条件是互斥条件、A、不剥夺条件和B。
A:(1)请求和阻塞条件;(2)请求和释放条件;(3)请求和保持(占有且等待)条件;(4)释放和阻塞条件;(5)释放和请求条件。
B:(1)线性增长条件;(2)环路条件;(3)无序释放条件;(4)有序释放条件;(5)无序请求条件。
4.A是一种只能由P和V操作所改变的整型变量,A可用于实现进程的B和C,B是排它性地访问临界资源。
A:(1)控制变量;(2)锁;(3)整型信号量;(4)记录型号量。
B,C:(1)同步;(2)通信;(3)调度;(4)互斥。
5.对于记录型信号量,在执行一次P操作时,信号量的值应当A;当其值为B时,进程应阻塞。
在执行V操作时,信号量的值应当C;当其值为D时,应唤醒阻塞队列中的进程。
A,C:(1)不变;(2)加1;(3)减1;(4)加指定数值;(5)减指定数值。
B,D:(1)大于0;(2)小于0;(3)大于等于0;(4)小于等于0。
6.我们如果为每一个作业只建立一个进程,则为了照顾短作业用户,应采用A,为照顾紧急作业的用户,应采用B,而能使短作业、长作业及交互作业用户都比较满意时,应采用C。
A,B,C:(1)FCFS调度算法;(2)短作业优先调度算法;(3)时间片轮转法;(4)多级反馈队列调度算法;(5)基于优先权的剥夺调度算法。
二、填空题1. 在单用户单任务环境下,用户独占全机,此时机内资源的状态,只能由运行程序的操作加以改变,此时的程序执行具有性和性。
操作系统课件进程及进程管理
3.1 进程的引入
3-1-4 多道程序设计
➢ 定义 在采用多道程序设计的计算机系统中,允许多个程序同时进
入一个计算机系统的主存储器并运行,这种让多个程序同时进 入计算机计算的方法称为多道程序设计。 ➢ 目的
提高处理器的效率,从而提高整个系统的效率 ➢ 必须解决的问题
中断处理、进程管理、资源管理中的基本操作 ➢ 原子操作
所谓原子操作是指:一个操作中的所有动作,要么全做,要么全不做。 换言之,原子操作是一个不可分割的操作
3.2 进程
▪ 进程的创建
➢ 进程图 -进程图是用于描述进程家族关系的有向树 -子进程可以继承父进程所拥有的资源,当子进程撤销时,应将从父进程
那里获得的资源归还给父进程;在撤销父进程时,也必须同时撤销其所有的 子进程 ➢ 引起创建进程的事件
再按新进程的PCB中的处理机状态设置CPU环境 ➢ 进程唤醒过程
调用唤醒原语wakeup( )将等待该事件的进程唤醒 -把被阻塞进程从等待该事件的阻塞队列中移出 -将其PCB中的现行状态由“阻塞”改为“就绪” -然后再将该进程插入到就绪队列中
3.2 进程
▪ 进程的挂起与激活
➢ 进程的挂起过程 当出现了引起进程挂起的事件时,系统就利用挂起原语suspend( )将指
态,亦即进程的执行受到阻塞,故称这种状态为阻塞状态,有时也称为“等 待”状态或“睡眠”状态。 ▪ 进程状态的转换
- 就绪→执行状态 处于就绪状态的进程,当进程调度为之分配了处理机后 - 执行→阻塞状态 正在执行的进程因发生某种事件而 无法执行 - 执行→就绪状态 正在执行的进程如因时间片用完或 一个优先权高的进程到来而被暂停执行 - 阻塞→就绪状态 处于阻塞状态的进程,其等待的事件已经发生
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6
2011年9月16日星期五
进程创建与撤消
进程的创建方式
(1) 由系统程序模块统一创建,例如在批处理系统中,由操作系统 的作业调度程序为用户作业创建相应的进程以完成用户作业所 要求的功能。 (2) 由父进程创建,例如在层次结构的系统中,父进程创建子进程 以完成并行工作。
由系统统一创建的进程之间的关系是平等的,它们之间 一般不存在资源继承关系。而在父进程创建的进程之间 则存在隶属关系,且互相构成树型结构的家族关系。属 于某个家族的一个进程可以继承其父进程所拥有的资源。 另外,无论是哪一种方式创建进程,在系统生成时,都 必须由操作系统创建一部分承担系统资源分配和管理工 作的系统进程。
操作系统中,将进程空间划分为用户空间和系统空间, 分别运行用户进程与系统核心进程。OS通过PSW设置 不同的运行模式(用户态与核心态)来限制用户进程和系 统进程对系统资源的访问权限,从而对系统的重要信息 进行保护。
4
2011年9月16日星期五
原语
一般地,把系统态下执行的某些具有特定功能的 程序段称为原语。 原语可分为两类:一类是机器指令级的,其特点 是执行期间不允许中断,正如在物理学中的原子 一样,在操作系统中,它是一个不可分割的基本 单位。另一类是功能级的,其特点是作为原语的 程序段不允许并发执行。 这两类原语都在系统态下执行,且都是为了完成 某个系统管理所需要的功能和被高层软件所调用。
3
2011年9月16日星期五
进程空间
进程空间(虚空间):任一进程自己的地址空间。由一些 连续或不连续的存储块所组成 。主要用于存储相应的进 程映像。 进程空间的大小只与处理机的位数有关。例如,一个16 位长处理机的进程空间大小为216,而32位长处理机的 进程空间大小为232。程序的执行都在进程空间内进行。 用户程序、进程的各种控制表格等都按一定的结构排列 在进程空间中。 如何保证系统安全、可靠地运行?在UNIX以及Linux等
20
2011年9月16日星期五
临界区:当若干个进程均要使用同一临界资源时, 它们必须以互的方式进行。把程序中使用某一临界 资源的那段代码称为程序的临界区(critical section)。
21
2011年9月16日星期五
设有两个计算进程PA,PB共享内存MS。其中 MS 分为三个领域,即系统区、进程工作区和数据区。 这里数据区被划分大小相等的块,每个块中既可能 放有数据,也有可能未放有数据。系统区主要是堆 栈S,其中存放那些空数据块的地址(如图)。
第三章 进程管理
主讲:何中胜 计算机科学工程系
1
2011年9月16日星期五
3.4 进程的控制
2
2011年9月16日星期五
进程和处理机管理的一个重要任务是进程控制。 所谓进程控制,就是系统使用一些具有特定功能 的程序段来创建、撤消进程以及完成进程各状态 间的转换,从而达到多进程高效率并发执行和协 调、实现资源共享的目的。同时,为了保护系统 的关键数据不被破坏,系统根据进程的性质限制 其对系统资源的门市部,以保证系统安全、可靠 地运行。
多进程共享内存栈区示例
22
2011年9月16日星期五
当进程PA或PB要求空数据块时,从堆栈最顶部 当进程P 要求空数据块时, 指针所指的位置) (top指针所指的位置)取出所需数据块。当进程 指针所指的位置 取出所需数据块。 释放数据块时, PA或PB释放数据块时,则把所释放数据块的地 址放入堆栈顶部。 为取空数据块过程, 址放入堆栈顶部。令getspace 为取空数据块过程, release(ad)为释放数据块过程。这里,ad为待释放 为释放数据块过程。 为释放数据块过程 这里, 为待释放 数据块的地址。如果堆栈S非空的话,进程PA或 数据块的地址。如果堆栈S非空的话,进程P 是可以用任意的顺序释放和获取数据块的。 PB是可以用任意的顺序释放和获取数据块的。执 就是获取一个空数据块, 行getspace就是获取一个空数据块,而执行 就是获取一个空数据块 release(ad)就是释放一个地址为 的数据块。然而, 就是释放一个地址为ad的数据块 就是释放一个地址为 的数据块。然而, 由下面的描述可以看到,在进程并发执行时, 由下面的描述可以看到,在进程并发执行时, getspace或 release(ad)将有可能完不成所要求的功 或 将有可能完不成所要求的功 可进一步描述为: 能。getspace和 release(ad)可进一步描述为: 和 可进一步描述为
7
2011年9月16日星期五
进程创建与撤消
无论是系统创建方 式还是父进程创建 方式,都必须调用 创建原语来实现。 创建原语扫描系统 的PCB链表,在 找到一定PCB表 之后,填入调用者 提供的有关参数, 最后形成代表进程 的PCB结构。这 些参数包括:进程 名、进程优先级P 0 、进程正文段起 始地址d0 、资源 清单R0等。其实 现过程如图
11
Hale Waihona Puke 2011年9月16日星期五
这里,转进程 调度程序是很 重要的,否则, 处理机将会出 现空转而浪费 资源。
12
2011年9月16日星期五
当等待队列中的进程所等待的事件发生时,等待该事件 的所有进程都将被唤醒。 唤醒一个进程有两种方法:一种是由系统进程唤醒。另 一种是由事件发生进程唤醒。当由系统进程唤醒等待进 程时,系统进程统一控制事件的发生并将“事件发生” 这一消息通知等待进程。从而使得该进程因等待事件已 发生而进入就绪队列。由事件发生进程唤醒时,事件发 生进程和被唤醒进程之间是合作关系。因此,唤醒原语 既可被系统进程调用,也可被事件发生进程调用。称调 用唤醒原语的进程为唤醒进程。唤醒原语首先将被唤醒 进程从相应的等待队列中摘下,将被唤醒进程置为就绪 状态之后,送入就绪队列。在把被唤醒进程送入就绪队 列之后,唤醒原语既可以返回原调用程序,也可以转向 进程调度,以便让调度程序有机会选择一个合适的进程 执行。如图
13
2011年9月16日星期五
14
2011年9月16日星期五
进程上下文
动态性是进程的重要特征之一,体现在与之相关 有系统数据的变化。如程序计数器、寄存嚣、程 序状态字、堆栈内容的变化等。这些寄存器的值、 堆栈内容待是进程控制的主要依据,它们反映也 进程执行的当前情况以及系统变化的历史数据, 称之为处理机上下文 。 当一个进程切换到另一个进程时相应的PCB、处 理机上下文的内容都 要发生变化。因此常把计算 机系统中与执行该进程有关的各种寄存器的值、 程序段在经过编译之后形成的机器指令代码集 (或称正文段)、数据集及各种堆栈值和PCB结 构定义为进程上下文。
15
2011年9月16日星期五
这里,有关寄存器和栈区的内容是重要的。例如, 这里,有关寄存器和栈区的内容是重要的。例如, 没有程序计数器PC和程序状态寄存器 和程序状态寄存器PS, 没有程序计数器 和程序状态寄存器 ,CPU将 将 无法知道下条待执行指令的地址和控制有关操作。 无法知道下条待执行指令的地址和控制有关操作。 从而, 从而,从CPU是活动的观点来静态地看一个进程 是活动的观点来静态地看一个进程 时,必须把有关寄存器和栈区的内容也包括在其 无论在何种系统中, 中。无论在何种系统中,进程上下文的各部分都 必须按一定的规则有机地组合起来以便于执行。 必须按一定的规则有机地组合起来以便于执行。 16 2011年9月16日星期五
进程上下文可按一定的执行层次组合,例如用户级上下 文、系统级上下文等。显然,一个进程的执行是在该进 程的上下文中执行,而当系统调度新进程占有处理机时, 新老进程的上下文发生转换。 在UNIX System Ⅴ中,进程上下文由用户级上下文、寄 存器上下文以及系统级上下文组成。用户级上下文由进 程的用户程序段部分编译而成的用户正文段、用户数据、 用户栈等组成。而寄存器上下文则由程序寄存器PC、处 理机状态字寄存器PS、栈指针和通用寄存器的值组成。 其中PC给出CPU 将要执行的下条指令的虚地址;PS给 出机器与该进程相关联时的硬件状态,例如当前执行模 式、能否执行特权指令等;栈指针指向下一项的当前地 址,而通用寄存器则用于不同执行模式之间的参数传递 等。
19
2011年9月16日星期五
进程的互斥
资源共享所引起的制约:进程的并发执行不仅仅 是用户程序的执行开始时间的随机性和提高资源 利用率的结果,也是资源有限性导致资源的竞争 与共享对进程的执行过程进行制约所造成的。 临界资源:把某一时刻仅允许一个进程访问的共 享资源称为临界资源(critical resource)
5
2011年9月16日星期五
显然,系统在创建、撤消一个进程以及要改变进程的状 态时,都要调用相应的程序段来完成这些功能。那么, 这些程序段是不是原语呢?如果它们不是原语,则由上 述原语的定义可知,这些程序段是允许并发执行的。然 而,如果不加控制和管理地让这些控制进程状态转换及 创建和撤消进程的程序段并发执行,则会使得其执行结 果失去封闭性和可再现性,从而达不到进程控制的目的。 反过来,如果对这些程序段采用下面章节中所述的控制 方法使其在并发执行过程中也能完成进程控制任务的话, 将会大大增加系统的开销和复杂度。 因此,在操作系统中,通常把进程控制用程序段做成原 语。用于进程控制的原语有:创建原语、撤消原语、阻 塞原语、唤醒原语等。
getspace:
24
2011年9月16日星期五
t1:g ← stack [top] → g=stack [ h0+1]; : ] ]; t2:top ← top-1 : → top=h0; ;
9
2011年9月16日星期五
进程创建与撤消
撤消原语首先检查 PCB进 程链或进程家族,寻找所 要撤消的进程是否存在。 如果找到了所要撤消的进 程的 PCB结构,则撤消原 语释放该进程所占有的资 源之后,把对应的 PCB结 构从进程链或进程家族中 摘下并返回给 PCB空队列。 如果被撤消的进程有自己 的子进程,则撤消原语先 撤消其子进程的 PCB结构 并释放子进程所占用的资 源之后,再撤消当前进程 的 PCB结构和释放其资源。 如图