操作系统原理与Linux实例设计--第二章培训课件

上传人:日度 文档编号:149727665 上传时间:2020-10-29 格式:PPT 页数:40 大小:125KB
返回 下载 相关 举报
操作系统原理与Linux实例设计--第二章培训课件_第1页
第1页 / 共40页
操作系统原理与Linux实例设计--第二章培训课件_第2页
第2页 / 共40页
操作系统原理与Linux实例设计--第二章培训课件_第3页
第3页 / 共40页
操作系统原理与Linux实例设计--第二章培训课件_第4页
第4页 / 共40页
操作系统原理与Linux实例设计--第二章培训课件_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《操作系统原理与Linux实例设计--第二章培训课件》由会员分享,可在线阅读,更多相关《操作系统原理与Linux实例设计--第二章培训课件(40页珍藏版)》请在金锄头文库上搜索。

1、第二章 进程的并发控制,2.1 程序、进程与并发 2.1.1 并发概述 并发和并行是不同的概念。并行是指在微观上看都可以看作是同时发生的两件或多件事。而并发是指在宏观上可近似看作同时发生的两件或多件事。 并行可看作是一种特殊的并发。严格意义上的并行处理只有在多处理器的情况下才有可能发生。而并发是现代处理系统中常有的事。,2.1.2程序的顺序执行和并发执行 (介绍程序执行的过程) 顺序执行:一个程序执行完以后才去执行下一个。 优点:便于控制。 缺点:浪费资源,不分轻重缓急。 并发执行:两个或多个程序交替执行。 优点:资源利用率高,更合理。 缺点:控制复杂,可能产生死锁。,进程及其运行环境 进程的

2、定义:可并发执行的程序,在一个数据集合上运行的过程。 进程与程序的关系:一个程序可以对应一个或多个进程;一个进程可以对应一个程序,或者对应程序的某一部分。(正解?) 认为:进程首先是可执行的程序;进程是针对操作系统而言的;在编制进程程序时应合乎进程运行的规则。,进程运行的几个基本特征: 动态性; 并发性; 独立性; 异步性; 进程的运行是并发的,也会带来一些问题: ()增加了空间开销 ()额外的时间开销 ()难于控制 ()处理器竞争尤为突出,进程的状态转换 进程是一个过程,从产生到灭亡,有若干个状态。 五状态进程模型 执行状态 阻塞状态 就绪状态 新建状态 终止状态,五状态间的相互转换: 图五

3、状态进程模型,新建,终止,就绪,阻塞,执行,接纳,事件发生,事件等待,完成,时间片完,分派调度,进程的挂起状态 对换技术的引入:进程较多,但都在等待同一操作,将一些进程调到外存,而调入新进程。被调出的进程称为挂起进程。 可能出现挂起的情形: 进程全部阻塞; 系统负荷过重; 操作系统的需要; 终端用户的请求; 父进程的需求;,挂起进程的特征: 不能立即执行; 不同于阻塞进程; 能实施挂起的进程包括自身、父进程或操作系统; 只有实施挂起操作的进程才能激活被挂起进程。,Linux 的进程及其状态转换 Linux 进程分为三类: 交互进程; 批处理进程; 守护进程。 PCB:即数据结构task_str

4、uct, 包含以下信息: 进程状态; 调度信息; 标识符; 进程通信相关信息; 链接信息; 时间信息; 文件系统信息; 虚拟内存信息; 处理器信息。,2.3 操作系统对进程的控制 2.3.1操作系统内核 核心操作。包括资源管理和支撑功能。 资源管理: 进程管理; 存储管理; 设备管理; 支撑功能: 中断处理; 原语操作(由若干机器指令构成,能完成一定的较复杂的功能); 时钟管理;, 进程的构成及组织 进程由三部分构成: 程序; 数据集合; 进程控制块;,2.3.3 进程控制块PCB 进程标识符信息 外部标识符; 内部标识符。 2. 处理器状态信息: 这些信息放在各个寄存器中,包括: 通用寄存器

5、; 指令寄存器; 程序状态字PSW; 用户堆栈指针;,3. 进程调度信息 进程状态; 进程优先级; 进程调度有关的其它信息(与算法有关); 事件。 4. 其它信息 程序和数据的地址; 进程同步和通信机制; 资源清单; 链接指针。,2.3.4 操作系统对进程的控制 包括: 进程的创建与撤销 创建的过程: 分配标识符; 分配空间; 初始化PCB; 建立链接; 建立或扩展其它数据结构。,终止进程的步骤有: 找到PCB,读状态; 若为执行态,终止之,调度下一就绪进程执行; 若有子孙进程,终止他们; 归还该进程的全部资源到系统或父进程; 将其PCB从所在队列移出。,2. 进程的阻塞与唤醒 阻塞的原因:

