3-处理机管理
五章处理机管理CPUScheduling

调度期Dispatch Latency
事件
响应事件
中断 处理
调度周期
调度
时实进 程执行
对实时系统的要求
提供必要的调度信息
进程的就绪时间 进程开始执行截止时间和完成执行截止时间 进程处理所需时间 进程的资源要求 进程优先级
调度方式 具有快速响应外部中断的能力
实时调度算法
Real-Time Scheduling
2.多处理机操作系统的分类
本节所介绍的多处理机操作系统是指那些用来并行执 行用户的几个程序,以提高系统的吞吐率;或 并行操作 以提高系统可靠性的多处理操作系统。这种系统由共享公 共内存和外设的n(n>1)个 CPU组成。
从概念上说,在多处理机系统中的各进程的行为与在 单机系统下的行为相同。因此,对多处理机操作系统的要 求与对多道程序的批处理系统没有太多的区别。但是,多 处理环境下,进程可在各处理机间进行透明迁移,从而, 由进程上下文切换等带来的系统开销将使得多处理机操作 系统的复杂度大大增加。另外,由于多处理机系统并行地 执行用户的几个程序(进程),这又带来了多处理机条件 下的并发执行问题。
Performance
q large FIFO q small q must be large with respect to context switch,
otherwise overhead is too high.
Example of RR with Time Slice= 1 时间片为1时的例子
If there are n processes in the ready queue and the time slice is q, then each process gets 1/n of the CPU time in chunks of at most q time units at once. No process waits more than (n-1)q time units.
处理机管理文件管理作业管理

处理机管理文件管理作业管理计算机是现代社会中不可或缺的工具,而计算机中最重要的组成部分就是处理器。
处理器是计算机中的核心,负责执行各种指令,实现各种计算、操作和运行。
处理器的管理对于计算机的性能和效果至关重要。
同时,文件管理和作业管理也是计算机系统中不可或缺的部分,它们负责对计算机中的文件和作业进行管理和维护,确保计算机的正常运行。
处理机管理处理机管理是计算机系统中最重要的一部分,它负责对处理器进行管理和调度。
处理器的管理包括对处理器的分配、调度和协调,以及对处理器的性能和效率进行优化和提升。
处理器的调度对于计算机系统的性能和效果影响很大,因此处理器的管理是计算机系统中必不可少的部分。
文件管理文件管理是计算机系统中的重要组成部分,它负责对计算机中的文件进行管理和维护。
文件管理包括对文件的创建、存储、访问和删除等操作,同时还包括对文件进行备份和恢复等操作。
文件管理对于计算机系统中的数据安全和数据完整性至关重要,因此它是计算机系统中必不可少的部分。
作业管理作业管理是计算机系统中的重要组成部分,它负责对计算机中的作业进行管理和维护。
作业管理包括对作业的提交、调度、执行和控制等操作,同时还包括对作业进行监控和调整等操作。
作业管理对于计算机系统中的任务执行和任务效率至关重要,因此它是计算机系统中必不可少的部分。
处理机管理、文件管理和作业管理是计算机系统中三个重要的组成部分,它们共同构成了计算机系统的基础。
处理机管理负责对处理器进行管理和调度,文件管理负责对计算机中的文件进行管理和维护,作业管理负责对计算机中的作业进行管理和维护。
这三个部分共同构成了计算机系统的框架,确保计算机系统的正常运行和高效运行。
在处理机管理、文件管理和作业管理中,需要注意各种问题。
例如,在处理机管理中,需要注意处理器的分配和调度,以及处理器的利用率和效率等问题;在文件管理中,需要注意文件的存储和访问权限,以及文件的备份和恢复等问题;在作业管理中,需要注意作业的提交和调度,以及作业的执行和效率等问题。
处理机管理有哪些主要功能

