《操作系统原理》第二章 进程管理

合集下载

操作系统原理与实例分析PPT课件第二章 进程管理

操作系统原理与实例分析PPT课件第二章 进程管理
然后再将N置成“0”。程序A和B以不同的速度运行。这样,可能出现其
计算结果不可再现性,亦即,程序经过多次执行后,虽然它们执行时的
环境和初始条件相同,但得到的结果却各不相同。
a
7
例子:变量X为共享变量,程序1和程序2都要对X进 行访问,当两个程序执行的速度变化时可得到不 同的结果。
执行顺序1:程序1程序2 结果为:X增加2。
a
15
PCB包含了进程的描述信息和控制信息,通常有如下项目: (1) 标识符 (2) 存贮信息 (3) 现场状态 (4) 优先数 (5) 现场信息 (6) 链接字(或称队列指针) (7) 族系关系 (8) 资源清单 (9) 其他
a
16
* 标识符
分为外部标识符和内部标识符。外部标识 符由创建进程者提供,通常由字母、数字等组 成,在用户或其它进程访问该进程时使用。内 部标识符是一个整数。在操作系统的PCB表区 中,有多个PCB表,每个PCB表有一个序号,通 常将这个序号做为内部标识符,以方便系统使 用。
●暂存资源, 动态产生过程 资源分配和调度的单位
a
12
2、进程的特征
– 动态性:进程是程序在并发系统内的一次执行,一 个进程有一个从产生到消失的生命期,是进程的最 基本的特征;
– 并发性:正是为了描述程序在并发系统内执行的动 态特性才引入了进程,没有并发就没有进程,是进 程的最重要的特征,正是因为并发性,才提高了系 统资源的利用率和系统的吞吐量;
并发是指在某一时间间隔内计算机系统中 存在着多个程序活动。
并行是指在同一时刻计算机内有多个程序 都在执行,这只有在多CPU的系统中才能实现。 在单CPU的计算机系统中,多个程序是不可能 同时执行的。并发是从宏观上(这种“宏观” 也许不到一秒的时间)看多个程序的运行活动, 这些程序在串行的、交错的运行,由操作系统 负责这些程序之间的运行切换,人们从外部宏 观上观察,有多个程序都在系统中运行。

《操作系统原理》第二章进程管理

《操作系统原理》第二章进程管理

冲区空时等待。
02
读者-写者问题
多个进程共享一个数据文件,分为读者和写者两类。读者只读取文件不
修改,写者需要修改文件。需要保证多个读者可以同时读取文件,但写
者在修改文件时需要独占访问。
03
哲学家进餐问题
五个哲学家围坐在圆桌旁,思考和进餐交替进行。每个哲学家之间有一
只筷子,进餐时需要拿起左右两只筷子。需要保证不会出现死锁情况。
《操作系统原理》第二章进程管理
目录
• 进程管理概述 • 进程创建与终止 • 进程同步与互斥 • 进程通信机制 • 线程概念及多线程模型 • 进程调度算法
01 进程管理概述
进程概念及特性
进程定义
进程是计算机程序关于数据集合上的 一次运行活动,是系统进行资源分配 和调度的基本单位。
进程特性
动态性、并发性、独立性、异步性、 结构性。
僵尸进程
僵尸进程是指子进程已经结束,但其父进程尚未回收其PCB等资源,导致该子进程仍然留在系统中占用一定的资 源。为了避免僵尸进程对系统的影响,父进程需要在子进程结束后及时回收其资源,或者通过信号机制等方式来 通知父进程进行资源回收。
例子:创建和终止一个进程
创建进程
在Unix/Linux系统中,可以使用fork()系统调用来创建一个新进程。fork()函数会复制 当前进程的PCB等资源,并在新进程中返回0,而在原进程中返回新进程的PID。通过
进程管理重要性
资源管理
系统效率
进程是系统资源分配的基本单位,通过对 进程的管理,实现对CPU、内存、I/O设备 等资源的合理分配和使用。
通过对进程的有效调度和管理,提高系统 的吞吐量和响应速度,改善系统性能。
系统稳定性
用户体验

操作系统原理教程第2章

操作系统原理教程第2章