6、请求系统服务; 启动某种操作; 新数据尚未到达; 无事可做,需等待。 可自己阻塞自己,需要由操作系统或阻塞它的进程唤醒。,3. 进程的挂起与激活 调用原语执行。 4. 进程切换 分时系统中,分配时间片用完,转而执行另外的进程。,2.3.5对进程的控制 创建; 撤销。,Linux 的内核机制 机制的引入; 机制的数据结构; 任务队列: 定时器队列; 即时队列; 进程调度队列。,2.4 线程另一种并发实体 进程与线程 进程包括申请资源,具体执行程序等(即调度)。 将传统意义的进程分为两部分,新的进程作为资源申请与拥有的基本单位,线程作为调度的基本单位。 要有专门的语言支持多进程、多线程。,线程与进

7、程的异同: 调度; 并发性; 拥有资源; 系统开销。 多线程并发 线程从属于进程,一般拥有进程的状态,但一般不具有挂起状态。 对线程的操作: 派生; 阻塞; 解除阻塞; 结束。,2.4.3 线程的类型 用户级线程 即由用户依据一定的平台而编制的线程。 2. 内核级线程 用户无法直接对线程进行操作。,2.4.4 Linux 的进程与线程管理 该系统支持许多标准的内核级线程。 2.5进程调度 即采取什么原则让某一进程执行,即算法。,调度的目标、原则和方式 目标: 要公平合理; 处理器利用率要高; 系统吞吐量要大; 尽量减少进程的响应时间。 原则: (1)面向用户的原则 响应时间; 周转时间; 截至

8、时间。 (2)面向系统的原则 系统吞吐量; 处理器利用率; 各类资源的平衡使用; 公平性; 优先权。 方式: 非剥夺方式; 剥夺方式。,2.5.2调度的类型 长程调度 考虑的问题:选择多少作业进入内存;选择哪些进程。 短程调度 决定就绪队列里哪个进程获得处理器的使用权。 中程调度 它是对换功能的一部分。,进程调度算法 先来先服务(FCFS) 短进程优先(SPN) 时间片轮转调度法(RR) 基于优先级的调度算法 剩余时间最短者优先(SRT) 响应比高者优先(HRRN)(w/s+1)(w等待,s预期执行) 反馈调度法(FB)(根据调度的情况动态改变进程的优先级别),2.5.4 实时系统与实时任务调

9、度 实时系统与实时任务 实时系统:能及时响应外部请求,并作出反应的系统。 是一个相对的概念。 是否周期执行来划分: 周期任务; 非周期任务。 据截至时间来划分: 硬实时任务; 软实时任务。,实时调度的目标及必要信息 就绪时间; 开始截至时间和完成截至时间; 处理时间; 资源需求; 优先级; 子任务结构。,实时调度算法 最早截止时间优先调度算法; 最低松弛度优先算法; 速度单调调度算法。,进程并发控制互斥与同步 并发控制 包含的内容: 竞争资源 必须“互斥”,即不能同时使用,如打印机。这类资源又称为临界资源,访问临界资源的程序段称为临界区。 临界区的使用原则: 每次一个; 短时停留; 快速响应;

10、 不能限制进程的执行速度及处理器的数量; 不能在临界区阻塞等待。,共享协作 多个进程共享某一些资源,包括修改,要使数据保持一致。 通信协作 多个进程之间应互通信息。,互斥与同步的解决策略 软件方法 互斥算法; 互斥算法。 硬件算法 屏蔽中断; 专用机器指令,信号量方法 预设一个或多个中间变量,通过改变这些变量通知其它的进程。 管程 一段程序,多个进程都须使用。 包括三个方面: 对局部于管程的共享数据结构的说明; 对该数据结构进行操作的一组过程; 对该数据结构初始化的语句。 消息传递 与信号量的区别:有先后顺序之分,及发送消息的进程和接收消息的进程。,互斥同步问题:生产者消费者问题 用信号量方法

11、解决该问题 用消息传递解决该问题 互斥同步问题:读者写者问题 多个读者、写者进程应满足以下条件: 允许同时读; 不能同时写,只能互斥写; 若正在写,则不允许读。,Linux 通信实例 Linux 信号量分析 2.7进程死锁 死锁:多个进程因为竞争资源,或执行顺序不当,或相互通信而永久阻塞,如果没有外力将永远保持这种现象。,进程死锁的原因 必要条件: 互斥; 占有且等待; 非剥夺; 循环等待。,解决死锁的方法 预防死锁; 避免死锁; 检测并解除死锁。 预防死锁 禁止产生死锁的必要条件。, 避免死锁 提前预测将来进程执行的情况。 安全状态与不安全状态 多个进程按特定顺序执行,则不会死锁,这种状态称为安全状态。 由安全状态转为不安全状态:调用顺序不恰当,则可能出现该情况。,2. 银行家算法 2.7.5检测并解除死锁 死锁定理 什么情况下肯定会出现死锁。 死锁检测算法 解除死锁 2.8 死锁举例:哲学家进餐问题,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 专业基础教材

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号