操作系统原理与Linux实例设计-第二章.ppt

上传人:小飞机 文档编号:6472720 上传时间:2023-11-03 格式:PPT 页数:40 大小:297.32KB
返回 下载 相关 举报
操作系统原理与Linux实例设计-第二章.ppt_第1页
第1页 / 共40页
操作系统原理与Linux实例设计-第二章.ppt_第2页
第2页 / 共40页
操作系统原理与Linux实例设计-第二章.ppt_第3页
第3页 / 共40页
操作系统原理与Linux实例设计-第二章.ppt_第4页
第4页 / 共40页
操作系统原理与Linux实例设计-第二章.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《操作系统原理与Linux实例设计-第二章.ppt》由会员分享,可在线阅读,更多相关《操作系统原理与Linux实例设计-第二章.ppt(40页珍藏版)》请在三一办公上搜索。

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

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

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

4、;虚拟内存信息;处理器信息。,2.3 操作系统对进程的控制操作系统内核核心操作。包括资源管理和支撑功能。资源管理:进程管理;存储管理;设备管理;支撑功能:中断处理;原语操作(由若干机器指令构成,能完成一定的较复杂的功能);时钟管理;,进程的构成及组织进程由三部分构成:程序;数据集合;进程控制块;,2.3.3 进程控制块PCB进程标识符信息外部标识符;内部标识符。2.处理器状态信息:这些信息放在各个寄存器中,包括:通用寄存器;指令寄存器;程序状态字PSW;用户堆栈指针;,3.进程调度信息进程状态;进程优先级;进程调度有关的其它信息(与算法有关);事件。4.其它信息程序和数据的地址;进程同步和通信

5、机制;资源清单;链接指针。,2.3.4 操作系统对进程的控制包括:进程的创建与撤销创建的过程:分配标识符;分配空间;初始化PCB;建立链接;建立或扩展其它数据结构。,终止进程的步骤有:找到PCB,读状态;若为执行态,终止之,调度下一就绪进程执行;若有子孙进程,终止他们;归还该进程的全部资源到系统或父进程;将其PCB从所在队列移出。,2.进程的阻塞与唤醒阻塞的原因:请求系统服务;启动某种操作;新数据尚未到达;无事可做,需等待。可自己阻塞自己,需要由操作系统或阻塞它的进程唤醒。,3.进程的挂起与激活调用原语执行。4.进程切换分时系统中,分配时间片用完,转而执行另外的进程。,对进程的控制创建;撤销。

6、,Linux 的内核机制机制的引入;机制的数据结构;任务队列:定时器队列;即时队列;进程调度队列。,2.4 线程另一种并发实体进程与线程进程包括申请资源,具体执行程序等(即调度)。将传统意义的进程分为两部分,新的进程作为资源申请与拥有的基本单位,线程作为调度的基本单位。要有专门的语言支持多进程、多线程。,线程与进程的异同:调度;并发性;拥有资源;系统开销。多线程并发线程从属于进程,一般拥有进程的状态,但一般不具有挂起状态。对线程的操作:派生;阻塞;解除阻塞;结束。,2.4.3 线程的类型用户级线程即由用户依据一定的平台而编制的线程。2.内核级线程用户无法直接对线程进行操作。,2.4.4 Lin

7、ux 的进程与线程管理该系统支持许多标准的内核级线程。2.5进程调度即采取什么原则让某一进程执行,即算法。,调度的目标、原则和方式目标:要公平合理;处理器利用率要高;系统吞吐量要大;尽量减少进程的响应时间。原则:(1)面向用户的原则响应时间;周转时间;截至时间。(2)面向系统的原则系统吞吐量;处理器利用率;各类资源的平衡使用;公平性;优先权。方式:非剥夺方式;剥夺方式。,调度的类型长程调度考虑的问题:选择多少作业进入内存;选择哪些进程。短程调度决定就绪队列里哪个进程获得处理器的使用权。中程调度它是对换功能的一部分。,进程调度算法先来先服务(FCFS)短进程优先(SPN)时间片轮转调度法(RR)

8、基于优先级的调度算法剩余时间最短者优先(SRT)响应比高者优先(HRRN)(w/s+1)(w等待,s预期执行)反馈调度法(FB)(根据调度的情况动态改变进程的优先级别),2.5.4 实时系统与实时任务调度实时系统与实时任务实时系统:能及时响应外部请求,并作出反应的系统。是一个相对的概念。是否周期执行来划分:周期任务;非周期任务。据截至时间来划分:硬实时任务;软实时任务。,实时调度的目标及必要信息就绪时间;开始截至时间和完成截至时间;处理时间;资源需求;优先级;子任务结构。,实时调度算法最早截止时间优先调度算法;最低松弛度优先算法;速度单调调度算法。,进程并发控制互斥与同步并发控制包含的内容:竞

9、争资源必须“互斥”,即不能同时使用,如打印机。这类资源又称为临界资源,访问临界资源的程序段称为临界区。临界区的使用原则:每次一个;短时停留;快速响应;不能限制进程的执行速度及处理器的数量;不能在临界区阻塞等待。,共享协作多个进程共享某一些资源,包括修改,要使数据保持一致。通信协作多个进程之间应互通信息。,互斥与同步的解决策略软件方法互斥算法;互斥算法。硬件算法屏蔽中断;专用机器指令,信号量方法预设一个或多个中间变量,通过改变这些变量通知其它的进程。管程一段程序,多个进程都须使用。包括三个方面:对局部于管程的共享数据结构的说明;对该数据结构进行操作的一组过程;对该数据结构初始化的语句。消息传递与

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号