超线程的工作
– 超线程处理器被视为两个分离的逻辑处理器,应用程序
不须修正就可使用这两个逻辑处理器. – 每个逻辑处理器都可独立响应中断.第一个逻辑处理器 可追踪一个软件线程,而第二个逻辑处理器则可同时追 踪另一个软件线程. – 由于两个线程共同使用同样的执行资源,因此不会产生 一个线程执行的同时,另一个线程闲置的状况.
要进行合理的控制和协调才能正确执行
资源共享关系 相互合作关系
进程的同步与互斥
进程同步与互斥的概念 进程同步机制应遵循的原则 利用锁机制实现同步
进程同步与互斥的概念
临界资源
– 在系统中有许多硬件或软件资源,在一段时间内只允许一个进程访
问或使用,这种资源称为临界资源.
临界区
– 每个进程中访问临界资源的那段代码称为临界区
信号量的操作
(1)P操作:记为P(S),描述为:
– – – – – – – –
P(S) { S=S-1; if (S<0) W(S); } V(S) { S=S+1; if (S<=0) R(S); }
(2)V操作:记为V(S),描述为:
利用PV操作实现互斥 利用PV操作实现互斥
概念:
– 互斥信号量是根据临界资源的类型设置的.有几种
进程的定义
– 一个程序在一个数据集合上的一次运行过程.所以
一个程序在不同数据集合上运行,乃至一个程序在 同样数据集合上的多次运行都是不同的进程.
进程的特征
– – – – –
动态性 并发性 独立性 异步性 结构性
进程的状态
进程的三种基本状态 进程的其它两种状态 进程状态间的转换
进程的三种基本状态
就绪状态
– 【例2-5】有4位哲学家围着一个圆桌在思考和进餐,

操作系统原理第2章

操作系统原理第2章
实现进程阻塞的是 block 原语,当一个进程无法 继续执行时,就可以调用 block 原语把自己阻塞, 因此说进程的阻塞是一种主动行为。 block 原语 的处理流程为:
①立即停止执行。 ②将 PCB 中的现行状态由“执行”改为“阻塞” 并将 PCB插入相应阻塞队列。 ③转调度程序进行重新调度,将处理机分配给另一就绪 进程并进行切换。 ④将被阻塞进程的处理机状态保留在 PCB 中,再按新进 程的PCB中的处理机状态设置CPU的环境。
2.3.3 进程的阻塞与唤醒
• ③新数据尚未到达,如果两个进程存在相互合作 关系,一个进程所处理的数据是另一个进程的输 出数据,则在新数据未到达前该进程只有阻塞。 • ④无新工作可做,系统中有一些进程,具有某制 定功能,在新任务没有到达之前都处于阻塞状态, 只有当新任务到来时才将该进程唤醒。
2.3.3 进程的阻塞与唤醒
PCBn
图2-4 PCB的索引表组织方式
2.进程控制块的组织方式
执行指针 PCB1 PCB2 PCB3 就绪表队列指针 PCB4 5 2 7
阻塞队列指针
„„
PCBn
9
图2-4 PCB的链接表组织方式
2.2.3 进程的基本状态
运行、就绪、阻塞是进程在整个生命周期所要
经历的三种基本状态 : • 运行:当一个进程占有处理机运行时,则称该进 程处于运行状态。此状态进程只有一个 • 就绪:当一个进程获得了除处理机以外的一切所 需资源,一旦得到处理机即可运行,则称此进程 处于就绪状态。 就绪队列 • 阻塞:称等待或睡眠状态,一个进程正在等待某 一事件发生(例如请求 I/O 而等待 I/O 完成等)而 暂时停止运行,这时即使把处理机分配给进程也 无法运行,故称该进程处于阻塞状态。 阻塞队列

第2章 操作系统进程管理PPT课件