1、处理机管理有哪些主要功能?它们的主要任务是什么?答:处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度;进程管理:为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换。
进程同步:为多个进程(含线程)的运行进行协调。
通信:用来实现在相互合作的进程之间的信息交换。
处理机调度:(1)作业调度。
从后备队里按照一定的算法,选出若干个作业,为他们分配运行所需的资源(首选是分配内存)。
(2)进程调度:从进程的就绪队列中,按照一定算法选出一个进程,把处理机分配给它,并设置运行现场,使进程投入执行。
2、前趋图是一个有向无循环图,记为DAG,用于描述进程之间执行的前后关系。
3、试说明PCB 的作用,为什么说PCB 是进程存在的惟一标志?PCB 是进程实体的一部分,是操作系统中最重要的记录型数据结构。
作用是使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程并发执行的进程。
OS是根据PCB对并发执行的进程进行控制和管理4、试说明进程在三个基本状态之间转换的典型原因1)就绪状态→执行状态:进程分配到CPU资源2)执行状态→就绪状态:时间片用完3)执行状态→阻塞状态:I/O请求4)阻塞状态→就绪状态:I/O完5、为什么要在OS 中引入线程?在操作系统中引入线程,则是为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性,提高CPU的利用率。
进程是分配资源的基本单位,而线程则是系统调度的基本单位。
6、试说明线程具有哪些属性1)轻型实体2)独立调度和分派的基本单位3)可并发执行4)共享进程资7、试从调度性,并发性,拥有资源及系统开销方面对进程和线程进行比较1)调度性。
线程在OS 中作为调度和分派的基本单位,进程只作为资源拥有的基本单位。
2)并发性。
进程可以并发执行,一个进程的多个线程也可并发执行。
3)拥有资源。
进程始终是拥有资源的基本单位,线程只拥有运行时必不可少的资源,本身基本不拥有系统资源,但可以访问隶属进程的资源。
处理机管理

New
A
Suspend
Ready Suspend
Activate
Admit
i dm
t
Suspend
Ready
Dispatch Timeout
Running
Release
Exit
Event Occurs
Event Occurs
t en t Ev ai W
Blocked Suspend
Activate
1. 时间片轮转算法
• 将系统中所有的就绪进程按照FCFS原则,排成 一个队列。 • 每次调度时将CPU分派给队首进程,让其执行 一个时间片。时间片的长度从几个ms到几百ms。 • 在一个时间片结束时,发生时钟中断。 • 调度程序据此暂停当前进程的执行,将其送到 就绪队列的末尾,并通过上下文切换执行当前 的队首进程。 • 进程可以未使用完一个时间片,就出让CPU (如阻塞)。
3. SJF的变型
• "最短剩余时间优先"SRT(Shortest Remaining Time)
– 允许比当前进程剩余时间更短的进程来抢占
• "最高响应比优先"HRRN(Highest Response Ratio Next)
– 响应比R = (等待时间 + 要求执行时间) / 要求 执行时间 – 是FCFS和SJF的折衷
返回
4.2.1 先来先服务 (FCFS, First Come First Service)
这是最简单的调度算法,按先后顺序进行调度。
1. FCFS算法
• 按照作业提交或进程变为就绪状态的先后次序, 分派CPU; • 当前作业或进程占用CPU,直到执行完或阻塞, 才出让CPU(非抢占方式)。 • 在作业或进程唤醒后(如I/O完成),并不立即 恢复执行,通常等到当前作业或进程出让CPU。 最简单的算法。
操作系统五大管理功能

操作系统五大管理功能操作系统的五大管理功能是基本功能,也是重要功能。
下面由店铺为大家整理了操作系统的五大管理功能的相关知识,希望对大家有帮助!操作系统五大管理功能系统是管理和控制计算机系统中的所有硬件、软件资源,合理地组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接口。
计算机系统的主要硬件资源有处理器、存储器、外部设备,软件资源以文件形式存在外存储器上。
因此从资源管理和用户接口的观点上看,操作系统具有处理机管理、存储管理、设备管理、文件管理和提供用户接口的功能。
操作系统五大管理功能之1.处理机管理计算机系统中处理机是最宝贵的系统资源,处理机管理的目的是要合理地按的时间,以保证多个作业能顺利完成并且尽量提高CPU的效率,使用户等待的时间最少。
操作系统对处理机管理策略不同,提供作业处理方式也就不同,例如,批处理方式、分时处理方式和实时处理方式。
操作系统五大管理功能之2.存储管理存储管理的主要工作是对内存储器进行合理分配、有效保护和扩充。
操作系统五大管理功能之3.设备管理当用户程序要使用外部设备时,设备管理控制(或调用)驱动程序使外部设备工作,并随时对该设备进行监控,处理外部设备的中断请求等。
操作系统五大管理功能之4.文件系统管理以上三种管理都是针对计算机的硬件资源的管理。
文件系统管理则是对软件资源的管理。
为了管理庞大的系统软件资源及用户提供的程序和数据,操作系统将它们组织成文件的形式,操作系统对软件的管理实际上是对文件系统的管理。
操作系统五大管理功能之5.用户接口计算机用户与计算机的交流是通过操作系统的用户接口(或称用户界面)完成的。
操作系统为用户提供的接口有两种,一是操作界面;二是操作系统的功能服务界面。
操作系统五大管理功能将本文的Word文档下载到电脑,方便收藏和打印推荐度:点击下载文档文档为doc格式。
第2章 处理机管理(1)答案

