第二章进程管理2(PCB)操作系统
操作系统实验二:进程管理

操作系统实验二:进程管理操作系统实验二:进程管理篇一:操作系统实验报告实验一进程管理一、目的进程调度是处理机管理的核心内容。
本实验要求编写和调试一个简单的进程调度程序。
通过本实验加深理解有关进程控制块、进程队列的概念,并体会和了解进程调度算法的具体实施办法。
二、实验内容及要求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. 文件系统的组织方式包括层次目录结构、索引结构、位图结构等。
操作系统课件 第2章 进程

第二章 进 程 管 理
对于具有下述四条语句的程序段: S1: a∶=x+2 S2: b∶=y+4 S3: c∶=a+b S4: d∶=c+b 请画出前趋关系图。
S1 S3 S2 S4
第二章 进 程 管 理
2.2 程序并发执行时的特征
1) 间断性 相互制约性)-后面的模块等待前面的模块 间断性(相互制约性 - 相互制约性 传来的结果,然后才执行(如打印模块等待 计算模块完成)。走走停停。 2) 失去封闭性 :多个程序共享系统中的各种资源, 因而这些资源的状态将由多个程序来改变, 致使程序的运行已失去了封闭性。 结果是一个程序运行时会受到另一个程序的 结果是 影响。 3) 不可再现性 :程序在并发执行时,由于失去了封 闭性,也将导致失去其可再现性
第二பைடு நூலகம் 进 程 管 理
新进程
接纳
就绪 时间片完 I/O完成 进程调度
阻塞 I/O请求
执行
完成
结束
图 2-5 进程的三种基本状态及其转换
(教材讲5种)
第二章 进 程 管 理
作业调度
作业后备队列
阻塞队列
外存
进程就绪队列
一些 阻塞队列
内存
处理器 (CPU)
第二章 进 程 管 理
3.7五状态 五状态进程模型 五状态
第二章 进 程 管 理
3.4进程与程序的区别 进程与程序的区别
程序是静态的, 1)程序是静态的 进程是动态的; 是根本区别) 1)程序是静态的,进程是动态的;(是根本区别) 程序是有序代码的集合;进程是程序的执行。 程序是有序代码的集合;进程是程序的执行。 2)进程和程序不是一一对应的 2)进程和程序不是一一对应的 ; • 一个程序可对应多个进程 即多个进程可执行同一程序 ; 一个程序可对应多个进程,即多个进程可执行同一程序 • 一个进程可以执行一个或几个程序 3)进程是暂时的 程序的永久的:进程是一个状态变化的过程, 进程是暂时的, 3)进程是暂时的,程序的永久的:进程是一个状态变化的过程, 程序可长久保存。 程序可长久保存。 4)进程与程序的组成不同 进程的组成包括程序、 进程与程序的组成不同: 4)进程与程序的组成不同:进程的组成包括程序、数据和进程 控制块(即进程状态信息)。 控制块(即进程状态信息)。 5)进程具有创建其他进程的功能 而程序没有。 进程具有创建其他进程的功能, 5)进程具有创建其他进程的功能,而程序没有。
计算机操作系统 第二章 进程管理(2)