第2章 操作系统进程管理PPT课件
8
2.1.2 程序并发执行及其特征 ■ 程序并发执行概念
下一步 前驱关系
输入:
I1
I2
I3
并行
执行顺序 并行
计算:
并行
输出:
C1
C2
C3
时间:5个Δt
P1
P2
P3
结束
t
t0 Δt t1
t2
t3
t4
t5
t6
三个程序并发执行示例 9
2.1.2 程序并发执行及其特征
■ 程序并发执行概念
● 作业吞吐量是指在给定时间间隔内所完成作业 的数量。 ● CPU的利用率。 ● 单道程序系统的缺点:资源浪费、效率低、周 转时间长等。 ● 多道程序系统的优点:资源利用率高、吞吐量 大等。
4
2.1 进程概念
2.1.1 程序顺序执行的特征 ■ 顺序程序设计
5
2.1 进程概念
2.1.1 程序顺序执行的特征
■ 顺序程序设计
6
三个程序间顺序执行
程序1:I1 C1 P1 程序2: I2 C2 P2 程序3:I3 C3 P3
输入:
计算:
输出:
I1
I2
I3
C1 P1
C2 P2
C3 P3
9个Δt 结束
A
0 Δt 1
下一步
1/8Δt = 0.125道程序/Δt
等待I/O的时间
结束
(6个Δt)
A
AI/O
t
78
11
(a)单道情况
2/9Δt = 0.222道程序/Δt
AB
0 Δt 1 2
AB
AI/O
BI/O
7 89
(b)两道情况

第二章 进程管理作业题

第二章 进程管理作业题

操作系统原理第二章作业一、应用题1、进程之间存在哪几种制约关系?各是什么原因引起的?以下活动各属于哪种制约关系?(1)若干学生去图书馆借书(2)两队学生进行篮球比赛(3)流水线生产的各道工序(4)商品生产和消费进程之间存在两种制约关系,即同步和互斥。

同步是由于并发进程之间需要协调完成同一个任务时引起的一种关系,为一个进程等待另一个进程向它直接发送消息或数据时的一种制约关系。

互斥是由于并发进程之间竞争系统的临界资源引起的,为一个进程等待另一个进程已经占有的必须互斥使用的资源时的一种制约关系。

1)是互斥关系,同一本书只能被一个学生借阅,或者任何时刻只能有一个学生借阅一本书。

2)是互斥关系,篮球是互斥资源。

3)是同步关系,一个工序完成后开始下一个工序。

4)是同步关系,生产商品后才能消费。

2、设P、Q、R共享一个缓冲区,P、Q构成一对生产者-消费者,R既为生产者又为消费者,使用P、V操作实现其同步。

The P,V code Using Pascalvar mutex,full,empty:semaphore; full:=1; empty:=0; mutex:=1; cobeginProcedure P Procedure Q Procedure R begin begin begin while true while true if empty:=1 then p(empty); p(full); begin P(mutex); P(mutex); p(empty); Product one;consume one; P(mutex); v(mutex); v(mutex); product; v(full); v(empty); v(mutex);end end v(full); endif full:=1 thenbeginp(full); p(mutex);消费一个产品;v(mutex);v(empty); endcoend3、某工厂有两个生产车间和一个装配车间,两个生产车间分别生产A、B两种零件,装配车间的任务是把A、B两种零件组装成产品,两个生产车间每生产一个零件后都要分别把他们送到专配车间的货架F1、F2上,F1存放零件A,F2存放零件B,F1和F2的容量均可以存放10个零件。

天大《操作系统原理》学习笔记二

天大《操作系统原理》学习笔记二

主 题题: 《操作系统原理》学习笔记 内 容容:《操作系统原理操作系统原理》》学习笔记学习笔记二二————进程管理进程管理进程管理处理机是计算机系统的核心资源。

操作系统的功能之一就是处理机管理。

计算机系统的效率主要是由处理机决定的。

处理机管理是整个操作系统的核心。

现代计算机系统多数是多道系统,且为单处理机系统。

处理机要同时运行多个作业的程序。

合理有效地管理和分配处理机资源,是操作系统的一个十分重要的任务。

处理机管理就是按照一定策略对处理机进行合理调配、以满足用户作业运行的需要。

为了准确地描述系统内多个作业的运行情况,以及对系统资源的管理和分配的情况,在现代计算机系统中都采用进程的概念。

现代计算机系统都是以进程作为分配资源和独立运行的基本单位。

所以处理机管理实质上是进程管理。

一、进程的基本概念进程的基本概念进程是操作系统中最重要的、最基本的概念。

对操作系统的设计和研究都是以进程作为出发点。

进程的概念是从程序中产生的,但它与程序有着本质的不同。

1、程序的顺序执行程序是“一组有序的操作序列”。

“操作”:机器指令、高级语言中的语句。

