操作系统原理第2章
计算机操作系统原理 第二章 进程描述与控制
13
两个并发程序方案
设有一台标准输入设备(键盘),和一台标准 输出设备(显示器或打印机),输入程序负责 从标准设备中读取一个字符,送缓冲区中。输 出程序从缓冲区中取数据,送标准设备输出。
14
两个并发程序方案
f
标准输入 (键盘)
输入程序 缓冲区 输出程序
g
标准输出 (打印机)
15
两个并发程序方案
6
前趋图
前趋图(Precedence Graph)是一个有向无循环图,记 为DAG(Directed Acyclic Graph),用于描述进程之间执行 的前后关系。 结点:一个程序段或进程,乃至一条语句
有向边:偏序或前趋关系
把没有前趋的结点称为初始结点(Initial Node) 没有后继的结点称为终止结点(Final Node) 每个结点还具有一个重量(Weight),用于表示该结点 所含有的程序量或结点的执行时间。
38
进程状态模型
进程状态转换
原状态 创建 OS根据作业控制请求; 分时系统用户登录; 进程产生子进程而创 建进程 转换后状态 运行 × 就绪 × 阻塞 × 终止 ×
创建
×
×
OS准备运 行新的进 程
×
×
(转下表)
39
进程状态模型
原状态 创建 运行 × 运行 × 转换后状态 就绪 超时;OS服务 请求;OS响应 具有更高优先 级的进程;进 程释放控制 阻塞 OS服务 请求; 资源请 求;事 件请求 终止 进程完 成,进 程夭折
2.5 进程同步 2.6 经典进程的同步问题 2.7 管程机制 2.8 进程通信
3
2.1 进程描述
2.1.1 程序的顺序执行 2.1.2 程序的并发执行 2.1.3 进程的定义
操作系统原理教程第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章习题参考答案
1、进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
在程序并发执行时已不再具有封闭性,而且产生了许多新的特性和新的活动规律。
程序这一静态概念已不足以描述程序的并发执行的特性。
为了适应这一新情况,引入了一个能反应程序并行执行特点的新概念——进程(process)。
有的系统也称为任务(task)。
2、进程:是程序的一次执行,是动态概念;一个进程可以同时包括多个程序;进程是暂时的,是动态地产生和消亡的。
程序:是一组有序的静态指令,是静态概念;一个程序可以是多个进程的一部分;程序可以作为资料长期保存。
3、能够看到。
进程控制块PCB表示进程的存在。
为进程的实体为:程序部分描述了进程所要完成的功能,它通常可以由若干个进程所共享。
数据部分包括程序运行时所需要的数据和工作区,它通常是各个进程专有的。
4、可再现性:程序重复执行时,必将获得相同的结果。
即对于程序A来说,第一次运行得到一结果,第二次运行时若中间有停顿,但最后的结果必将与第一次一样。
封闭性:程序一旦开始运行,其计算结果和系统内资源的状态不受外界因素的影响。
5、1)运行状态:进程正占用CPU,其程序正在CPU上执行。
处于这种状态的进程的个数不能大于CPU的数目。
在单CPU机制中,任何时刻处于运行状态的进程至多是一个。
2)就绪状态:进程已具备除CPU以外的一切运行条件,只要一分得CPU马上就可以运行(万事具备,只欠东风)。
在操作系统中,处于就绪状态的进程数目可以是多个。
为了便于管理,系统要将这多个处于就绪状态的进程组成队列,此队列称为就绪队列。
3)封锁状态:进程因等待某一事件的到来而暂时不能运行的状态。
此时,即使将CPU 分配给它,也不能运行,故也称为不可运行状态或挂起状态。
系统中处于这种状态的进程可以是多个。
同样,为了便于管理,系统要将它们组成队列,称为封锁队列。
封锁队列可以是一个,也可以按封锁原因形成多个封锁队列。
6、(1)1---分到CPU,2---时间片到,3---等待某一事件的发生,4---所等待事件已发生。
全国计算机等级考试四级网络工程师操作系统原理部分
操作系统原理第一章操作系统概论1.1操作系统的概念操作系统的特征:并发性,共享性,随机性。
研究操作系统的观点:软件的观点,资源管理的观点,进程的观点,虚拟机的观点,服务提供者的观点。
操作系统的功能:1.进程管理:进程控制,进程同步,进程间通信,调度。
2.存储管理:内存分配与回收,存储保护,内存扩充。
3.文件管理:文件存储空间管理,目录管理,文件系统安全性。
4.设备管理5.用户接口UNIX是一个良好的、通用的、多用户、多任务、分时操作系统。
1969年AT&T公司Kenneth L.Thompson 用汇编语言编写了Unix第一个版本V1,之后Unix用C语言编写,因此事可移植的。
1.3操作系统分类1.批处理操作系统:优点是作业流程自动化较高,资源利用率较高,作业吞吐量大,从而提高了整个系统的效率。
缺点是用户不能直接与计算机交互,不适合调试程序。
2.分时系统:特点是多路性,交互性,独占性,及时性。
3.实时操作系统4.嵌入式操作系统5.个人计算机操作系统6.网络操作系统7.分布式操作系统8.智能卡操作系统1.4操作系统结构1.整体式结构2.层次结构3.微内核(客户机/服务器)结构:①可靠,②灵活(便于操作系统增加新的服务功能),③适宜分布式处理的计算机环境第二章操作系统运行机制2.1中央处理器寄存器:用户可见寄存器:数据寄存器(通用寄存器),地址寄存器,条件码寄存器。
控制和状态寄存器:程序计数器,指令寄存器,程序状态字。
目态到管态的转换唯一途径是通过终端和异常。
管态到目态的转换可以通过设置PSW指令(修改程序状态字)实现。
PSW包括:①CPU的工作状态代码②条件码③中断屏蔽码2.2存储体系存储器设计:容量,速度,成本存储保护:①界地址寄存器(界限寄存器):产生程序中断-越界中断或存储保护中断②存储键2.3中断与异常机制分类:中断:时钟中断,输入输出(I/O)中断,控制台中断,硬件故障中断异常:程序性中断,访管指令异常2.4系统调用系统调用程序被看成是一个低级的过程,只能由汇编语言直接访问。
操作系统原理第二章进程管理
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、操作系统的作用:作为计算机硬件和用户间的接口、作为计算机系统资源的管理者、作为扩充机器4、单批道处理系统:作业处理成批进行,内存中始终保持一道作业(自动性、顺序性、单道性)5、多批道处理系统:系统中同时驻留多个作业,优点:提高CPU利用率、提高I/O设备和内存利用率、提高系统吞吐量(多道性、无序性、调度性)6、分时技术特性:多路性、交互性、独立性、及时性,目标:对用户响应的及时性7、实时系统:及时响应外部请求,在规定时间内完成事件处理,任务类型:周期性、非周期性或硬实时任务、软实时任务※8、操作系统基本特性:并发、共享、虚拟、异步性并行是指两或多个事件在同一时刻发生。
并发是两或多个事件在同一时间间隔内发生。
互斥共享:一段时间只允许一个进程访问该资源同时访问:微观上仍是互斥的虚拟是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。
异步是指运行进度不可预知。
共享性和并发性是操作系统两个最基本的特征※9、操作系统主要功能:处理机管理、存储器管理、设备管理、文件管理、用户管理第二章进程的描述和控制※1、程序顺序执行特征:顺序性、封闭性、可再现性※2、程序并发执行特征:间断性、失去封闭性、不可再现性3、前趋图:有向无循环图,用于描述进程之间执行的前后关系表示方式:(1)p1--->p2(2)--->={(p1,p2)| p1 必须在p2开始前完成}节点表示:一条语句,一个程序段,一进程。
(详见书P32)※4、进程的定义:(1)是程序的一次执行过程,由程序段、数据段、程序控制块(PBC)三部分构成,总称“进程映像”(2)是一个程序及其数据在处理机上顺序执行时所发生的活动(3)是程序在一个数据集合上的运行过程(4)进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位进程特征:动态性、并发性、独立性、异步性由“创建”而产生,由“调度”而执行;由得不到资源而“阻塞”,由“撤消”而消亡※5、进程与程序关系※6、进程的三种状态:就绪、阻塞、执行转换:增加挂起:7、进程控制块(PCB)的作用:进程存在的唯一标志。
第二章 进程管理作业题
操作系统原理第二章作业一、应用题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个零件。
《操作系统原理》PPT课件 (2)教学文稿
void *runner(void *param)
{
int upper=atoi(param);
int i;
sum = 0;
if (upper >0)
for ( i = 1; i <=upper; i++)
sum +=i;
pthread_exit(0);
}
12
三、并发控制:互斥与同步 并发(Concurrent) 与并行(Parallel) 临界资源(critical resource)
2
二、OS的分类
批系统 (batch system) ➢ 成批提交作业,作业完成或无法继续执行时发生切换
交互(分时)系统(interactive, Time-sharing system) ➢ 多个用户(应用程序)分享计算机资源 Windows, Linux, …
实时系统(Real-time system) ➢ 满足应用的时间约束要求 VxWorks, QNX, …
《操作系统原理》PPT课 件 (2)
第一部分 操作系统概述
一、操作系统的功能
▪ 实现对计算机资源的管理 (CPU, 存储器,I/O设备) ▪ 控制应用程序的执行 ▪ 提供应用程序访问计算机资源的接口(系统调用) ▪ 实现对操作系统内核及应用程序的保护
操作系统给计算机一个灵活的大脑、 一个强健的心脏和突出的个性
,如此反复。请用信号量解决这些进程的同步互斥问题。
答:本题中需要定义下述变量和信号量:
data_type buffer[M]; /* data_type对应于所需要的数据类型,如int、float等
*/
int in=0; /* 用来指示下一个可存放数据的缓冲区 */
(第2章操作系统的运行基础与结构)习题二答案
习题二参考答案(P33)2-1什么是操作系统虚拟机?答:操作系统是最基本的系统软件,它是硬件功能的第一层扩充。
配置了操作系统的计算机称为操作系统虚拟机。
扩充了的计算机除了可以使用原来裸机提供的各种基本硬件指令,还可以使用操作系统增加的许多其它指令。
2-2在设计操作系统时,可以考虑的结构组织有哪几种?答:在设计操作系统时,可以考虑的结构组织有单体系统、层次式系统、微内核、客户机-服务器模式。
2-3什么是处理机的态?为什么要区分处理机的态?答:所谓处理机的态是指处理机当前处于何种状态,正在执行哪类程序。
操作系统是计算机系统中最重要的系统软件,为了能正确地进行管理和控制,其本身是不能被破坏的。
为此,系统应能建立一个保护环境,因此系统必须区分处理机的工作状态。
系统中有两类程序在运行,它们的任务是不同的,系统程序是管理和控制者,用户程序是被管理和被控制的对象,因此应将它们运行时处理机的工作状态区分出来,即系统必须区分二态(核态或管态、用户态)。
2-4什么是管态?什么是用户态?二者有何区别?答:处理器在执行系统程序时所处的状态称为管态;处理器在执行用户程序时所处的状态称为用户态。
处理器在管态和用户态下具有不同的权限:在管态下允许CPU使用全部资源和全部指令,其中包括一组特权指令;在用户态下禁止使用特权指令,不能直接使用系统资源与改变CPU状态,并且只能访问用户程序所在的存储空间。
2-5什么是中断?在计算机系统中为什么要引进中断?答:中断是指某个事件(例如,电源掉电、俘点运算溢出、外部设备传输完成或出错等)发生时,系统中止现运行程序的执行,引出处理事件程序对相应事件进行处理,处理完毕后返回断点继续执行。
为了实现多道程序设计技术、提高资源利用率,在计算机系统中引进中断。
2-6按中断的功能来分,中断有哪几种类型?答:按中断的功能来分,中断有如下五种类型:I/O中断外中断硬件故障中断程序性中断访管中断2-7什么是强迫性中断?什么是自愿中断?试举例说明。
计算机操作系统原理-第二章用户界面知识点汇总及习题
第二章用户界面2.1 知识点汇总1、作业及作业步图2-1 作业及作业步2、系统调用:用户程序中对操作系统的调用称为系统调用。
使用户程序通过简单的调用,来实现一些硬件相关,应用无关的工作,从而简化了用户程序。
独立程序:不需要操作系统帮助的程序(包括程序的启动和结束)非独立程序:需要操作系统帮助的程序图2-2 系统调用的执行过程系统调用的特点:(1)系统调用指令是由硬件决定的(即:CPU中的中断向量表)。
CPU的指令集中都有一条系统调用指令,又称访管指令但系统调用具体实现的功能由操作系统决定(即:操作系统中的,系统调用分支表,及系统调用代码)。
因此:同一种计算机上的不同操作系统,系统调用指令是相同的。
同一操作系统,在不同的计算机上,系统调用指令是不同的。
(2)系统调用是动态连接的静态连接:程序在编译时,将被调用的程序嵌入到自身中。
如:库函数调用动态连接:程序在执行的过程中,执行到调用指令时,才连接到被调用的程序并执行。
如:动态连接库(dynamic link library,DLL),系统调用。
由于操作系统是动态连接的,所以,缩短了用户程序,使用户程序和操作系统提供的系统调用功能相互独立。
(3)系统调用的调用地址和返回地址不是固定的。
系统调用的地址,由系统启动装载操作系统时,存放系统调用代码的位置决定,每次开机都可能存放在不同的位置上。
返回地址,由用户程序中系统调用指令的位置决定。
(4)安全接口在执行系统调用和从系统调用中返回时,要分别保存和恢复程序状态字PSW,并设置PSW中的系统态/用户态标志位,进行系统态和用户态的切换。
执行系统调用时,进入系统态。
从系统调用中返回用户程序时,进入用户态。
状态切换的目的:某些特权指令只能在系统态下执行。
一些地址,只能在系统态下访问。
从而限制了用户程序不能随意地进入操作系统区域,读写操作系统的内部代码,也限制了用户程序不能随意进入其它用户程序的区域。
中断:是指计算机在执行程序的过程中,当遇到需要立即处理的事件时,立即暂停当前正在运行的程序,转去执行有关服务程序,处理完后自动返回原程序。
操作系统原理智慧树知到答案章节测试2023年内蒙古医科大学
第一章测试1.操作系统的三种基本类型是()A:批处理系统、分时操作系统及实时操作系统B:批处理系统、分时操作系统及网络操作系统C:网络操作系统、批处理系统及分时操作系统D:分时系统、实时操作系统及分布式操作系统答案:A2.当CPU执行操作系统内核代码时,称处理机处于()A:用户态B:就绪态C:自由态D:内核态答案:D3.计算机系统中判断是否有中断事件发生应在()A:执行完一条指令后B:进程切换时C:执行P操作后D:由用户态转入内核态时答案:A4.从下面关于并发性的论述中,选出一条正确的论述()A:并发性是指若干事件在不同时刻发生B:并发性是指若干事件在同一时刻发生C:并发性是指若干事件在同一时间间隔内发生D:并发性是指若干事件在不同时间间隔内发生答案:C5.操作系绕在计算机系统中位于()之间。
A:CPU和内存B:CPU和用户C:计算机硬件和软件D:计算机硬件和用户答案:D6.采用多道程序设计的系统中,系统中的程序道数越多则系统的效率越高。
()A:对B:错答案:B7.分层式结构的操作系统必须建立模块之间的通信机制,所以系统效率高。
()A:对B:错答案:B8.微内核结构操作系统具有较高的灵活性和扩展性。
()A:对B:错答案:A9.通常将CPU模式分为内核态(核心态)和用户态,这样做的目的是为了提高运行速度。
()A:对B:错答案:B10.使计算机系统能够被方便地使用和高效地工作是操作系统的两个主要设计目标。
()A:对B:错答案:A第二章测试1.进程和程序的一个本质区别是()。
A:前者为动态的,后者为静态的。
B:前者分时使用CPU,后者独占CPU;C:前者在一个文件中,后者在多个文件中;D:前者存储在内存,后者存储在外存;答案:A2.下列选项中,满足短进程优先且不会发生饥饿现象的调度算法是()A:先来先服务B:响应比高者优先C:时间片轮转D:非抢占式短进程优先答案:B3.现有3个同时到达的作业J1、J2和J3,它们的执行时间分别是T1、T2和T3,且T1<T2<T3。
操作系统原理与实践教程(第二版)习题答案
操作系统原理与实践教程(第二版)习题答案第1章操作系统概论(1)试着解释一下什么是操作系统,它有什么特点?它最基本的特点是什么?解:操作系统是一组管理和控制计算机软硬件资源、合理调度各种任务、附加各种方便用户操作的工具的软件层。
现代操作系统都具有并发、共享、虚拟和异步特性,其中并发性是操作系统的最基本特征,也是最重要的特征,其它三个特性均基于并发性而存在。
(2)设计现代操作系统的主要目标是什么?解决方案:现代操作系统的设计目标是有效性、方便性、开放性、可扩展性等特性。
其中有效性指的是os应能有效地提高系统资源利用率和系统吞吐量。
方便性指的是配置了os后的计算机应该更容易使用。
这两个性质是操作系统最重要的设计目标。
开放性指的是os应遵循世界标准规范,如开放系统互连osi国际标准。
可扩展性指的是os应提供良好的系统结构,使得新设备、新功能和新模块能方便地加载到当前系统中,同时也要提供修改老模块的可能,这种对系统软硬件组成以及功能的扩充保证称为可扩展性。
(3)操作系统的作用体现在哪些方面?解决方案:现代操作系统的主要任务就是维护一个优良的运行环境,以便多道程序能够有序地、高效地获得执行,而在运行的同时,还要尽可能地提高资源利用率和系统响应速度,并保证用户操作的方便性。
因此操作系统的基本功能应包括处理器管理、存储器管理、设备管理和文件管理。
此外,为了给用户提供一个统一、方便、有效的使用系统能力的手段,现代操作系统还需要提供一个友好的人机接口。
在互联网不断发展的今天,操作系统中通常还具备基本的网络服务功能和信息安全防护等方面的支持。
(4)试图解释实时操作系统和分时操作系统在交互性、及时性和可靠性方面的异同。
解:交互性:分时系统允许用户与系统进行人机对话。
实时系统也是交互式的,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。
及时性:分时系统的响应时间基于人们可以接受的等待时间,而实时控制系统统对响应时间要求比较严格,它是以控制过程或信息处理中所能接受的延迟为标准。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
①立即停止执行。 ②将 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.2.3 进程的基本状态
进程在某一时刻会处于一种状态,但状态 不是一成不变的。 进程状态的转换是有条件和方向性的。
2.2.3 进程的基本状态
运行 调度 等待某事件
时间片到 就绪 等待的事件完成 阻塞
图2-6 进程的基本状态转换
2.2.3 进程的基本状态
注意: 进程状态转换并非都是可逆的 进程间状态并非都是主动的(运行->阻塞) 进程状态唯一性
2.4.1 线程的概念
3.线程的定义 线程,有时被称为轻量级进程,是程序执行流的 最小单元。 线程是进程中的一个实体,是被系统独立调度和 分派的基本单位,线程自己不拥有系统资源,只 拥有一点在运行中必不可少的资源,它能共享进 程的所有资源。 进程中的所有线程可以并发执行。 线程也有就绪、阻塞和运行三种基本状态。
并发性:
• 进程间及进程内部的线程都可实现并发执行,从而提高资源利 用率和系统吞吐量;
2.4.1 线程的概念
5.线程与进程的区别与联系
拥有资源:
• 进程是分配资源的基本单位; • 线程不拥有系统资源(一点即可),它可以共享进程的所有资源;
系统开销:
• 进程间的切换开销要>线程间的切换开销;
2.3.3 进程的阻塞与唤醒
当被阻塞进程所期待的事件出现时,由有关 进程将等待该事件的进程唤醒。 唤醒原语执行的过程是: ①把被阻塞的进程移出阻塞队列。 ②将PCB中的现行状态由阻塞改为就绪。 ③将该PCB插入到就绪队列中。
2.4 线程
2.4.1 线程的概念 2.4.2 线程的种类和实现
2.4.1 线程的概念
2.4.2 线程的种类和实现
从实现的角度来分,线程可以分作核心级线程和 用户级线程两种。分别在核心空间和用户空间实 现。 1.内核级线程 线程由操作系统内核创建和撤销。线程及线程的 上下文信息的维护以及线程切换都由内核完成。 内核级线程在一定程度上类似于进程,只是创建、 调度的开销要比进程小。 注:无论是系统进程还是用户进程,它们都是在操 作系统内核支持下运行。
2.1.3 进程和程序的关系
①进程是一个动态的概念,程序是静态的概念。
②进程的存在期是进程运行期间,而程序却可以长 久保存。
③进程可以并发执行,而程序却不可以。
④一个程序也可以对应多个进程。
2.2 进程的描述
2.2.1 进程的特征 2.2.2 进程控制块 2.2.3 进程的基本状态
2.2.1 进程的特征
①系统初始化:(用户登录) ②执行了正在运行的进程所调用的进程创建系统 调用(应用请求) ③用户请求创建一个新进程(提供服务) ④一个批处理作业的初始化(作业调度)
2.3.1 进程创建
系统一旦发现有创建新进程的需求后,通过 调用进程创建原语 create() 创建新的进程。 create()创建新进程的步骤为:
2.2.2 进程控制块
• 进程控制块(Process Control Block,PCB) 是一个专门的数据结构,用来记录和管理 进程的运动变化过程。 • PCB是进程实体的一部分 。 • PCB 是进程存在的唯一标志。进程与 PCB 存在一一对应的关系。
1.进程控制块中的内容
进程控制块中的内容 : • 进程标识符:唯一,用于识别进程 • 进程当前状态 • 进程的地址和大小信息 • 资源信息 • 进程优先级 • CPU现场保护区:由各种寄存器组成
①扫描PCB总表,申请空白的PCB。 ②给子进程一个唯一的进程标识符。 ③为进程分配内存空间。 ④初始化PCB信息。 ⑤将进程插入就绪队列。
2.3.2 进程撤销
• 进程撤销通常由下列条件引起:
①正常退出 ②出错退出 ③严重错误被迫退出 ④被其它进程杀死
2.3.2 进程撤销
撤销要使用撤销原语,撤销原语的执行流程: • 首先检查PCB进程链或进程家族,寻找所要撤消 的进程是否存在。 • 如果找到了所要撤消的进程的PCB结构,则撤消 原语释放该进程所占有的资源之后,把对应的 PCB 结构从进程链或进程家族中摘下并返回给 PCB空队列。 • 如果被撤消的进程有自己的子进程,则撤消原语 先撤消其子进程的 PCB结构并释放子进程所占用 的资源之后,再撤消当前进程的PCB结构和释放 其资源。
2.3.3 进程的阻塞与唤醒
引起进程阻塞或被唤醒的几类事件有: • ①请求系统服务,当进程请求系统服务而暂时不能得到响 应时,该进程就会阻塞。例如一进程请求使用某类 I/O 设 备,但系统中该类 I/O 设备已分配完毕,此时申请进程只 能阻塞以等待其它进程在使用完毕后释放出该设备并将唤 醒申请者; • ②启动某种操作,当进程启动某种操作后,如果只能等待 操作完成后进程才能继续,那么在等待过程中,进程就需 要阻塞。例如进程启动输入设备进行数据的输入,如果只 有在数据输入完成后进程才能继续执行,则进程启动了 I/O设备后自动进入阻塞状态去等待,在I/O操作完成后由 中断处理程序将该进程唤醒;
2.4.2 线程的种类和实现
内核级线程特点: • ①线程的创建、撤销和切换等,都需要内核直接 实现,即内核了解每一个作为可调度实体的线程。 • ②这些线程可以在全系统内进行资源的竞争。 • ③内核空间内为每一个内核支持线程设置了一个 线程控制块,内核根据该控制块感知线程的存在, 并进行控制。
1.进程引入的目的: 为了使多道程序并发执行,以提高资源利用率和 系统吞吐量;
2.4.1 线程的概念
2.线程的引入 无线程的 OS 系统中,进程是程序运行的基本单 位。进程有两个基本属性:资源分配的基本单位 和系统调度运行的基本单位。 为了使系统中能有更好的并发能力同时又尽可能 不增加系统的开销,人们就将进程的两个属性分 离开来,引入线程的概念。 将进程做为系统资源的拥有单位,将调度执行的 基本单位赋予新的实体——线程。
2.4.1 线程的概念
4.线程的属性 (1)轻型实体:不拥有系统资源,一点就OK (2)独立调度和分派的基本单位 (3)可并发执行: 【不同/同一】进程均可并发 (4)共享进程资源
2.4.1 线程的概念
5.线程与进程的区别与联系
调度:
• 资源分配和调度方面; • 同一进程内的线程切换不会引起进程的切换,但不同进程间的 线程切换会引起进程的切换;
1.进程的定义
本书把进程定义描述为: 进程是程序在进程控制块的管理下在某一 个数据集合上的一次执行,是系统进行资 源分配和调度的基本单位。
2.进程的结构
进程是由三部分组成的一个结构实体,这 三部分分别为:
① 程序段 ② 数据段 ③ 进程控制块(与进程一对一关系)
为了突出进程结构的静态性和进程运行的 动态性,我们把这三部分组成的结构实体 称作进程实体(进程映像),而进程其实就是 进程实体的运行过程。
1.进程控制块中的内容
• 进程同步与通信机制 • 进程所在队列PCB的链接字 • 与进程有关的其他信息
2.进程控制块的组织方式
PCB1 PCB2 PCB3 PCB4
„„
PCBn
图2-3 PCB的线性表组织方式
2.进程控制块的组织方式
执行指针 PCB1 PCB2 就绪索引表 PCB3 就绪表指针 PCB4 阻塞索引表 阻塞表指针 „„
1.程序的顺序执行
在采用单道程序设计技术的计算机系统中, 程序的运行具有以下特点: (1)顺序执行 (2)独占资源 (封闭性) (3)程序结果可再现
2.程序的并发执行
顺序执行 A B C A B C 并发执行
图2-2 程序的顺序执行和并发执行
2.程序的并发执行
多道程序技术允许内存中同时存在多道程 序,在一段时间里多道程序并发执行。程 序的并发执行特点: (1)间断执行(间断性) (2)相互制约(失去封闭性) (3)运行结果不确定(不可再现性)
第2章 进程的描述与控制
内容提要
本章主要讲述以下内容: (1)进程概念的引入、进程的定义和结构、进程和 程序的关系; (2)进程的特征、进程控制块和进程的基本状态; (3)进程的创建、进程的撤销、进程的阻塞与唤醒; (4)线程的概念、线程的种类与实现。