版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2021-7-8山东农业大学计算机系山东农业大学计算机系1 第第2 2章章 进程管理进程管理 山东农业大学计算机系山东农业大学计算机系 2021-7-8山东农业大学计算机系山东农业大学计算机系2 知识体系框架图知识体系框架图 2021-7-8山东农业大学计算机系山东农业大学计算机系3 主要知识点主要知识点 进程与线程进程与线程 处理机调度处理机调度 进程同步与互斥进程同步与互斥 死死 锁锁 进程概念进程概念 进程的状态与转换进程的状态与转换 进程控制进程控制 进程组织进程组织 进程通信进程通信 线程概念与多线程模型线程概念与多线程模型 调度的基本概念调度的基本概念 调度时机、切换与过程调度时机
2、、切换与过程 调度的基本准则调度的基本准则 调度方式调度方式 典型调度算法典型调度算法 进程同步的概念进程同步的概念 实现临界区互斥的基本方法实现临界区互斥的基本方法 信号量信号量 经典同步算法经典同步算法 死锁概念死锁概念 死锁处理策略死锁处理策略 死锁预防死锁预防 死锁避免死锁避免 死锁检测与解除死锁检测与解除 2021-7-8山东农业大学计算机系山东农业大学计算机系4 2.1 2.1 进程与线程进程与线程 在多道程序设计的环境下,为了描在多道程序设计的环境下,为了描 述程序在计算机系统内的执行情况,述程序在计算机系统内的执行情况, 必须引人新的概念必须引人新的概念进程进程。 O进程的定义
3、:进程的定义:可并发执行的程序在一个可并发执行的程序在一个 数据集合上的一次执行过程数据集合上的一次执行过程, ,是系统进行资是系统进行资 源分配和调度的一个独立单位。源分配和调度的一个独立单位。 2021-7-8山东农业大学计算机系山东农业大学计算机系5 进程的组成进程的组成 操作系统表示、管理进程的操作系统表示、管理进程的PCBPCB表以及:表以及: 执行的执行的程序程序及处理的及处理的数据数据; 一片存放程序和数据的空间一片存放程序和数据的空间; 一个栈区一个栈区(一个用户栈一个用户栈,一个核心栈一个核心栈); 进程使用的其它系统资源。进程使用的其它系统资源。 2021-7-8山东农业大
4、学计算机系山东农业大学计算机系6 练习题练习题 “程序状态字寄存器内容程序状态字寄存器内容”属于进程属于进程 控制块的控制块的( ) A、标识信息、标识信息 B、控制信息、控制信息 C、现场信息、现场信息 D、调度信息、调度信息 C 程序和数据的地址程序和数据的地址 进程同步和通信机制进程同步和通信机制 资源清单资源清单 链接指针链接指针 进程优先级进程优先级 进程调度所需其他信进程调度所需其他信 息息 事件事件 进程状态进程状态 2021-7-8山东农业大学计算机系山东农业大学计算机系7 l进程上下文(进程上下文(process context) 是进程执行活动全过程的静态描述。是进程执行活
5、动全过程的静态描述。 进程的物理实体与支持进程运行的物理环境统称为进程的物理实体与支持进程运行的物理环境统称为 进程上下文进程上下文 lPCB+程序程序 l系统环境:地址空间,系统栈,打开文件表,系统环境:地址空间,系统栈,打开文件表, l上下文切换(上下文切换(context switch) 由一个进程的上下文转到另外一个进程的上下文由一个进程的上下文转到另外一个进程的上下文 l系统开销(系统开销(system overhead) 运行操作系统程序完成系统管理工作所花费的时间运行操作系统程序完成系统管理工作所花费的时间 和空间和空间 进程上下文进程上下文 2021-7-8山东农业大学计算机系
6、山东农业大学计算机系8 进程上下文进程上下文 2021-7-8山东农业大学计算机系山东农业大学计算机系9 核心态和用户态核心态和用户态 用户态时不可直接访问受保护的用户态时不可直接访问受保护的OS代码;代码; 核心态时可执行全部核心态时可执行全部OS代码代码. (处理机运行时的两种状态)(处理机运行时的两种状态) 2021-7-8山东农业大学计算机系山东农业大学计算机系10 进程核心栈:进程核心栈:处理机状态信息保存区。处理机状态信息保存区。 保存进程核心态运行现场信息:保存进程核心态运行现场信息: 通用寄存器通用寄存器。这是指用户程序可以使用的数。这是指用户程序可以使用的数 据、地址寄存器。
7、据、地址寄存器。 控制和状态寄存器控制和状态寄存器。如程序计数器。如程序计数器(PC);处;处 理机状态字理机状态字(PS) 用户栈:用户栈:保存在用户态执行时函数调保存在用户态执行时函数调 用的参数、局部变量和其它数据结构。用的参数、局部变量和其它数据结构。 用户栈与核心栈用户栈与核心栈 2021-7-8山东农业大学计算机系山东农业大学计算机系11 用户栈与核心栈用户栈与核心栈 一个进程的核心栈和用户栈是分开的;一个进程的核心栈和用户栈是分开的; 当一个进程在用户态下执行时,它的核当一个进程在用户态下执行时,它的核 心栈为空。心栈为空。 进程执行过程:进程执行过程: 用户态用户态 系统调用系
8、统调用 中断中断 核心态核心态 当进程转换至核心态时,开始使用核心当进程转换至核心态时,开始使用核心 栈。栈。 2021-7-8山东农业大学计算机系山东农业大学计算机系12 执执 行行阻阻 塞塞 就就 绪绪 时间片完时间片完 I/OI/O请求请求 进程调度进程调度 I/OI/O完成完成 进程的三种基本状态以及各状态之间的转换关系进程的三种基本状态以及各状态之间的转换关系 进程的基本状态与转换进程的基本状态与转换 2021-7-8山东农业大学计算机系山东农业大学计算机系13 任一进程任一时刻有任一进程任一时刻有( ) A. 一种状态一种状态 B两种状态两种状态 C. 三种状态三种状态 D四种状态
9、四种状态 A 练习题练习题 2021-7-8山东农业大学计算机系山东农业大学计算机系14 A. 从运行状态到阻塞状态;从运行状态到阻塞状态; B. 从运行状态到就绪状态;从运行状态到就绪状态; C. 从就绪状态到运行状态;从就绪状态到运行状态; D. 从阻塞状态到就绪状态。从阻塞状态到就绪状态。 A 练习题练习题 进程自身决定()。进程自身决定()。 2021-7-8山东农业大学计算机系山东农业大学计算机系15 A. 进程获得进程获得CPU运行是通过调度得到的;运行是通过调度得到的; B. 优先级是进程调度的重要依据,一旦确定就不能优先级是进程调度的重要依据,一旦确定就不能 改变;改变; C.
10、 在单在单CPU的系统中,任意时刻都有一个进程处于的系统中,任意时刻都有一个进程处于 运行状态;运行状态; D. 进程申请进程申请CPU得不到满足时,其状态变为阻塞。得不到满足时,其状态变为阻塞。 A 练习题练习题 以下关于进程的描述中,正确的是:以下关于进程的描述中,正确的是: 2021-7-8山东农业大学计算机系山东农业大学计算机系16 答:答: 进程运行完成而终止。进程运行完成而终止。 进程因等待而进入阻塞状态。进程因等待而进入阻塞状态。 发现有比现行进程更高优先权进程。发现有比现行进程更高优先权进程。 进程用完了规定的时间片。进程用完了规定的时间片。 系统出现异常强行进入进程调度系统出
11、现异常强行进入进程调度 练习题练习题 进程调度是内核的进程控制原语之一,进程调度是内核的进程控制原语之一, 该原语在什么情况下被启动?该原语在什么情况下被启动? 2021-7-8山东农业大学计算机系山东农业大学计算机系17 20102010年考研试题之一年考研试题之一 26、下列选项中,降低进程优先级的合、下列选项中,降低进程优先级的合 理时机是()。理时机是()。 A、进程的时间片用完、进程的时间片用完 B、进程刚完成、进程刚完成I/O,进入就绪队列,进入就绪队列 C、进程长期处于就绪队列中、进程长期处于就绪队列中 D、进程从就绪状态转为运行态、进程从就绪状态转为运行态 2021-7-8山东
12、农业大学计算机系山东农业大学计算机系18 例、某系统的进程状态变迁如图例、某系统的进程状态变迁如图 所示(设该系统的进程调度方式所示(设该系统的进程调度方式 为可剥夺方式):为可剥夺方式): 执执 行行 因因I/OI/O阻塞阻塞低优先就绪低优先就绪 首次选择首次选择 100ms 高优先就绪高优先就绪 其次选择其次选择 500ms 2 1 3 4 5 创创 建建 2021-7-8山东农业大学计算机系山东农业大学计算机系19 v 说明进程发生变迁说明进程发生变迁1、3、5的原因;的原因; v 当发生一个变迁时可能引起另一个变迁的当发生一个变迁时可能引起另一个变迁的 发生,则这两个变迁称为因果变迁。
13、下述发生,则这两个变迁称为因果变迁。下述 因果变迁是否会发生,如果有可能的话,因果变迁是否会发生,如果有可能的话, 会在什么情况下发生?会在什么情况下发生? (a) 35 (b) 32 (c) 21 (d) 41 (e) 45 v 根据状态变迁图说明该系统的调度策略和根据状态变迁图说明该系统的调度策略和 调度效果。调度效果。 请回答请回答 2021-7-8山东农业大学计算机系山东农业大学计算机系20 分析分析 本题主要考查对进程状态变迁的理解。本题主要考查对进程状态变迁的理解。 图中将传统的图中将传统的3种进程状态改成了种进程状态改成了4种,种, 其实就是将就绪按优先级分成了两级。其实就是将就
14、绪按优先级分成了两级。 但对于进程而言,其最基本的状态还是但对于进程而言,其最基本的状态还是3 个:运行、阻塞、就绪,只是在调度时,个:运行、阻塞、就绪,只是在调度时, 引入了优先级抢占方式。引入了优先级抢占方式。 2021-7-8山东农业大学计算机系山东农业大学计算机系21 解答解答 v系统中当前运行着的进程因中止、结束或等待某系统中当前运行着的进程因中止、结束或等待某 个个I/O事件而退出运行,并且此时高优先就绪队列事件而退出运行,并且此时高优先就绪队列 中没有等待进程,发生中没有等待进程,发生变迁变迁1; v当运行着的进程发出当运行着的进程发出I/O请求,需要等待请求,需要等待I/O事件
15、事件 完成才能继续进行,发生完成才能继续进行,发生变迁变迁3; v当有高优先级进程进入就绪队列,并且运行着的当有高优先级进程进入就绪队列,并且运行着的 进程是低优先级进程时,高优先级进程会抢占进程是低优先级进程时,高优先级进程会抢占 CPU,发生,发生变迁变迁5. 变迁变迁1、3、5的原因:的原因: 2021-7-8山东农业大学计算机系山东农业大学计算机系22 下述因果变迁的发生及情况:下述因果变迁的发生及情况: (a) 35 是因果变迁;是因果变迁; (b) 32 不是;不是; (c) 21 是;是; (d) 41 不是;不是; (e) 45 是。是。 此系统采用根据进程优先级分别设置高优先
16、就绪队列和此系统采用根据进程优先级分别设置高优先就绪队列和 低优先就绪队列:低优先就绪队列: 高优先进程运行高优先进程运行100ms 后就降为低优先就绪队列,以使后就降为低优先就绪队列,以使 短进程优先完成;短进程优先完成; 对低优先就绪队列中的进程采用时间片轮转法(时间片对低优先就绪队列中的进程采用时间片轮转法(时间片 程度为程度为500ms),确保每个进程都有运行机会;),确保每个进程都有运行机会; 同时,对于进行了同时,对于进行了I/O操作的进程赋予一个高优先级,保操作的进程赋予一个高优先级,保 证对外界事件可以尽快响应。证对外界事件可以尽快响应。 2021-7-8山东农业大学计算机系山
17、东农业大学计算机系23 不同调度算不同调度算 法的进程状法的进程状 态转换图态转换图 2021-7-8山东农业大学计算机系山东农业大学计算机系24 例题:某系统采用可抢占处理机的静例题:某系统采用可抢占处理机的静 态优先数调度算法,请问何时会发生态优先数调度算法,请问何时会发生 抢占处理机的现象抢占处理机的现象? ? 答:当一个新创建的进程或一个被答:当一个新创建的进程或一个被 唤醒进程的优先数比正在运行进程唤醒进程的优先数比正在运行进程 的优先数高时,可能发生抢占处理的优先数高时,可能发生抢占处理 机现象。机现象。 2021-7-8山东农业大学计算机系山东农业大学计算机系25 进程的状态与转
18、换进程的状态与转换 NewNewRunningRunningExitExit ReadyReadyBlockedBlocked 被调度被调度 时间片完时间片完 事件发生事件发生 等待事件等待事件 结束结束 进入就绪队列进入就绪队列 2021-7-8山东农业大学计算机系山东农业大学计算机系26 练习题练习题 2021-7-8山东农业大学计算机系山东农业大学计算机系27 练习题 判断:进程是基于多道程序技术而提出判断:进程是基于多道程序技术而提出 来的。其最基本的特性是动态性和并发来的。其最基本的特性是动态性和并发 性;进程的执行也即在各种基本状态之性;进程的执行也即在各种基本状态之 间多次转换的
19、过程。间多次转换的过程。 错误。进程在新、死状态上只经过一次!错误。进程在新、死状态上只经过一次! 2021-7-8山东农业大学计算机系山东农业大学计算机系28 1.1.活动就绪活动就绪静止就绪静止就绪 2.2.活动阻塞活动阻塞静止阻塞静止阻塞 3.3.静止就绪静止就绪活动就绪活动就绪 4.4.静止阻塞静止阻塞活动阻塞活动阻塞 引入挂起状态引入挂起状态 2021-7-8山东农业大学计算机系山东农业大学计算机系29 具有挂起操作的进程状态转换图具有挂起操作的进程状态转换图 创建创建 阻塞阻塞 唤醒唤醒 挂挂 起起 激活激活 活跃活跃 阻塞阻塞 运行运行 静止静止 阻塞阻塞 静止静止 就绪就绪 活
20、跃活跃 就绪就绪 时间片用完时间片用完 调调 度度 挂挂 起起 唤醒唤醒 激活激活 活跃活跃 静止静止 挂挂 起起 2021-7-8山东农业大学计算机系山东农业大学计算机系30 试分析中断与进程状态转换试分析中断与进程状态转换 之间的关系之间的关系 答:答: 进程状态转换是通过原语实现的、由内核控制的;进程状态转换是通过原语实现的、由内核控制的; 如果一个进程的状态发生了改变,则在新旧状态之如果一个进程的状态发生了改变,则在新旧状态之 间一定发生了处理机状态由目态到管态的转换;间一定发生了处理机状态由目态到管态的转换; 而中断是处理机状态由目态转换到管态的必要条件;而中断是处理机状态由目态转换
21、到管态的必要条件; 所以所以中断也是进程状态转换的必要条件中断也是进程状态转换的必要条件。 2021-7-8山东农业大学计算机系山东农业大学计算机系31 进程控制进程控制 原语原语(primitive):由若干条指令构成由若干条指令构成 的的“原子操作原子操作(atomic operation)” 过程,作为一个整体而不可分割过程,作为一个整体而不可分割 要么全都完成,要么全都不做。要么全都完成,要么全都不做。 内核控制下,由原语实现内核控制下,由原语实现! 原语是一种特殊的系统调用。原语是一种特殊的系统调用。 2021-7-8山东农业大学计算机系山东农业大学计算机系32 B 练习题练习题 操
22、作系统中有一组常称为特殊系统调用的操作系统中有一组常称为特殊系统调用的 程序,它不能被系统中断,在操作系统中程序,它不能被系统中断,在操作系统中 称为(称为( )。)。 A.初始化程序初始化程序 B. 原语原语 C.子程序子程序 D. 控制模块控制模块 2021-7-8山东农业大学计算机系山东农业大学计算机系33 创建过程:创建过程: (1) (1) 申请空白申请空白PCBPCB (2) (2) 为新进程分配资源为新进程分配资源 (3) (3) 初始化初始化PCBPCB (4) (4) 将新进程插入就绪队列将新进程插入就绪队列 操作系统发现要求创建新进程的事件操作系统发现要求创建新进程的事件
23、后,调用进程创建原语创建新进程。后,调用进程创建原语创建新进程。 进程的创建进程的创建 2021-7-8山东农业大学计算机系山东农业大学计算机系34 1 用户登录:在分时系统中,用户在终端键入登录命令后,若 是合法用户,系统建立一个进程,并插入就绪队列。 2 作业调度:批处理系统中,作业调度程序调度到某个作业以 后,就把这个作业装入内存,并分配必要的资源, 创建进程,插入就绪队列。 3 提供服务:运行中的用户向系统提出请求后,系统专门建立一 个进程为用户服务。(打印请求) 4 应用请求:应用进程的需要,由它自己创建一个新进程,使新 进程以并发运行方式完成特定任务。(输入数据并 将处理结果输出到
24、表格上) 由操作系统核心(系统程序模块)创建由操作系统核心(系统程序模块)创建 由父进程创建由父进程创建 引起创建进程的事件引起创建进程的事件 2021-7-8山东农业大学计算机系山东农业大学计算机系35 20102010年考研试题之一年考研试题之一 24、下列选项中,导制创进新进程的操作是()下列选项中,导制创进新进程的操作是() I 用户登陆成功用户登陆成功 II 设备分配设备分配 III 启动程序执行启动程序执行 A、仅、仅I和和II B、仅、仅II和和III C、仅、仅I和和III D、I、II、III 2021-7-8山东农业大学计算机系山东农业大学计算机系36 进程的终止进程的终止
25、 引起进程终止的事件引起进程终止的事件 用户退出用户退出 运行完毕运行完毕 因出错而停止因出错而停止 用户请求用户请求 2021-7-8山东农业大学计算机系山东农业大学计算机系37 父进程终止,子进程可以不必父进程终止,子进程可以不必 随之撤销,对吗?随之撤销,对吗? 错错! 练习题练习题 6种种 进程控制原语主要有哪几种?进程控制原语主要有哪几种? 2021-7-8山东农业大学计算机系山东农业大学计算机系38 练习题练习题 填空:为了实现进程由等待状态转换成填空:为了实现进程由等待状态转换成 就绪状态的状态变化,操作系统应提供就绪状态的状态变化,操作系统应提供 _原语。原语。 唤醒原语唤醒原
26、语 2021-7-8山东农业大学计算机系山东农业大学计算机系39 进程的特征进程的特征 动态性动态性 并发性并发性 结构性结构性 独立性独立性 异步性异步性 程序段程序段 数据段数据段 进程控制块进程控制块PCBPCB 独立运行独立运行 独立分配资源独立分配资源 独立接受调度的基本单位独立接受调度的基本单位 最基本的特征最基本的特征 2021-7-8山东农业大学计算机系山东农业大学计算机系40 进程和程序进程和程序 进程是动态的,程序是进程是动态的,程序是 静态的。静态的。 进程是暂时的,程序可进程是暂时的,程序可 长久保存。长久保存。 进程和程序的组成不同。进程和程序的组成不同。 进程与程序
27、的对应关系。进程与程序的对应关系。 一个程序可以对应多个进程,一个程序可以对应多个进程, 一个进程也可以对应多个程序。一个进程也可以对应多个程序。 2021-7-8山东农业大学计算机系山东农业大学计算机系41 A 练习题练习题 进程与程序之间有密切联系,但又是不同进程与程序之间有密切联系,但又是不同 的概念。二者的一个本质区别是(的概念。二者的一个本质区别是( )。)。 A程序是静态概念,进程是动态概念程序是静态概念,进程是动态概念 B程序是动态概念,进程是静态概念程序是动态概念,进程是静态概念 C程序保存在文件中,进程存放在内存中程序保存在文件中,进程存放在内存中 D程序顺序执行,进程并发执
28、行程序顺序执行,进程并发执行 2021-7-8山东农业大学计算机系山东农业大学计算机系42 进程切换与进程切换与CPUCPU模式切换模式切换 进程切换进程切换是让处于运行态的进程中断运行,是让处于运行态的进程中断运行, 让出处理器,这时要做一次进程上下文切让出处理器,这时要做一次进程上下文切 换、即保存老进程状态而装入被保护了的换、即保存老进程状态而装入被保护了的 新进程的状态,以便新进程运行。新进程的状态,以便新进程运行。 模式切换是模式切换是当系统调用(中断)发生时,当系统调用(中断)发生时, 暂时中断正在执行的用户进程,把进程从暂时中断正在执行的用户进程,把进程从 用户状态切换到内核状态
29、,去执行操作系用户状态切换到内核状态,去执行操作系 统例行程序以获得服务。统例行程序以获得服务。 2021-7-8山东农业大学计算机系山东农业大学计算机系43 模式切换:模式切换:进程在用户态运行进程在用户态运行用户程序用户程序, 在自陷、系统调用和中断时转换到核心在自陷、系统调用和中断时转换到核心 态运行操作系统态运行操作系统内核程序内核程序. 进程切换:进程切换:指正在运行的进程因为自身指正在运行的进程因为自身 等待事件或有更迫切需要运行的进程就等待事件或有更迫切需要运行的进程就 绪而放弃处理机,处理机转去运行其他绪而放弃处理机,处理机转去运行其他 进程进程 . 模式切换与进程切换模式切换
30、与进程切换 2021-7-8山东农业大学计算机系山东农业大学计算机系44 模式切换与进程切换的区别模式切换与进程切换的区别 模式切换模式切换 不引起进程状态变化不引起进程状态变化 也不一定引起进程的切换也不一定引起进程的切换 从核心态返回时可以通过逆向设置返回用户态继续从核心态返回时可以通过逆向设置返回用户态继续 执行被中断的进程执行被中断的进程 进程切换进程切换 进程调度的本质进程调度的本质 在核心态下发生在核心态下发生 引起进程状态的变迁引起进程状态的变迁 进程上下文的切换进程上下文的切换 2021-7-8山东农业大学计算机系山东农业大学计算机系45 例题:例题:若在若在T1T1时刻用户进
31、程时刻用户进程P1P1运行,运行,T2T2 时刻用户进程时刻用户进程P2P2运行,且运行,且P1P2 ,P1P2 ,则在则在 时刻时刻T1T1和时刻和时刻T2T2期间之内一定发生过中期间之内一定发生过中 断。这种说法对吗断。这种说法对吗? ? 为什么为什么? ? 答:正确。答:正确。 如果在时刻如果在时刻 T1进程进程P1在运行,在时刻在运行,在时刻T2进程进程P2在运行,在运行, 且且P1P2,则说明在,则说明在T1和和T2之间发生了之间发生了进程切换进程切换。 即在即在T1和和T2之间执行了处理机之间执行了处理机调度程序调度程序,而处理机调度,而处理机调度 程序是操作系统低层中的一个模块,
32、运行于管态,说明在程序是操作系统低层中的一个模块,运行于管态,说明在T1 与与T2时刻之间处理机状态曾时刻之间处理机状态曾由目态转换到管态由目态转换到管态。 由于中断是系统由目态转换为管态的必要条件,所以在时由于中断是系统由目态转换为管态的必要条件,所以在时 刻刻T1与时刻与时刻T2之间一定发生过中断,也就是说,中断是进之间一定发生过中断,也就是说,中断是进 程切换的必要条件,程切换的必要条件,然而中断不是进程切换的充分条件。然而中断不是进程切换的充分条件。 2021-7-8山东农业大学计算机系山东农业大学计算机系46 上题续上题续 例如例如: 一个进程执行一个系统调用命令将一个进程执行一个系
33、统调用命令将 一个消息发给另外一个进程,该命令的一个消息发给另外一个进程,该命令的 执行将通过中断进入操作系统,操作系执行将通过中断进入操作系统,操作系 统处理完消息的发送工作后可能返回原统处理完消息的发送工作后可能返回原 调用进程,此时中断未导致进程切换;调用进程,此时中断未导致进程切换; 也可能选择一个新的进程,此时中断导也可能选择一个新的进程,此时中断导 致了进程切换。致了进程切换。 2021-7-8山东农业大学计算机系山东农业大学计算机系47 UNIXUNIX中进程上下文切换和模式切换中进程上下文切换和模式切换 系统调系统调 用或中用或中 断断( (隐隐 含模式含模式 切换切换) )
34、模式切换模式切换 用户态用户态 运行运行 等待等待 状态状态 就绪就绪 状态状态 发生事件发生事件 唤醒唤醒 调度进程调度进程 核心态核心态 运行运行 中断、中断、 中断返回中断返回 时间片到时间片到 2021-7-8山东农业大学计算机系山东农业大学计算机系48 作业(作业(Job)Job) 作业概念作业概念 用户要求计算机系统为其完成的计算任务集合。用户要求计算机系统为其完成的计算任务集合。 作业步(作业步(job step) 作业处理过程中一个相对独立的步骤作业处理过程中一个相对独立的步骤 一般一个作业步可由一个进程完成一般一个作业步可由一个进程完成 某些作业步之间可以并行某些作业步之间可
35、以并行 作业分类作业分类 批处理作业批处理作业 交互式作业交互式作业 2021-7-8山东农业大学计算机系山东农业大学计算机系49 JCLJCL与与JCBJCB 作业控制语言作业控制语言(JCL):(JCL):是对用户作业的进行组 织和管理的各种控制命令的集合. 作业控制说明书作业控制说明书是用户用于描述批处理作业处 理过程控制意图的一种特殊程序, 作业控制说 明书主要包括内容: 作业的基本描述、作业控 制描述和资源要求描述 作业控制块作业控制块是批处理作业存在的标志,其中保 存了系统对于作业进行管理所需要的全部信息, 它们被保存于磁盘区域中 2021-7-8山东农业大学计算机系山东农业大学计
36、算机系50 作业与进程的关系作业与进程的关系 作业作业: :是用户对计算机的一次独立的使用是用户对计算机的一次独立的使用 过程过程 进程进程: :是分配计算机资源的单位是分配计算机资源的单位, ,是用户任是用户任 务运行的实体务运行的实体, ,作业可包含多个进程作业可包含多个进程( (至少至少 一个一个) ) 2021-7-8山东农业大学计算机系山东农业大学计算机系51 批处理系统作业与进程关系批处理系统作业与进程关系 作业调度程序作业调度程序每选择一道每选择一道作业作业运行时运行时,首首 先为该作业创建一个先为该作业创建一个根进程根进程,该进程执行该进程执行 作业控制语言解释器程序,并可根据
37、需作业控制语言解释器程序,并可根据需 要创建多个子进程要创建多个子进程. 2021-7-8山东农业大学计算机系山东农业大学计算机系52 作业和进程状态转换图作业和进程状态转换图 提交提交后备后备 运行运行完成完成 作业输入作业输入 作业调度作业调度 创建进程创建进程 作业终止作业终止 就绪就绪执行执行 等待等待 进程调度进程调度 2021-7-8山东农业大学计算机系山东农业大学计算机系53 把用户的一次上机过程看成是一个把用户的一次上机过程看成是一个交互作交互作 业业( (无论从内部表示及外部特征无论从内部表示及外部特征, ,它都有别它都有别 于批作业于批作业) ); 系统为每个终端设备生成一
38、个系统为每个终端设备生成一个进程进程,该进,该进 程运行程运行终端命令解释器终端命令解释器。该进程根据需要。该进程根据需要 还可以创建多个子进程还可以创建多个子进程 分时系统作业与进程之关系分时系统作业与进程之关系 2021-7-8山东农业大学计算机系山东农业大学计算机系54 作业、进程、线程作业、进程、线程 作业与进程作业与进程 作业进入内存后变为进程作业进入内存后变为进程 一个作业通常与多个进程相对应一个作业通常与多个进程相对应 进程与线程进程与线程 不支持多线程的系统,可视为单线程进程不支持多线程的系统,可视为单线程进程 一个进程一般包含多个线程,至少包含一个一个进程一般包含多个线程,至
39、少包含一个 线程线程 2021-7-8山东农业大学计算机系山东农业大学计算机系55 A 练习题练习题 进程与程序之间有密切联系,但又是不同进程与程序之间有密切联系,但又是不同 的概念。二者的一个本质区别是(的概念。二者的一个本质区别是( )。)。 A程序是静态概念,进程是动态概念程序是静态概念,进程是动态概念 B程序是动态概念,进程是静态概念程序是动态概念,进程是静态概念 C程序保存在文件中,进程存放在内存中程序保存在文件中,进程存放在内存中 D程序顺序执行,进程并发执行程序顺序执行,进程并发执行 2021-7-8山东农业大学计算机系山东农业大学计算机系56 C 练习题练习题 用户在一次计算过
40、程中,或者一次事物处用户在一次计算过程中,或者一次事物处 理中,要求计算机完成所做的工作的集合,理中,要求计算机完成所做的工作的集合, 这是指(这是指( )。)。 A.进程进程 B.程序程序 C.作业作业 D.系统调用系统调用 2021-7-8山东农业大学计算机系山东农业大学计算机系57 错!错!作业一共有四种状态,其中的运行作业一共有四种状态,其中的运行 状态是指被调度进入内存后的状态,此状态是指被调度进入内存后的状态,此 时被称作进程,因此,不管进程处于什时被称作进程,因此,不管进程处于什 么状态,都是作业的运行状态。么状态,都是作业的运行状态。 判断题判断题 当作业对应的进程阻塞时,该作
41、业处于等当作业对应的进程阻塞时,该作业处于等 待状态。待状态。 2021-7-8山东农业大学计算机系山东农业大学计算机系58 练习题练习题 进程的基本状态有执行、进程的基本状态有执行、 和和 。 批处理作业的基本状态有运行、批处理作业的基本状态有运行、 和和 。其中,。其中,运行运行 状态包含了进程的等待状状态包含了进程的等待状 态。态。 作业调度程序实现了作业从作业调度程序实现了作业从 状态到执行状态到执行 状态的转换,而进程调度状态的转换,而进程调度 程序实现了进程程序实现了进程 从从状态到执行状态的转换。状态到执行状态的转换。 处于处于状态的进程是不会获得状态的进程是不会获得CPU的。的
42、。 2021-7-8山东农业大学计算机系山东农业大学计算机系59 进程通信进程通信 进程通信进程通信 低级通信低级通信 高级通信高级通信 进程间竞进程间竞 争资源争资源 进程间相进程间相 互合作互合作 共享存储共享存储 器系统器系统 消息传消息传 递系统递系统 管道管道 通信通信 进程互斥进程互斥进程同步进程同步 信号量机制信号量机制 信号量信号量 集机制集机制 记录型信记录型信 号量机制号量机制 整型信号整型信号 量机制量机制 管程机制管程机制 基于基于 共享共享 数据数据 结构结构 方式方式 基于基于 共享共享 存储存储 区方区方 式式 直接直接 通信通信 方式方式 间接通间接通 信方式信
43、方式 -信箱信箱 通信通信 2021-7-8山东农业大学计算机系山东农业大学计算机系60 进程的通信进程的通信 低级通信进程同步低级通信进程同步 简单的信号交换(如:锁、信号简单的信号交换(如:锁、信号 量等,主要交换的是控制信号)量等,主要交换的是控制信号) 高级通信进程通信高级通信进程通信 高效、大量数据传递高效、大量数据传递 2021-7-8山东农业大学计算机系山东农业大学计算机系61 进程通信的类型进程通信的类型 共享存储器系统共享存储器系统 消息传递系统消息传递系统 管道通信系统管道通信系统 2021-7-8山东农业大学计算机系山东农业大学计算机系62 在共享存储器系统中,相互通信的
44、进程在共享存储器系统中,相互通信的进程 共享某些共享某些存储区存储区,进程之间能够通过这,进程之间能够通过这 些空间进行通信。些空间进行通信。 共享存储器系统共享存储器系统 向系统申请共享存储区中的一个分区向系统申请共享存储区中的一个分区 指定该分区的关键字指定该分区的关键字 如果已经给其他进程分配了这样的存储区,如果已经给其他进程分配了这样的存储区, 将使用分区的描述符返回给申请者将使用分区的描述符返回给申请者 申请者将申请到的共享分区挂到本进程上申请者将申请到的共享分区挂到本进程上 2021-7-8山东农业大学计算机系山东农业大学计算机系63 消息传递系统:消息传递系统:进程间的数据交换,
45、以格进程间的数据交换,以格 式化的消息为单位。式化的消息为单位。 消息传递系统消息传递系统 计算机网络:计算机网络:消息称为报文。程序员直消息称为报文。程序员直 接利用系统提供的一组通信命令接利用系统提供的一组通信命令( (原语原语) ) 进行通信。进行通信。 直接通信方式(消息缓冲机制)直接通信方式(消息缓冲机制) 间接通信方式(信箱通信方式)间接通信方式(信箱通信方式) 2021-7-8山东农业大学计算机系山东农业大学计算机系64 所谓所谓“管道管道”,是指用于连接,是指用于连接 一个读进程和一个写进程以实一个读进程和一个写进程以实 现他们之间通信的一个现他们之间通信的一个共享文共享文 件
46、,又名件,又名pipe文件。文件。 管道通信管道通信 2021-7-8山东农业大学计算机系山东农业大学计算机系65 试比较进程间的低级通信工试比较进程间的低级通信工 具与高级通信工具具与高级通信工具 用户用低级通信工具实现进程通信很用户用低级通信工具实现进程通信很 不方便,因为其效率低,通信对用户不方便,因为其效率低,通信对用户 不透明,所有的操作都必须由程序员不透明,所有的操作都必须由程序员 来实现;来实现; 高级通信工具则可弥补这些缺陷,用高级通信工具则可弥补这些缺陷,用 户可直接利用操作系统所提供的一组户可直接利用操作系统所提供的一组 通信命令,高效地传送大量的数据。通信命令,高效地传送
47、大量的数据。 2021-7-8山东农业大学计算机系山东农业大学计算机系66 在单处理机环境下,进程间在单处理机环境下,进程间 有哪几种通信方式有哪几种通信方式? ? 共享存储器系统通信方式共享存储器系统通信方式; 消息传递系统通信方式消息传递系统通信方式; 管道通信方式管道通信方式. 2021-7-8山东农业大学计算机系山东农业大学计算机系67 B 练习题练习题 在进程通信中,使用信箱方式交换信息的在进程通信中,使用信箱方式交换信息的 是(是( )。)。 A低级进程通信低级进程通信 B高级进程通信高级进程通信 C共享内存方式共享内存方式 D管道文件方式管道文件方式 2021-7-8山东农业大学
48、计算机系山东农业大学计算机系68 C 练习题练习题 在间接通信时,用在间接通信时,用Send(N,M)原语发送信原语发送信 件,其中件,其中N表示:表示: A 发送信件的进程名发送信件的进程名 B 接收信件的进程名接收信件的进程名 C 信箱名信箱名 D 信件内容信件内容 2021-7-8山东农业大学计算机系山东农业大学计算机系69 B 练习题练习题 用信箱实现进程间通信时应该用信箱实现进程间通信时应该( ) A.由发送信件者设置信箱由发送信件者设置信箱 B.由接受信件者设置信箱由接受信件者设置信箱 C.当信箱满时让接收者等信箱当信箱满时让接收者等信箱 D. 在在send原语中指出发送者名原语中
49、指出发送者名 2021-7-8山东农业大学计算机系山东农业大学计算机系70 消息缓冲通信机制有什么好处?消息缓冲通信机制有什么好处? 试述消息缓冲通信的过程。试述消息缓冲通信的过程。 消息缓冲通信机制不仅能较好地解决进程间的同步互斥问消息缓冲通信机制不仅能较好地解决进程间的同步互斥问 题,还能交换大量信息,是理想的进程通信工具;题,还能交换大量信息,是理想的进程通信工具; 操作系统隐藏了进程通信的实现细节,即通信过程对用户操作系统隐藏了进程通信的实现细节,即通信过程对用户 是透明的,简化了通信程序编制上的复杂性。是透明的,简化了通信程序编制上的复杂性。 实现过程:实现过程: 当某个进程需要向另
50、一个进程发送消息时,便向系统申请当某个进程需要向另一个进程发送消息时,便向系统申请 一个消息缓冲区,并把要发送的数据送到消息缓冲区,然一个消息缓冲区,并把要发送的数据送到消息缓冲区,然 后把该消息缓冲区插入到接受进程的消息队列中;后把该消息缓冲区插入到接受进程的消息队列中; 接受进程在接受消息时,只要从本进程的消息队列中摘下接受进程在接受消息时,只要从本进程的消息队列中摘下 该消息缓冲区,即可从中取下所需的信息,然后把该消息该消息缓冲区,即可从中取下所需的信息,然后把该消息 缓冲区交还给系统。缓冲区交还给系统。 2021-7-8山东农业大学计算机系山东农业大学计算机系71 试比较消息队列与管道
51、通信试比较消息队列与管道通信 机制机制 所谓管道,是指用于连接一个读进程和一所谓管道,是指用于连接一个读进程和一 个写进程、以实现它们之间通信的共享文个写进程、以实现它们之间通信的共享文 件,又称件,又称pipe文件。管道通信是属于共享文件。管道通信是属于共享 存储器系统的。存储器系统的。 消息队列通信机制属于消息传递系统通信消息队列通信机制属于消息传递系统通信 机制,存在通信链路,有消息的格式,有机制,存在通信链路,有消息的格式,有 若干缓冲队列,采用独特的发送原语和接若干缓冲队列,采用独特的发送原语和接 收原语收原语.。 2021-7-8山东农业大学计算机系山东农业大学计算机系72 引入引
52、入进程进程 的目的:的目的: 使多个程序能并发执行,提高使多个程序能并发执行,提高资源利用率资源利用率和系和系 统统吞吐量吞吐量。 引入引入线程线程 的目的:的目的: 减少程序在并发执行时所付出的减少程序在并发执行时所付出的时空开销时空开销,使,使 操作系统具有更好的并发性。操作系统具有更好的并发性。 线程的引入线程的引入 2021-7-8山东农业大学计算机系山东农业大学计算机系73 线程的概念线程的概念 线程:进程中一个相对独立的执行流。线程:进程中一个相对独立的执行流。 进程与线程进程与线程 进程是资源分配单位进程是资源分配单位 线程是线程是CPU执行单位执行单位 多线程优点多线程优点 切
53、换速度快(地址空间不变)切换速度快(地址空间不变) 系统开销小系统开销小 通讯容易(共享数据空间)通讯容易(共享数据空间) 2021-7-8山东农业大学计算机系山东农业大学计算机系74 资源拥有者资源拥有者 执行序列执行序列 进程控制块 进 程 用户地址空间 用户堆栈 系统堆栈 进程的抽象模型进程的抽象模型 2021-7-8山东农业大学计算机系山东农业大学计算机系75 管理和执行相分离的进程模型管理和执行相分离的进程模型 用户堆栈 系统堆栈 执行控制 进 程 进程控制块用户地址空间 共 享 用户堆栈 系统堆栈 执行控制 执行序列执行序列 资源拥有者资源拥有者 执行序列执行序列 2021-7-8
54、山东农业大学计算机系山东农业大学计算机系76 进进 程程 地址空间地址空间 线线 程程 1 1 共共 享享 线线 程程 空空 间间 线线 程程 2 2 线线 程程 n n 线程的内存布局线程的内存布局 2021-7-8山东农业大学计算机系山东农业大学计算机系77 内核支持线程和用户级线程 内核支持线程,内核支持线程,它们是依赖于内核的,它们是依赖于内核的, 即无论是用户进程中的线程,还是系统即无论是用户进程中的线程,还是系统 进程中的线程,它们的创建、撤消、切进程中的线程,它们的创建、撤消、切 换都由内核实现。换都由内核实现。 用户级线程,用户级线程,对于这种线程的创建、撤对于这种线程的创建、
55、撤 消、和切换,都不用系统调用来实现。消、和切换,都不用系统调用来实现。 内核并不知道用户级线程的存在。内核并不知道用户级线程的存在。 2021-7-8山东农业大学计算机系山东农业大学计算机系78 核心级线程(核心级线程(KLTKLT) 所有线程管理由核心完成所有线程管理由核心完成 没有线程库,但核心提供没有线程库,但核心提供APIAPI 核心维护进程和线程的上下文核心维护进程和线程的上下文 线程之间的切换需要核心支持线程之间的切换需要核心支持 以线程为基础进行调度以线程为基础进行调度 例子:例子:Windows 2000/XPWindows 2000/XP 2021-7-8山东农业大学计算机
56、系山东农业大学计算机系79 进程进程 线程线程 核心栈核心栈 进程表进程表 用户空间用户空间系统空间系统空间 TCB 2021-7-8山东农业大学计算机系山东农业大学计算机系80 用户级线程用户级线程(ULT)(ULT) 实现方法:实现方法: 基于基于library函数,系统不可见函数,系统不可见 线程创建、撤销、状态转换在目态完成线程创建、撤销、状态转换在目态完成 TCB在用户空间,每个进程一个系统栈在用户空间,每个进程一个系统栈 优点:优点: 不依赖于操作系统,调度灵活不依赖于操作系统,调度灵活 切换无须从目态到管态,速度快切换无须从目态到管态,速度快 ULTULT可运行在任何操作系统上(
57、只需要线程库),可以在一个可运行在任何操作系统上(只需要线程库),可以在一个 不支持线程的不支持线程的OSOS上实现上实现 缺点:缺点: 核心只将处理器分配给进程,核心只将处理器分配给进程,在多处理机中同一进程中多个在多处理机中同一进程中多个 线程不能真正并行线程不能真正并行 一个线程进入系统受阻,进程中其它线程不能执行一个线程进入系统受阻,进程中其它线程不能执行 2021-7-8山东农业大学计算机系山东农业大学计算机系81 运行时系统运行时系统 TCB 进程进程 线程线程 核心栈核心栈 进程表进程表 用户空间用户空间系统空间系统空间 用户级线程用户级线程 运行时系统:用于管理和控制线程的函数
58、集合。运行时系统:用于管理和控制线程的函数集合。 2021-7-8山东农业大学计算机系山东农业大学计算机系82 线程库线程库 提供线程运行管理系统:提供线程运行管理系统: 创建、撤消线程创建、撤消线程 在线程之间传递消息和数据在线程之间传递消息和数据 调度线程执行调度线程执行 保护和恢复线程上下文保护和恢复线程上下文 2021-7-8山东农业大学计算机系山东农业大学计算机系83 用户级线程和核心级线程用户级线程和核心级线程 2021-7-8山东农业大学计算机系山东农业大学计算机系84 用户级线程与核心级线程的比较用户级线程与核心级线程的比较 用户级线程用户级线程(ULT)核心及线程核心及线程(
59、KLT) 管理管理线程库线程库内核内核 调度单位调度单位进程进程线程线程 切换速度切换速度同一进程诸线程间切换,由线程同一进程诸线程间切换,由线程 库完成,速度较快库完成,速度较快 由内核完成,速度较慢由内核完成,速度较慢 系统调用行为系统调用行为内核看做是整个用户进程的行为内核看做是整个用户进程的行为内核只看做该线程的行为内核只看做该线程的行为 阻塞阻塞用户进程用户进程线程线程 优点优点线程切换不调用内核,切换速度线程切换不调用内核,切换速度 较快,调度算法可由应用程序定较快,调度算法可由应用程序定 对多处理器,可同时调度同对多处理器,可同时调度同 一进程的多个线程,速度较一进程的多个线程,
60、速度较 快,阻塞是在线程一级快,阻塞是在线程一级 缺点缺点阻塞在用户进程一级阻塞在用户进程一级同一进程内的线程切换速度同一进程内的线程切换速度 较慢较慢 2021-7-8山东农业大学计算机系山东农业大学计算机系85 例题 设进程设进程A拥有拥有1个用户级线程,进程个用户级线程,进程B拥有拥有100 个用户级线程,则在系统调度时各占用几个时个用户级线程,则在系统调度时各占用几个时 间片?间片? 答:答:1 1个个 设进程设进程A拥有拥有1个内核级线程,进程个内核级线程,进程B拥有拥有100 个内核级线程,则在系统调度时各占用几个时个内核级线程,则在系统调度时各占用几个时 间片?间片? 答:答:A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年钢基2白毛女教学设计
- 2025-2026学年钢琴课程教学设计
- 高中信息技术选修1教学设计-5.1 任务分析与系统设计-教科版
- 1.4 有理数的加减说课稿2025学年初中数学沪科版2024七年级上册-沪科版2024
- 高中信息技术粤教版选修1教学设计-4.2.1 用穷举法求解问题的基本过程
- 21 我不能失信 教学设计统编版语文三年级下册
- 2025-2026学年木板设计图教学
- 2025-2026学年防震减灾教案反思
- 部门工作报告模板(4篇)
- 2025-2026学年高中生物碳循环教学设计
- 工程保险投保及理赔管理办法
- 2026事业单位招聘考试《公共基础知识》真题库及答案
- 2026年重阳节主题课件
- 检验科标本溢洒应急处置脚本
- 理发店消防责任制度
- 深圳市中金岭南有色金属股份有限公司2026届校园招聘备考题库及参考答案详解
- 2025中国华电集团有限公司校园招聘笔试历年参考题库附带答案详解
- 威宁县病死畜禽无害化处理中心项目建设项目环境影响报告表
- 耳迷走神经刺激仪
- 审计岗位笔试试题及答案
- 2025年职业院校技能大赛高职组(融媒体内容策划与制作赛项)考试题库(含答案)
评论
0/150
提交评论