“有序”:操作必须按照严格的先后次序进行,必须在前一个操作完成后, 才能执行下一个操作。

一个复杂的程序也可以分为若干个程序段,各个程序段也是依照一定的次序逐个执行。

程序本身具有的顺序执行的特点。

在单道系统中程序执行时,具有顺序执行的特点,所以又把单道系统中的程序称为顺序程序。

顺序程序具有如下特性: 顺序性、程序运行时处理机必须严格按照程序所规定的顺序执行有关操作。

可再现性、如果程序在不同的时间重复执行,只要执行时的初始条件相同,程序运行结果必然相同。

封闭性、程序在运行时独占全部系统资源,这些资源的状态只由程序本身确定,只有该程序的操作才能改变资源的状态。

所以,程序在执行过程中不会受到外界因素的影响。

与时间无关性。

程序的运行结果与它执行的速度无关。

2、程序的并发执行由于通道技术和中断技术的不断完善,计算机系统出现了处理机与外部设备的并行工作方式,使得处理机可以同时运行多个用户的程序。

操作系统原理第2_2章_进程管理

操作系统原理第2_2章_进程管理

互斥使用临界资源
• 由于同一个临界资源在多个共享它的进 程中将对应多个临界区,那么怎样才能 保证诸进程间互斥地执行临界区呢? • 这就必须保证“临界区使用标志”是可 被系统中所有进程共享的全局变量,而 且诸进程对该标志的修改操作必须互斥 进行。
临界区使用原则
(也称为互斥条件)
• • • 每次只允许一个进程处于临界区(忙则等 待); 进程只能在临界区内逗留有限时间,不得使 其它进程在临界外无限期等待(有限等待) 如果临界区空闲,则只要有进程申请就立即 让其进入(空闲让进); 进入临界区的进程,不能在临界区内长时间 阻塞等待某事件,必须在一定期限内退出临 界区(让权等待) 不能限制进程的执行进度及处理机的数量
图2.27 互斥算法:第一次改进
分析:第一次改进
• 如果进程在临界区外失败,其他进程不会阻塞。 • 问题1:“忙等” • 问题2:若进程在临界区内失败且相应的flag 为true,则其他进程永久阻塞。 • 问题3:不能保证进程互斥进入临界区。请试 着按以下顺序执行:
硬件方法
• 为了解决软件方法存在的不足,有人提出了硬 件解决方法,通过屏蔽中断或采用专门的机器 指令控制同步与互斥。 • 与软件解决方法比较,这种方法减少了系统额 外开销,但由于需要太强的硬件约束条件,以 及可能导致进程饥饿与死锁现象,一直没有成 为通用的解决方法。
• 另一类解决方法是由操作系统,或专门 的程序设计语言提供的特别支持,包括 信号量方法、管程方法和消息传递方法。


分析:初步设想
例如(续)
• 根据假设,P1很快又需要进入临界区, 但是P0却只能在10分钟之后,按照turn 规定的顺序,进入临界区执行,退出时 修改turn=1。 • 即,P1必须在临界区空闲的情况下,等 待10分钟,才能使用临界区。这不符和 互斥原则,降低了系统性能。

操作系统原理 第2章 进程管理

操作系统原理 第2章 进程管理

1. 调度的类型 (1) 作业调度。又称宏观调度或高级调度。 (2) 进程调度。又称微观调度或低级调度 (3) 交换调度。又称中级调度。 2. 进程调度方式 (1)剥夺方式 (2)非剥夺方式
剥夺方式
• 剥夺方式也称抢占方式,其含义是根据某
2.1.3 进程的状态及其转换
图2.5 进程状态之间的转换
进程的基本状态
1. 就绪状态 当进程已获得除处理机以外的所有资源(处理机被 系统中的其他进程占用),一旦分到了处理机即可 立即执行时,则其处于就绪状态。 2. 执行状态 当一个进程获得必要的资源,并占有处理机(在处 理机上运行)时,则其处于执行状态。 3. 阻塞状态 进程在执行过程中,由于发生某个事件而暂时无 法执行下去时,就处于阻塞状态。
N
返回
转进程调度
图2.6 P(S)原语操作功能图
V(S)原语操作
入口
(1) S.value加1。 (2) 若S.value加1后结果大于0, 则进程继续执行。 (3) 若S.value加1后结果小于或 者等于0,则从该信号量的等 待队列L中唤醒头一个等待进 程,然后再返回原进程继续执 备和共享的文件都可 可能称为临界资源; 有几个进程共同使用的变量、数据、表格、队列 及内存工作区等也是临界资源。
2.3.2 同步的定义
把这种进程间为了完成一个共同的目标,必须互 相合作的协同工作关系、有前后次序的直接制约关系 称为进程的同步。
进程的同步与互斥的不同之处:
进程控制块
• 进程控制块是进程实体的一部分,是操作系统中
重要的记录型数据结构,其中存放了操作系统所 需的、用于描述进程情况和控制进程运行所需的 全部信息。 当系统创建一个新进程时,系统为某个程序(包含 数据段)设置一个PCB,用于进行控制和管理,进 程执行完成时,系统收回其PCB,进程随之消亡。 系统根据PCB感知相应进程的存在,故PCB是进程 存在的惟一标志。