第2章处理机管理(1)一、单项选择题1.以下对进程的描述中,错误的是。
A.进程是动态的概念 B.进程执行需要处理机C.进程是有生命期的 D.进程是指令的集合解:进程是程序的T次执行过程,是动态的,它有生命周期。
本题答案为D。
2.以下关于进程的描述中,正确的是。
A.进程获得CPU运行是通过调度得到的B.优先级是进程调度的重要依据,一旦确定就不能改变C.在单CPU的系统中,任意时刻都有一个进程处于运行状态D.进程申请CPU得不到满足时,其状态变为阻塞解:调度程序的功能是为进程分配处理机;动态优先级是可以改变的;有时计算机系统中没有任何进程运行,CPU处于空闲状态,计算机进行空转;进程已获得除CPU以外的资源时处于就绪状态。
本题答案为A。
3.一个进程是。
A.由处理机执行的一个程序 B.一个独立的程序+数据集C.PCB结构、程序和数据的组合 D.一个独立的程序解:进程由PCB、程序和数据组成的。
本题答案为C。
4.并发进程指的是。
A.可并行执行的进程 B.可同一时刻执行的进程C.可同时执行的进程 D.不可中断的进程解:同时是指宏观上的,含有时间上的重叠,而并行则不含时间上的重叠,表示同一时刻同时执行。
本题答案为C。
5.在多道程序环境下,操作系统分配资源以为基本单位。
A.程序 B.指令 C.进程 D.作业解:进程是资源分配的基本单位。
本题答案为C。
6.操作系统通过对进程进行管理。
A.JCB B.PCB C.DCT D.CHCT解:操作系统通过进程控制块,即PCB对进程进行管理。
本题答案为B。
7.分配到必要的资源并获得处理机时间的进程状态是。
A.就绪状态 B.运行状态 C.阻塞状态 D.撤销状态解:对于分配到必要的资源并获得处理机时间的进程,CPU调度立刻将其状态转变为运行状态。
本题答案为B。
8.当一个进程处于这样的状态时,,称为阻塞状态。
A.它正等着输入一批数据 B.它正等着进程调度C.它正等着分给它一个时间片 D.它正等着进入内存解:阻塞状态是指进程在等待I/O或数据的到来,等待CPU的进程处于就绪状态。
处理机管理
➢处理器状态
• 中央处理器怎么知道当前是操作系统还 是一般用户程序在运行呢?
• 处理器状态标志和设置处理器成不同状 态: 管理状态(特权状态、系统模式、 特态或管态)和用户状态(目标状态、 用户模式、常态或目态)
➢程序状态字寄存器
• 通常操作系统都引入程序状态字PSW(Program Status Word)来区别不同的处理器工作状态
平均作业周转时间 T = (Σti) / n
作业带权周转时间和平均作业带权周转时间
• 如果作业i的周转时间为ti,所需运行 时间为tk,则称wi=ti /tk为该作业的带 权周转时间。
• ti是等待时间与运行时间之和,故带权 周转时间总大于1。
平均作业带权周转时间W = (Σwi) / n
2.4 批处理作业的管理与调度
低级调度基本功能: (1)记住进程的状态。 (2)决定某个进程什么时候获得处理器, 以及占用多长时间。 (3)把处理器分配给进程。 (4)收回处理器。 低级调度基本方式:非抢占式、抢占式、 折衷方式
➢ 低级调度算法
1﹑先来先服务算法 2﹑时间片轮转调度算法
可防止那些很少使用外围设备的进程过长的占用处理器 而使得要使用外围设备的那些进程没有机会去启动外围设备。
先进入系统的作业优先被挑选。 算法容易实现,效率不高,只顾及作业等候
时间,没考虑作业要求服务时间的长短。不利于 短作业而优待了长作业 。
2 ﹑最短作业优先算法(SJF)
SJF算法以进入系统的作业所要求的CPU时间为标准, 总选取估计计算时间最短的作业投入运行。
算法易于实现,效率不高,主要弱点是忽视了作业 等待时间,会出现饥饿现象。SJF的平均作业周转 时间比FCFS要小,故它的调度性能比FCFS好。
第三章处理机管理练习
1、操作系统作业管理的主要功能是()。
A、作业调度与控制B、作业提交C、作业准备D、编制程序2、在操作系统中,JCB是指()。
A、作业控制块B、进程控制块C、文件控制块D、程序控制块3、处于后备状态的作业存放在()中。
A、外存B、内存C、A和BD、扩展内存4、作业调度程序从处于()状态的队列中选取适当的作业调入主存运行。
A、执行B、提交C、完成D、后备5、作业在系统中存在与否的唯一标志是()。
A、源程序B、作业说明书C、作业控制块D、目的程序6、作业调度的关键在于()。
A、选择恰当的进程管理程序B、选择恰当的作业调度算法C、用户作业准备充分D、有一个较好的操作环境7、作业调度是()。
A、从输入井中选取作业进入输入井B、从读卡机中选取作业进入输入井C、从主存中选取作业进程占有CPUD、从等待设备的队列中选取一个作业进程8、按照作业到达的先后次序调度作业,排队等待时间最长的作业被优先调度,这是指()调度算法。
A、先来先服务B、最短作业优先C、定时轮转法D、优先数法9、用户在一次计算过程中,或者一次事物处理中,要求计算机完成所做的工作的集合,这是指()。
A、进程B、程序C、作业D、系统调用10、作业调度又称为[1],它决定将那些在外存储器上的处于[2]状态的作业调入主机内存。
系统经作业调度程序选中一个或多个作业后,就为它们分配必要的内存、设备及软资源。
然后控制权就交给了[3],由[3]将它们变为一个或一组[4],并[5]。
供选择的答案:[1]: A、高级调度 B、低级调度C、中级调度D、进程调度[2]: A、就绪 B、阻塞 C、提交 D、后备[3]: A、存储管理模块 B、处理机管理模块C、文件管理模块D、设备管理模块[4]: A、指令 B、子程序 C、进程 D、程序段[5]: A、把它们挂到就绪队列上 B、为它们分配处理机C、把它们挂到后备队列上D、为它们分配设备11、按照作业到达的先后次序调度作业,排队等待时间最长的作业被优先调度,这是指()调度算法。
处理机管理-无答案
处理机管理一、填空题1.进程的静态描述由三部分组成:程序、相关的数据和PCB 。
2.进程存在的标志是PCB 。
3.进程的并发执行是现代操作系统的基本特征之一,为了更好地描述这一特征而引入了并发性这一概念。
4.给出用于进程控制的四种常见的原语阻塞原语、创建原语、唤醒原语和撤销原语。
5.进程被创建后,最初处于就绪状态,然后经处理机选中后进入运行状态。
6.进程调度的方式通常有可剥夺调度和非剥夺调度方式两种。
7.轮转法主要是用于分时系统的调度算法,它具有较好的时间,且对每个进程来说都具有较好的公平性。
8.一个进程的生命期可以划分为一组状态,一个进程可能具有 3 基本状态。
这几种状态是就绪状态、运行状态、阻塞状态。
二、单项选择题1.在下列叙述中,错误的一条是C 。
(A)操作系统是用户与计算机之间的接口(B)程序的并发执行,使程序失去了顺序执行时具有的封闭性和可再现性,程序与程序的执行不再一一对应(C)进程从一个状态到另一个状态的转换,都是靠使用不同的原语来实现的(D)在单CPU的系统中,任何时刻处于就绪状态的进程有多个,而且只有处于就绪状态的进程经调度程序选中后才可进入运行状态2.根据服务对象不同,常用的单处理机OS可以分为如下三种类型:(l)允许多个用户在其终端上同时交互地使用计算机的OS称为C ,它通常采用策略为用户服务。
(2)允许用户把若干个作业提交计算机系统集中处理的OS,称为 F ,衡量这种系统性能的一个主要指标是系统的H 。
(3)在L 的控制下,计算机系统能及时处理由过程控制反馈的数据并作出响应。
设计这种系统时,首先考虑系统的G 。
(A)网络OS (B)分步式OS(C)分时OS (D)时间片轮转(E)单用户OS (F)批处理OS(G)可靠性和灵活性(H)吞吐率(I)优先权分配(J)实时性和可靠性(K)短作业优先(L)实时OS(M)用磁带的和不用磁带的作业搭配3.进程调度是从A 选择一个进程投入运行。
进程和处理机管理
3.2.1 进程的状态 进程是动态的,它存在着生命周期。它有诞生(创建)和灭亡(撤消)过程,在它的生命周期中又反映出它的执行-暂停-再执行的活动规律,进程最主要的特征是具有状态。进程在其活动期间具有两种状态:自由状态和等待状态。任一进程在任一时刻有且只有这两种状态之一。自由状态又可分为:运行状态和就绪状态。
1.优点是: (1)资源分配严格,子进程可以分配到父进程所拥有的资源,用完后立即归还,一个进程家族所占有的全部资源应该在其祖先所拥有的资源范围内。 (2)进程的控制灵活,当一个进程被分配完成某一任务时,它能够创建若干进程去分别完成各子功能。 (3)进程层次清晰,关系明确。所以,树型结构的系统获得了广泛应用。
1. 进程家族
进程的家族结构有两种:一种是非结构系统;另一种是树型结构系统。在非结构系统中管理程序直接对全部进程实施管理,它可以实施创建进程和撤消进程等操作。各进程之间的关系也是“平等”的,如图3-9(a)所示。在树型结构的进程家族中,一个父进程可以创建一个子进程而形成一个进程家族。图3-9(b)给出了树型结构的进程家族的示意图。
3.2.1 进程的状态
阻塞状态(Block) 正在执行中的进程,由于发生了某一事件而使之暂时无法执行下去(如,等待I/O操作完成,或由于同步、互斥而等待)而处于暂停状态,即该进程的运行受到了阻塞(即等待状态或睡眠状态)。
进程的三种不同状态
3.2.2 进程的状态演变
进程的状态不是一成不变的,它是随着自身的推进和外界条件的变化而变化的。下图为简单的进程状态演变图及演变事由。
应该说明的是: (1)在进程的生命周期中,处于执行状态的进程因为某一事件(如I/O请求等事件)出现而变成阻塞状态,当该事件消除后,被阻塞的进程并不恢复到执行状态,而转变为就绪状态等待再一次重新被进程调度程序调度。这是因为当该进程被阻塞时,为了使处理机不空闲,进程调度程序立即将处理机分配给另一个处于就绪状态的进程。 (2)当进程从运行状态变为就绪或阻塞状态时,必须保留它的运行的现场信息,以便将来恢复运行。 (3)处于同一状态的进程可以构成队列,系统中可以有一个运行队列、但是在只有一个处理机的情况下,任一时刻处于运行状态的进程只能有一个。系统中可以有一个或多个就绪队列和若干个等待队列,由于同一个原因而等待的进程应该属于同一个等待队列,相应每个队列设有指针,指向相应队列的首部。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
创建
运行
等待事件
终止
活动 阻塞 挂起 静止 阻塞
挂起
• 创建和终止:分配或回收资源和信息 • 挂起状态:进程不接收(低级)调度
进程的描述
• 进程三要素:程序段,数据,进程控制块 • 进程控制块(PCB,Process Control Block):数 据结构用来代表一个进程
– 进程识别信息:进程标识(内部)、用户标识(外 部)、家族联系 – 进程调度信息:状态、优先、事件等 – 处理机状态/进程上下文/CPU现场信息:通用寄存器、 程序状态字(PSW)、程序计数器(PC)、堆栈指针
进程的同步
• 并发进程为完成相关任务而协调执行速度
– 走快等慢,相互制约
• 合作进程访问共享资源时的要遵循时间顺序
– 先空后可放,先有后可取
• 进程互斥作为进程同步的特例 • 互斥:因共享临界资源所产生的间接制约关系。 进程使用共享资源的顺序没有固定。 • 同步:因执行顺序所产生的直接制约关系。进程 使用共享资源的顺序必须根据同步信息决定。
– 进程控制信息:程序和数据地址、进程同步通讯机制、 资源清单、链接指针(用于组织PCB的结构)
PSW (Program Status Word)
/view/809499.htm
• 程序状态字/程序状态寄存器 • 标志寄存器FR(Flag Register) • cpu控制器的一部分,存放指令执行的特征 信息
• 进程控制原语:创建、撤销、阻塞、唤醒、 挂起、激活等
进程创建原语
• 系统创建
– 用户登录 – 作业调度 – 服务请求
开始 申请空白 进程控制 块 Y 分配资源 置初值:进程名、优先 级、内存地址、资源清 单、CPU初始状态 置状态为就绪 插入就绪队列 N 创建失败
• 进程创建
– 应用请求(父进程与 子进程有隶属关系和 资源继承关系)
进程阻塞原语
• 由执行中的进程调用, 如果下列事件发生
– 请求系统服务 – 启动某种操作 – 所需数据尚未到达 – 无工作请求
开始 中断CPU
现场信息保存到进程控制块
置状态为阻塞 插入阻塞队列
重新调度处理机
结束
进程唤醒原语
• 发现下列事件的进程调用
– 请求的系统服务就绪 – 请求的操作完成 – 所需数据到达 – 有工作请求到达
– 状态标志:进位、溢出、正负、为零、奇偶 – 控制状态:允许中断、跟综标志、方向标志
进程控制块的结构
• 链接方式和索引方式
执行指针 PCB1 4
执行指针
PCB2
PCB3
3
0 8 0 7 9 0
就绪队列指针
PCB1 就绪索引表项 就绪索引表项 PCB2 PCB3 PCB4 阻塞队列指针 PCB5
就绪队列指针
互斥与同步的机制
• 在程序中设置临界区
• 进程执行到达临界区,进入之前检查临界 区是否为空
– 若为空,则进入 – 否则,在临界区外等待
• 条件
– 记录临界区状态的变量 – 对变量读写的方法必须是原语
• 机制:锁、记录型信号量、管程
锁/整形信号量
• 用关锁操作(lock/wait)和开锁操作( unlock/signal)对一公共变量(x)进行操作
• 部分分配(占用并等待):进程只在需要 时才申请资源 • 不可剥夺:进程只在运行结束(或挂起) 时才释放所占用的资源 • 环路等待
处理机管理
Processor Management
教学参考书
• 《操作系统实用教程(第三版)》,任爱华等 ,清华大学出版社
• 《计算机操作系统(第三版)》,汤小丹等, 西安电子科技大学出版社 • 《计算机操作系统原理(第2版)》,王万森 等,高等教育出版社
处理机管理
• 进程管理 • 处理机调度 • 死锁处理
返回 void V(struct semaphore s) { s.value = s.value + 1; if (s.value <= 0) wakeup(s.L); }
Y 唤醒信号量等待队列中 的一个进程
转进程调度
PV原语举例 – 生产者消费者问题
• 整型量n,临界资源缓 冲池大小 • 信号量mutex,初值1 ,临界区互斥 • 信号量empty,初值n ,空缓冲数 • 信号量full,初值0,满 缓冲数 • 整型量i,初值0,空缓 冲头序号 • 整型量j,初值0,满缓 冲头序号 生产者
– 名称,对应于某个资源 – 局部于管程内部的共享数据,代表相应的资源 – 对共享数据进行操作的一组过程(函数) – 对共享数据设初值的语句
• 对临界资源使用管程来访问,可保证互斥 共享
互斥与同步的经典问题
• • • • 生产者-消费者问题 读者-写者问题 哲学家进餐问题 打磕睡的理发师问题
进程通信
进程的特征
• 动态性:由创建而产生,由调度而执行, 由撤消而消亡。 • 并发性:多个进程共驻内存,并发执行 • 独立性:独立运行,独立分配资源,独立 接受调度 • 异步性:执行过程的异步性
• 结构性:用进程映像(程序段、数据段和 堆栈、控制块)描写
进程的状态
时间片用完 已取得运行所需 除处理机之外 的一切资源 就绪 调度 程序正在 处理机上 运行 运行
• 调度算法
– 最早截止时间 – 最低松弛度优先
处理机管理
• 进程管理 • 处理机调度 • 死锁
死锁的定义
• 多道程序并发执行时,两个以上的进程由 于竞争系统资源而互相等待 • 因素
– 多个进程 – 并发 – 多个独享资源
• 举例:
– 两小孩作画 – 先后问题?
系统资源
• cpu,内存,磁盘,打印机,显示器,光盘 刻录机,程序代码,数据
记录型信号量
• Semaphore S
– S>0:该资源的可被使用数量 – S=0:该资源已被全部使用 – S<0:等待使用该资源的进程数
• P原语:请求一个资源单位 • V原语:释放一个资源单位
P原语操作
• 让权等待:等待时不Leabharlann 用处理机入口 信号量值减1
信号量值 <0
N
struct semaphore { int value; PCB* L; //过程链表 } s;
O1
• • • •
运行断断续续 资源状态受影响 程序运行中的相互制约 保持可再现性:从程序的执行过程实施管理
什么是进程(process)
• 定义
– 程序的运行过程 – 系统资源分配的基本单位 – 处理机(CPU)调度的基本单位?
• 进程与程序的关联
– 进程是程序的一次执行过程 – 进程有生命周期,程序的存在是永久的 – 一个进程可执行一个或多个程序,一个程序可 被多个进程执行
• • • • 公共系统 批处理系统 分时系统 实时系统
设计目标的量化
• • • • • 周转时间 带权周转时间 系统吞吐量 响应时间 处理机利用率
调度算法
• • • • • • 先来先服务 短作业优先 高响应比优先 时间片轮转 优先级 多级反馈队列
实时调度
• 实现的基本条件 • 分类
– 抢占式 – 非抢占式
• 分类 – 可剥夺和不可剥夺 – 共享和独占 – 永久和临时 • 使用模式 – 申请:有可能等待 – 使用 – 释放:自然释放、强迫释放
死锁的原因
• 临界资源分配不当
– 竞争非剥夺性资源 – 竞争临时性资源 – 竞争同一资源
• 进程推进顺序不当
– 举例
死锁的必要条件
• 互斥:进程对所分配到的独享资源进行排 它性使用
PCB4 PCB5
阻塞队列指针
PCB6 PCB7
空闲队列指针
PCB8 PCB9 ……
阻塞索引表项 … 阻塞索引表项
进程控制
• 进程的创建、撤销、状态转换 • 使用原语完成进程控制工作
– 原语(primitive):用于完成一定功能的一系 列机器指令。是一个不可打断的原子操作,即 所有指令要么不执行,要么一次全部执行。 – 系统内核,管态下执行
事件发生
阻塞
等待事件
因等待(输入输出)事件的发生, 其程序暂时不能被处理机执行
• • • •
三个基本状态:就绪、执行、阻塞 状态转换:事件驱动,方向性 就绪队列:存放处于就绪状态的进程 阻塞队列:存放处于阻塞状态的进程
进程的生命周期
时间片用完
许可 调度 撤消 活动 就绪 事件发生 激活 挂起 激活 静止 就绪 释放
返回 void P(struct semaphore s) { s.value = s.value – 1; if (s.value < 0) block(s.L); }
Y 调用进程转为阻塞状态 并进入信号量等待队列
转进程调度
V原语操作
入口 信号量值加1
信号量值 <= 0
N
struct semaphore { int value; PCB* L; //过程链表 } s;
• 共享存储 • 消息
– 直接通信 – 间接通信
• 管道
线程
• • • • 基本概念 实现方式 县城同步 线程通信
处理机管理
• 进程管理 • 处理机调度 • 死锁
调度的层次
• 高级调度 • 低级调度 • 中级调度
调度的分类
• • • • 批处理调度 分时调度 实时调度 3级调度
调度算法的设计目标
进程的互斥
• 临界资源:一次只允许一个进程使用的资源
– 物理设备(打印机等)、共享变量、缓冲区
• 临界区:进程程序中访问临界资源的代码段 • 进程互斥:并发进程不得同时进入临界区 • 互斥准则
– 空闲让进:允许欲进进程进入一个空闲临界区 – 忙则等待:应让欲进进程在繁忙临界区外等待 – 有限等待:应让欲进进程在有限时间内进入临界区 – 让权等待:等待进程应阻塞自己