缺点:
(1)进程在等待进入临界区时也要耗费处理器时间, 不能实现“让权等待” (2)可能出现进程“饥饿”
2.3.2 信号量机制
新的同步工具——信号量和P、V操作。
信号量:是一种数据结构,代表可用资源实 体的数目。
信号量只能通过初始化和两个标准的原语: P(wait(S))、V((signal(S))来访问。 P原语相当于进入区操作,V原语相当于退 出区操作。
AND同步机制
AND同步机制的基本思想是:进程运行时所 需要的所有资源,要么全部分配给它,使用完 毕后一起释放;要么一个都不分配给它。实现 时,采用原子操作:要么全部分配到所有资源, 要么一个也不分配到。 称AND型信号量P原语为:
Swait(Simultaneous wait)
V原语为Ssignal(Simultaneous signal)。
SP原语描述
Swait(S1,S2,„,Sn) /* SP原语描述 */ {while(1) {if(S1>=1&&S2>=1&&„&&Sn>=1) {for(i=1;i<=n;i++) Si--; /* 先确信可满足所有资源要求再减1操作 */ berak; } else /* 资源不够时 */ {将进程放入第一个信号量小于1的阻塞队列Si.sqeue; 将PC中的地址回退到SP开始处; 阻塞进程; } } }
第二章 进程管理(2)
2.3 进程同步
多进程并发执行时,由于资源共享或进程合 作,使进程间形成间接相互制约和直接相互制 约关系,这需要用进程互斥与同步机制来协调 两种制约关系。 进程同步的主要任务:协调进程执行次序, 使并发执行的诸进程间能有效地共享资源和相 互合作,使程序的执行具有可再现性。
操作系统作业一及答案

第一章:操作系统引论1.什么是操作系统?可以从哪些角度阐述操作系统的作用?答:操作系统是计算机系统中的一个系统软件,是能有效地组织和管理计算机系统中的硬件和软件资源,合理地组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使得用户能够灵活、方便、有效地使用计算机,并使整个计算机系统能高效地运行的一组程序模块的集合。
作用:控制管理计算机的全部硬软件资源,合理组织计算机内部各部件协调工作,为用户提供操作和编辑界面的程序集合。
2、简要叙述批处理操作系统、分时操作系统和实时操作系统的概念及特点。
答:批处理操作系统:通常是把一批作业以脱机方式输入到磁带(磁盘)上,并在系统中配上监督程序(Monitor),在它的控制下使这批作业能一个接一个地连续处理,直到磁带(磁盘)上所有的作业全部完成。
其特点:(1)自动性;(2)顺序性。
分时操作系统:是指在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。
其特点:(1)多路性;(2)独立性;(3)及时性;(4)交互性。
实时操作系统:是指系统及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
其特点:(1)多路性;(2)独立性;(3)及时性;(4)交互性;(5)可靠性。
3操作系统需要管理哪些资源?它的基本功能是什么?答:硬件资源:CPU,打印机等,软件资源:数据,程序等4操作系统对外提供了哪些接口?答:(1)操作系统的命令接口通过在用户和操作系统之间提供高级通信来控制程序运行,用户通过输入设备发出一系列命令告诉操作系统执行所需功能,它包括了键盘操作命令和作业控制命令,称为作业一级的用户接口。
命令接口的两种最普遍和主要的方式是直接命令方式(命令行)和间接命令方式(命令文件)。
(2)操作系统的程序接口它是用户程序和操作系统之间的接口,用户程序通过它们使用系统资源及系统服务,这种接口方式通常采用若干系统调用组成。
第2章 进程管理课后习题解答

第题中,如果修改问题中的同步算法,要求 对写进程优先,即一旦写进程到达,后续的读者进程必须等待, 而无论是否有读者进程在读文件。写出相应进程的程序段。 semaphore fmutex=1, rmutex=1, wmutex=1;que=1;
int rcount=0, wcount=0; void main() { parbegin(reader, writer); }
12
void reader { while(1) { wait(que); wait(rmutex); if(0==readcount) wait(fmutex); readcount++; signal(rmutex); signal(que); …. begin to read wait(rmutex); readcount--; if(readcount==0) signal (fmutex); signal(rmutex); } }
读者—写者问题(读优先) 读者 写者问题(读优先) 写者问题 semaphore rmutex=1,wmutex=1; int readcount=0; = void main() { parbegin(reader,writer); }
读者进程: 读者进程: void reader() { while(1) { wait(rmutex); if (readcount==0) wait(wmutex); readcount++; signal(rmutex); … 读操作 wait(rmutex); readcount--; if (readcount==0) signal(wmutex); signal(rmutex); } }
18
chopstick[ ={1 semaphore chopstick[5]={1,1,1,1,1}; viod main() { parbegin(P0(),P1(),P2(),P3(),P4()); parbegin(P0(),P1(),P2(),P3(),P4()); } Pi() /*i=0,1,2,3,4*/ { while(1) { wait(chopstick[i]); [ ] wait(chopstick[(i+1)%5]); [ ] eating; … signal(chopstick[i]); [ ] signal(chopstick[(i+1) %5]); [ ] thinking; } }
操作系统原理第二章进程管理

2.1 前趋图和程序执行
例:有7个结点的前趋图。
P = { P1,P2,P3,P4,P5,P6,P7 } → = {(P1,P2),(P1,P3),(P1,P4), (P2,P5),
(P3,P5),(P4,P6),(P5,P7),(P6,P7)}
2
1 3
4
5
7 6
2.1 前趋图和程序执行
➢ 程序的顺序执行
打印三项操作。其程序段并发执行的前趋图:
I1 → I2 → I3 → I4 →
↘↘↘↘
C1 → C2 → C3 → C4 →
↘↘↘↘
P1 → P2 → P3 → P4 →
2.1 前趋图和程序执行
例2.Begin integer N:=0;
Cobegin
Program A : begin
Program B : begin
void popaddr (top) { top --; r=*top; return (r) }
void pushaddr(blk) { *top = blk; top++;
}
先执行 popaddr 的top--,接着执行pushaddr的*top=blk
2.1 前趋图和程序执行
➢ 程序并发执行过程及条件 (Bernstein条件)
果必相同。
2.1 前趋图和程序执行
➢ 程序的并发执行
➢ 程序执行环境
➢ 独立性,逻辑上是独立的。 ➢ 随机性:输入和执行开始时间都是随机的。 ➢ 资源共享:资源共享导致对进程执行速度
的制约。
2.1 前趋图和程序执行
➢ 程序的并发执行
并发执行是指两个程序执行时间上是重叠 的。凡是能由一组并发程序完成的任务,都 能由相应的单个程序完成。 例1:有一批程序,而每个程序需输入,计算,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二步把新创建的进程送入就绪队列,一旦进程进入 就绪队列,它便由新状态转变为就绪状态。
撤销进程 第一步 第二步
二、程状态的转换
对于一个进程来说“新状态”和“终止状 态”只有一次。
1.新状态
就绪状态
当就绪队列能够接纳新的进程时,OS便把处于 新状态的进程移入就绪队列,此时进程由新状态转变 为就绪状态。
执行指针
就绪索引表
就绪表指针 阻塞表指针
阻塞索引表
PCB1 PCB2 PCB3 PCB4 PCB5 PCB6 PCB7
按索引方式组织PCB
进程上下文
进程上下文: 是进程执行活动全过程的静态描述。
包括计算机系统中与执行该进程有关的各 种寄存器的值、程序段在经过编译之后形 成的机器指令代码集、数据集及各种堆栈 值和PCB结构。可按一定的执行层次组合, 如用户级上下文、系统级上下文等。
2. 父进程的需求
父进程常常希望考察和修改子进程,或者当要协调 各子进程间的活动时,要挂起自己的子进程。 3.操作系统的需要
操作系统有时需要挂起某些进程,检查运行中资源 的使用情况及进行记帐,以便改善系统的运行性能。 4.对换的需要
为了缓和内存紧张的情况,将内存中处于阻塞状态 的进程换至外存上。 5.负荷调节的需要
为了防止用户程序访问系统空间,造成访问出错,计算机系 统还通过程序状态寄存器设置不同的执行模式,用户模式 和系统模式来进行保护,即用户态和系统态。
练习
1.为使进程由活动就绪转变为静止就绪,应利用__⑴__原语; 为使进程由执行状态变为阻塞状态,应利用__⑵__原语; 为使进程由静止就绪变为活动就绪,应利用__⑶__原语; 从阻塞状态变为就绪状态应利用__⑷__原语。
当实时系统中的工作负荷较重,可能影响到对实时 任务的控制时,可由系统把一些不重要或不紧迫的进程 挂起,以保证系统仍然能正常运行。
二、进程状态的转换
在引入挂起状态后,又将增加从挂起状态(又称静止状态) 到非挂起状态(又称活动状态)的转换。或者相反,可以有以下 几种情况:
1.活动就绪 静止就绪
当进程处于未被挂起的就绪状态时,称此为活动 就绪状态,表示为Readya。当用挂起原语Suspend将 该进程挂起后,该进程便转变为静止就绪状态。表示为 Readys(处在Readys状态的进程,不再被调度执行)
4.静止阻塞 活动阻塞
处 于 Blockeds 状 态 的 进 程 , 若 用 激 活 原 语 Active 激活后,进程将转变为Blockeda状态。
执行
挂起
活动就绪
激 活
挂起
静止就绪
释放
释放
活动阻塞
激活
静止阻塞
挂起
具有挂起状态的进程状态图
进程控制块PCB
进程的静态描述:由三部分组成 PCB、有关程序段和该程序段对其进行操作的数
2.就绪状态 执行状态
处于就绪状态的进程,当进程调度程序为它分
配了处理机后,该进程便由就绪状态变为执行状态, 正在执行的进程也称为当前进程。
3.执行状态
阻塞状态
正在执行的进程因发生某件事件而无法执行。例如: 进程请求访问临界资源,而该资源正被其它进程访问, 则请求该资源的进程将由执行状态转变为阻塞状态。
2 进程状态间的变迁
①就绪→执行:调度
②执行→等待:等待某个事件发生而睡眠
③等待→就绪:因等待的事件发生而唤醒
④执行→就绪:时间片用完
二、新状态和终止状态 1. 新状态
是一个进程刚刚建立,但还没有将它送入就绪队 列时的状态
2.终止状态
当一个进程已经正常结束或异常结束,OS已经将 它从就绪队列中移出,但还没有将它撤消时的状态。
安全在于心细,事故出在麻痹。20.12. 1220.1 2.1200: 36:1700 :36:17 December 12, 2020
踏实肯干,努力奋斗。2020年12月12 日上午1 2时36 分20.12. 1220.1 2.12
追求至善凭技术开拓市场,凭管理增 创效益 ,凭服 务树立 形象。2 020年1 2月12 日星期 六上午1 2时36 分17秒0 0:36:17 20.12.1 2
⑴-⑷:A.静止阻塞 B.活动阻塞 C.静止就绪 D. 活动就绪 E.执行
⑴-⑷:A. create B.suspend C.active D. block E.wakeup
⑴B ⑵D ⑶C ⑷E ⑴D ⑵C ⑶C ⑷A
树立质量法制观念、提高全员质量意 识。20. 12.1220 .12.12S aturday, December 12, 2020
新进程
接纳 就绪
中断
完成
结束
执行
事件发生
进程调度
等待某事件
阻塞
进程的挂起状态
一、挂起状态的引入
1终端用户的需要 当终端用户在自己的程序运行期间,发
现有可疑问题时,往往希望暂时使自己的进 程静止下来。也就是说,如果进程处于执行 状态,则暂停执行;如果进程处于就绪状态, 则暂时不接受调度,以便研究其执行情况或 对程序进行修改。我们把这种静止状态称为 挂起状态。
2.活动阻塞 静止阻塞
当进程处于未被挂起的阻塞状态时,称为它处在 活动阻塞状态(表示为Blockeda)。当Suspend原 语将它挂起后,进程便转变为静止阻塞状态(表示为 Blockeds)。处于该状态的进程,在其所期待的事件 出现以后,他将从静止阻塞变为静止就绪。
3.静止就绪 活动就绪
处于Readys状态的进程,若用激活原语Active 激活后,该进程将转变为Readya状态。
严格把控质量关,让生产更加有保障 。2020 年12月 上午12 时36分2 0.12.12 00:36D ecember 12, 2020
作业标准记得牢,驾轻就熟除烦恼。2 020年1 2月12 日星期 六12时3 6分17 秒00:36: 1712 December 2020
好的事情马上就会到来,一切都是最 好的安 排。上 午12时3 6分17 秒上午1 2时36 分00:36: 1720.1 2.12
⑴-⑷:A. create B.suspend C.active D. block E.wakeup
2.正在执行的进程由于时间片用完而被暂停执行,此时进 程应从执行状态变为__⑴__状态;处于静止阻塞状态的进 程,在进程等待事件出现后,应转变为__⑵__状态;若进 程正处于执行状态时,应终端的请求而暂停下来以便研究 其运行情况,这时进程应转变为__⑶__状态,若进程已处 于阻塞状态,则此时应转变为__⑷__状态。
执行指针 就绪队列指针 阻塞队列指针 空闲队列指针
PCB1 4
PCB2
3
PCB3 0
PCB4
8
PCB5
PCB6
7
PCB7
9
PCB8
0
PCB9
1
……
2.索引方式:
系统根据所有进程的状态,建立几张 索引表。例如:就绪索引表、阻塞索引表 的国内。并把各索引表在内存的首地址记 录在内存中的一些专用单元中。每个索引 表的表目中,记录具有相同状态的某个PCB 在PCB表中的地址。
据结构集。 各部分的作用:
1 进程控制块:用于描述进程情况及控制进程运行所 需的全部信息。
2 程序段:是进程中能被进程调度程序在CPU上执行 的程序代码段。
3 数据段:一个进程的数据段,可以是进程对应的程 序加工处理的原始数据,也可以是程序执行后产生 的中间或最终数据。
进程控制块中的信息
进程控制块中主要包括四个方面用于描述和控制进程运行 的信息。
进程空间
任何一个进程,都有自己的地址空间,把该空间称为进程空 间或虚空间。
进程空间的大小只与处理机的位数有关。程序的执行都在进 程空间内进行。用户程序、进程的各种控制表格都按一定 的结构排列在进程空间里。
在Unix和Linux系统中,进程空间还被划分为用户空间和系 统空间两大部分
在进程空间被划分为两大部分后,用户程序在用户空间内执 行,操作系统内核程序在进程的系统空间内执行。
(3)进程调度所需要的其他信息。(进程已等 待CPU的时间总和、进程已执行的时间总和)
(4)事件。这是进程由执行状态转变为阻塞状 态所等待发生的事件。(阻塞原因)
PCB的组织方式
常用的组织方式有两种:链接方式、索引方式。 1. 链接方式:
具有相同状态的PCB,用其中的链接字,链接 成一个队列。这样就可以形成就绪队列、若干个 阻塞队列和空白队列等。对其中的就绪队列常按 照进程优先权的大小排列,把优先权高的进程的 PCB排在队列前面。
4.执行状态
就绪状态
正在执行的进程,如果事件发生或中断而被暂停执行, 该进程便由执行状态转变为就绪状态。(分时系统中, 时间片用完;抢占调度方式中,优先权高抢占处理机)
5.执行状态
终止状态
当一个进程经完成或发生某事件,如程序中出现地
址越界、非法指令等错误,而被异常结束时,进程将由 执行状态转变为终止状态。
处理机状态信息
处理机状态信息主要是由处理机各种寄存器中的内 容所组成。
通用寄存器。又称为用户可视寄存器,可被用户程 序访问,用于暂存信息。
指令寄存器。存放要访问的下一条指令的地址。 程序状态字PSW。其中含有状态信息。(条件码、
执行方式、中断屏蔽标志等) 用户栈指针。每个用户进程有一个或若干个与之相关
4.异步性
进程按各自独立的、不可预知的速度向前推进
5.结构特性
从结构上看,进程是由程序段、数据段及进程控 制块三部分组成。
进程的基本状态
一、进程的三种基本状态 1.就绪状态(Ready)
当进程已经分配到除CPU以外的所有必要的 资源后,只要能再获得处理机,就可以立即执行。 这时的进程的状态称为就绪状态。 2.执行状态(Running)(运行状态)