操作系统原理第二章

操作系统原理第二章

2015-6-20
Operating System
13

Windows中的进程层次
不存在进程的层次概念,各进程相互独立;
各进程地位相同; 某些进程之间具有所属关系时,父进程通过句柄
(handler)来控制子进程,但该句柄可被交于其他 进程,从而不能构成层次结构;
2015-6-20
Operating System
操作系统原理
蔡青松 caiqs@
计算机学院
2015-6-20©2007
Operating System 1
第二章 进程与线程
2.1 进程 2.2 线程 2.3 进程间通信 2.4 经典的进程间通信(IPC)问题 2.5 进程调度 2.6 有关进程和线程的进一步研究 总结

进程的中断
进程表项保存了进程被中断时的所有信息 堆栈删除由中断硬件存入的那部分信息,取代的是将堆
栈指针指向由进程处理程序所使用的临时堆栈 对进程中断所进行的操作均由进程处理程序负责处理, 作为操作系统的服务例程,可以为所有的进程中断使用 例程结束后,调用特定过程完成剩下的操作
2015-6-20 Operating System 19

2015-6-20 Operating System 22
2.1.1 线程概念

进程与线程各自针对的问题
进程
多个程序的并发;改善系统资源利用率;提高系统吞吐 量;是系统资源分配和调度的基本单位。 线程 减小程序并发执行系统的时间空间开销,提高系统效率
在支持线程机制的操作系统中,线程作为处理机的调度
多道系统.
2015-6-20 Operating System
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本章主要内容


进程的引入和概念 进程的描述:进程状态、PCB 进程控制:创建、撤销、阻塞、唤醒… 处理机的调度 线程的引入
进程的引入和概念
程序的顺序执行 程序: 指令或语句序列的集合,体现了某种算法 所有程序是顺序的 程序的顺序执行:在任何时刻,机器只执 行一个操作,只有在前一个操作执行完后 ,才能执行后继操作。
运行 进程因某事件(I/O, etc)变成堵塞状态
时间片 已用光
某事件被解除 (如I/O完成) 阻塞
就绪
由进程状态转换图可以看出:

就绪态--运行态:处于就绪态的某进程被进程调度 程序的执行选中时。 运行态--阻塞态:是由运行进程自己主动改变的。 例:一个正在运行的进程启动了某一外围设备后, 等待该外围设备传输完成时,使自己由运行态变为 阻塞态。 阻塞态--就绪态:是由外界事件引起的。 例:上 程序把因等待这一I/O完成而阻塞的进 程变为就绪态
PCB内容
1、进程标识符:用于唯一地标识一个进程。 外部标识符:由创建者提供,通常是由字母、 数字所组成,往往是由用户访问进程时使用,便 于记忆。如计算进程、打印进程、发送进程、接 收进程等。 内部标识符:OS为每一个进程赋予了一个唯一 的整数,作为内部标识。父进程标识符、子进程 标识符、用户标识符。
进程的基本状态及其转换(3)

阻塞状态:正在执行的进程由于发生某事件 而暂时无法继续运行时,放弃处理机而进入 的状态,又称等待状态、封锁态、睡眠态。 处于阻塞态的进程在逻辑上是不能运行的 ,即使CPU空闲,该进程也不可运行 引起阻塞的事件:请求I/O,申请缓存等。
进程调度 程序把处 理机分配 给进程
进程的基本状态及其转换(1)
进程的三种基本状态:运行状态、就绪状态 和阻塞状态 进程在生命消亡前处于且仅处于三种基本 状态之一
不同系统设置的进程状态数目不同
进程的基本状态及其转换(2)


运行状态:进程占有CPU,并在CPU上运行 ;在单处理机系统只有一个进程处于执行 状态。多处理机系统则有多个处于执行状 态 就绪状态:进程已经分配了除处理机以外 的所有必要资源,只要再获得处理机就能 够执行的状态。这样的进程可能有多个, 通常排成一个队列,称就绪队列。
进程和程序的关系
3)一对多的关系 一个程序可对应多个进程,一个进程为多个程序 服务 4)并发性 多个进程实体,能在一段时间内同时执行;而程 序无法描述并发执行 5)进程具有创建其他进程的功能,而程序没有 6)操作系统中的每一个程序都是在一个进程现场中 运行的
进程分类




系统进程是操作系统管理系统资源并行活动的并发 软件;用户进程是可以独立执行的用户程序段。 系统进程之间的关系由操作系统负责;用户进程之 间的关系由用户负责。为便于用户管理自己的任务 ,操作系统提供了一套简便的任务调用命令作为协 调手段。 系统进程直接管理有关的软、硬设备的活动;用户 进程只能间接和系统资源发生关系 系统进程优先级高于用户进程。
进程
进程这个概念是为了描述系统中各并发活 动而引入的。 定义:Process 进程是具有独立功能的程序关于某个数据 集合上的一次运行活动,是系统进行资源 分配和调度的独立单位

又称任务(Task)
进程的特征

动态性 并发性 独立性 异步性 结构特征
进程的特征—动态性


进程对应程序的执行,是一个动态的过程 。进程是动态产生,动态消亡的。 进程在其生命周期: 进程由创建而产生,由调度而执行,由撤 销而消亡的过程。
新状态和终止状态 新状态(创建态):刚刚建立,还未送入就绪队列 的状态。刚创建,并为它分配资源。 终止状态:已正常结束或异常结束,但尚未撤消时 。暂留在系统中,以便其它进程去收集该进程的有 关信息。 创建态—就绪态:OS准备好再接纳一个进程时 ,把一个进程从新建状态转换到就绪状态。大多数 系统基于现有的进程数或分配给现有进程的虚存数 量设置一些限制,以确保不会因为活跃进程的数量 过多而导致系统的性能下降。
PCB内容(2)
2、进程的状态:说明进程目前所处的状态,进程可 能的状态在下一节描述。 3、CPU现场保护区:当进程由于某种原因不能继续 运行时,要将其CPU运行的现场信息保存起来,以 便下次继续运行。通常,CPU的现场信息包括:程 序计数器(PC)、工作寄存器、程序状态字等。 4、CPU的调度信息:包括进程优先级、进程所在各 种队列的指针。 5、进程要执行的程序在主存和外存起始地址,及存 取保护信息。
PCB 进程控制块
动态特征的集中反映
程序段
描述要完成的功能
数据段
操作对象及工作区
进程和程序的关系
1)动态性和静态性 进程是一个动态概念,程序是一个静态概 念。程序可以作为一种软件资源长期保存 进程是把程序作为它的运行实体,没有程 序,也就没有进程。 可以把程序看做菜谱,而进程则是按照菜 谱进行烹饪的过程 2)进程控制块 进程由:程序+数据+PCB构成
PCB1
执行指针 PCB2 PCB3 就绪队列指针 PCB4 PCB5
4 3 0 8
阻塞队列指针
PCB6
PCB7
7 9 0 11
接纳 Fork() 创建态
进程调度
就绪态
被抢占
运行态
阻塞
终止态
进程的五种状态
进程控制块的组织方式
PCB是系统对进程进行统一管理的依据。一个系 统可有几十个、几百个PCB。为了便于系统查找, 目前常用的组织方式如下: 1)线性表方式:将所有进程的PCB组成一个数组, 系统通过数组下标访问每一个PCB。其组成方式如 下:
程序并发执行的特征
3、程序与CPU执行活动之间不再一一对应




程序:是完成某一特定功能的指令或语句序列,是静态概 念 CPU执行的活动:是一个动态概念,它是程序的执行过程 。 程序在顺序执行(即单道运行)时,程序与CPU的活动是 一一对应的,而在程序并行执行(即多道程序)时,这种 关系不再存在。 例:在分时系统中,多个用户都调用C编译对自己的源程 序进行编译,实际系统只保留一个编译程序,为多个用户 进行编译
进程的特征—并发性、独立性、异步性
并发性:多个进程同时在内存中,且能在一 段时间内同时运行。 独立性:进程是一个能独立运行、独立分配 资源、独立接受调度的基本单位。 例如:各进程的地址空间相互独立 异步性:每个进程都以其相对独立的、不可 预知的速度向前推进
进程的特征—结构特征

进程结构特征 进程=PCB+程序段+数据段
程序顺序执行优缺点


优点:由于顺序程度的资源独占性(封闭 性)和结果无关性(可再现性),为程序 员调试程序带了很大方便 缺点:由于资源的独占性,使得系统资源 利用率非常低
程序并发执行


并发处理技术引入:大大提高了计算机的 利用率、运行速度和系统的处理能力。 程序的并发执行:是指若干个程序(或程 序段)同时在系统中运行,这些程序(或 程序段)的执行在时间上是重叠的,一个 程序(或程序段)的执行尚未结束,另一 个程序(或程序段)的执行已经开始。
程序的顺序执行

例如:一个有四条语句的程序段:
S1: S2: S3: S4: a:=x+2; b:=y+4; c:=a+b; d:=c+b;
S1 S2 S3 S4
程序顺序执行的特征



顺序性:处理机的操作严格按照程序所规定的顺 序执行,即每一个操作必须在下一个操作之前结 束。 资源独占性(封闭性):运行程序独占全机资源 。系统资源状态由运行的这个程序决定和改变。 执行过程中不受外界因素影响。 结果无关性(可再现性):程序运行结果与程序 执行速度无关,只要环境和初始条件相同,程序 重复执行总能得到相同结果。
程序并发执行的特征
例如: 程序A
L1: N:=N+1; Goto: L1
程序B
L2: PRINT(N); N:=0; Goto: L2
设共享变量N初值为5,则会产生3种执行结果 1)6,6,0 2)5,0,1 3)5,6,0
程序并发执行的特征
2、并行执行的程序间产生了相互制约关系
因共享资源或协调完成同一任务,使得并发程序之间 发生了相互制约关系 间接制约关系 例:系统中并发执行的程序段A和B在运行过程中都希 望使用打印机输出计算结果, 若系统只有一台打印机,分得打印机的程序段(假 设A得到)可以继续运行,而没有得到打印机的程序段 B就不得不暂停,等到有可用打印机时才能继续执行 。我们称这种制约关系为间接制约关系
PCB(0) PCB(1) PCB(2) …….. PCB(n1) PCB(n)
优点:简单,节省存储空间 缺点:查找一个指定的PCB较费时间,平均要花费半个PCB的 时间,早期的UNIX系统就是采用这种形式的表
2、链接方式:把具有相同状态的PCB,用其中的连 接字,链接成一个队列。 每一个队列有一个专用 队列指针指出该队列中第一个进程PCB所在位置。 这样就形成了就绪队列、阻塞队列。 处于就绪态的进程可按照某种策略排成多个就 绪队列。 处于阻塞态的进程又可以根据阻塞的原因不同 组织成多个阻塞队列。例如:等待磁盘I/O队列, 等待磁带I/O队列等。
PCB内容(3)
6、进程使用的资源信息:包括分配给进程的 I/O设备、正在执行的I/O请求信息、当前 进程正打开的文件等。 7、记帐信息:包括CPU占用量,实际所用时 间量,帐号等。 8、进程之间的家族关系:在进程的树型结构 系统(如UNIX系统)中,进程之间存在着 家族关系。创建进程的进程称为父进程, 被创建进程称为子进程。



运行态--就绪态:处于运行态的进程被剥夺CPU时 。例:采用时间片轮转法调度时,当前运行进程 用完分给它的时间片后,将由运行态变为就绪态 ;或采用优先级调度时,若有更高优先级的进程 变为就绪态,当前进程被迫放弃CPU,使自己由运 行态变为就绪态,之后转进程调度。
相关文档
最新文档