进程管理ppt课件

上传人:mg****85 文档编号:50041021 上传时间:2018-08-06 格式:PPT 页数:77 大小:1.09MB
返回 下载 相关 举报
进程管理ppt课件_第1页
第1页 / 共77页
进程管理ppt课件_第2页
第2页 / 共77页
进程管理ppt课件_第3页
第3页 / 共77页
进程管理ppt课件_第4页
第4页 / 共77页
进程管理ppt课件_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《进程管理ppt课件》由会员分享,可在线阅读,更多相关《进程管理ppt课件(77页珍藏版)》请在金锄头文库上搜索。

1、图4-1 编译程序上的两个进程4.1 什么是进程第四章进程管理程序的1次执行就是1个进程 进程具有如下特性: 4.1 什么是进程第四章进程管理动态性 并发性 独立性 4.1 什么是进程进程是动态的,而程序是静态的 第四章进程管理 1个程序可以对应多个进程,但1个进程只能对应1个程序 系统进程 用户进程 4.2 进程状态变迁就绪(Ready)状态第四章进程管理阻塞(Blocked)状态运行状态 图4-2 进程状态变迁图4.2 进程状态变迁就绪运行 第四章进程管理运行阻塞 阻塞就绪运行就绪 图4-3 UNIX系统 V的进程状态变迁图4.3 进程的组成 PCB结构正文段数据段 第四章进程管理图4-4

2、 进程的组成PCB 数据段正文段4.3.1 进程控制块一个进程只有一个PCB,PCB是进程存在与否的唯一标记第四章进程管理描述信息管理信息 4.3.1 进程控制块资源清单第四章进程管理现场保存区其他(例如指向下一个PCB链接指针 )4.3.2 实例 UNIX系统中 ,把proc结构,正文段和数据段称为进程映象 第四章进程管理把进程定义为进程映象的执行 图4-5 UNIX进程组成数据段堆栈段user结构正文段proc结构 text结构4.4 进程上下文图4-6 UNIX系统 V进程上下文 第四章进程管理4.5 进程控制4.5.1 内核和微核操作系统的内核(kernel) 第四章进程管理微核(mi

3、cro kernel) 或微内核提供四类小型服务: 进程间通信(IPC,InterProcess Communication) 底层输入输出 有限调度和有限进程控制 最低级的存储管理 4.5.1 内核和微核微核技术正成为一种潮流第四章进程管理内核或微核提供核外调用的过程或函数称为原语(primitive)。原语是一段用机器指令编写的完成特定功能的程序,在执行过程中不允许中断 第四章进程管理4.5.2 进程控制原语创建原语create 撤消原语kill 唤醒原语wakeup 阻塞原语block 第四章进程管理4.6 进程互斥4.6.1 临界资源与临界段 1次仅允许1个进程使用 具备这种特性的资源

4、称为临界资源(critical resource),使用临界资源的那段程序称为临界段(critical section) 从进程角度看,它被各个进程互斥地使用 第四章进程管理4.6.2 互斥工具图4-7 临界资源的抽象表示(初始状态)/信息量变量mutex初值量1,队列空/程序开始/COBEGIN与COEND之间的进程是并发的第四章进程管理4.6.2 互斥工具 识别临界资源,一看是否被共享,二看是否有排他性使用要求 临界段代码应尽量短小,不能有死循环 P和V原语应分别紧靠临界段的头尾部 第四章进程管理4.7 进程同步4.7.1 PV操作的同步机制生产者/消费者(producer/consume

5、r)问题是经典的进程同步问题 图4-8 进程互斥与同步的模板第四章进程管理4.7.2 条件临界区4.7.3 管程把分散在各个进程中的同步段代码集中起来管理的 想法引出管程(monitor)机制。资源及其对资源的操作 被认为是一种抽象数据类型,进程同步是发生在这种 抽象数据类型上的事件。管程(Hoare, 1974)是关于资 源抽象数据类型的一种实现机制,因此它对进程同步 相当有效 图4-9 语义结构第四章进程管理4.7.3 管程 cond.wait cond.signal cond.queue 第四章进程管理4.7.3 管程磁头调度的管程设计 第四章进程管理4.8 进程间通信图4-10 通信模

6、型第四章进程管理4.8.1 软中断软中断是通过发送规定的信号到指定进程软中断是对硬中断的一种模拟 第四章进程管理4.8.1.2 信号发送供用户进程发送软中断信号的系统调用是kill(pid, sig), 其中pid为对方进程的标识号,sig为信号名称 4.8.1.3 信号接收与处理 UN1X系统V有一条系统调用signal(sig, func)用于软 中断信号的接收与处理 signal(sig, func)中的第1参数sig为信号名,第2参数 func为对该信号的处理方式 按u_signalsig中的入口地址转软中断处理程序。软 中断处理程序必须预先设计好 第四章进程管理4.8.2 共享存储把

7、需要交换的信息发送到某一约定的存储区域,接受 进程从该区域读取信息,从而实现2个或2个以上进程间的 通信。这种通信方式称为共享存储涉及共享区的系统调用通常有创建、附接、断接、状 态查询 图4-11 共享存储通信示意图进程A的虚空间共享区 进程B的虚空间虚存主存地址变换第四章进程管理4.8.2 共享存储 shmget(key, size, flag) shmat(shmid, addr, flag) shmdt(viraddr) shmctl(shmid, cmd, buf) 第四章进程管理4.8.3 共享文件利用共享文件进行通信的方式,在UNIX系统 中称为管道通信 图4-12 利用共享文件通

8、信第四章进程管理4.8.3.1 PIPE机制 pipe语法格式为: int pipe(fildes) int fildes2; 读进程可以使用fildes0,把管道中的数据取走 。写进程可以使用filder1,往管道中写入数据 第四章进程管理4.8.3.2 PIPE通信管道的最简单用法是在UNIX Shell命令中用符号“|” 把2个相关命令连接起来 who | sort | more 第四章进程管理4.8.4 消息传递4.8.4.1 一对一图4-14 一对一通信第四章进程管理4.8.4.1 一对一消息缓冲区的结构 第四章进程管理4.8.4.1 一对一 消息发送 第四章进程管理4.8.4.1

9、一对一 消息接收 第四章进程管理4.8.4.2 多client单server图4-15 client/server第四章进程管理4.8.4.3 信箱信箱通信是构造电子邮件系统的基础 图4-16 信箱通信第四章进程管理4.8.4.4 缓冲容量缓冲容量问题 同步消息传递异步消息传递 第四章进程管理4.8.4.4 缓冲容量 p应执行下面的原语序列: send(q, message);表示发送消息 receive(q, ack_message);表示等待对方应答 q进程执行如下对应的原语序列: receive(p, message); 表示接受消息 send(p, “acknowledgment”);

10、发送回答信号 第四章进程管理4.8.4.5 微核中的IPC Mach采用消息传递(message passing)方式通信 port集(portset)概念 message passing 通信方式使Mach更为适合于松耦合的分布式多机体系结构 mapping(映射)方法和thread handoff(线程转手调度)方法 第四章进程管理4.9 进程调度4.9.1 概述剥夺方式(preemptive mode)和非剥夺方式(non-preemptive mode) 周转时间TT(turn around time)和平均周转时间ATT(average turn around time) 响应时间R

11、T(response time) 第四章进程管理4.9.2 调度算法4.9.2.1 先来先服务(FCFS: first come first service) 第四章进程管理4.9.2.2 最短周期优先 SBF允许剥夺式调度 第四章进程管理4.9.2.3 优先级法优先级调度的基本思想是,把当前处于就绪队列中 优先级最高的进程投入运行,而不管各进程的下一个 CPU周期的长短和其他因素 静态优先数 动态优先数 优先级调度也允许剥夺方式 第四章进程管理4.9.2.4 轮转法轮转法就是按一定时间片(记为q)轮番运行各个进程 q的大小不仅影响CPU的利用率,也影响平均周转时间 图4-17 q与ATT的关

12、系第四章进程管理4.9.2.5 多队列反馈法图4-18 多队列反馈调度第四章进程管理4.9.3 调度实现保存下行进程的上下文按上述调度算法从就绪队列选出上行进程恢复上行进程的上下文,此时上行进程由断点处开始执行而成为现行进程 第四章进程管理4.9.4 实例研究UNIX进程调度4.9.4.3优先数计算 p_pri=p_cpu/2+PUSER+p_nice+NZERO 第四章进程管理4.10 进程死锁4.10.1 死锁概念死锁是多个进程竞争资源而形成的一种僵持局面 产生死锁的根本原因有二。一是系统内的资源数量不足。二是进程推进的顺序不当系统某一时刻的状态可用进程资源图 (PRG:process r

13、esource graph)表示 图4-19 进程资源图(含环路)第四章进程管理4.10.1 死锁概念环路上的进程有可能死锁,也可能不死锁 死锁的产生有如下4个必要条件: (1)互斥使用 (2)保持和请求 (3)不剥夺性 (4)循环等待 第四章进程管理4.10.2 死锁排除4.10.2.1 死锁预防资源的静态分配资源编序 第四章进程管理4.10.2.2 死锁避免定义:在T0时刻系统是安全的或系统处于安全 状态,仅当存在一个进程序列 ,对进 程pi ( i = 1,2,n )满足 称该序列为安全序列 第四章进程管理4.10.2.2 死锁避免银行家算法(Dijkstra 1965,Habermann 1969)。该算法判断当前资源分配是否会导致系统进入不安全状态,若会则拒绝分配 第四章进程管理4.10.2.3 死锁检测很多实际操作系统都采用死锁检测方法4.10.2.4 死锁解除撤消处于死锁状态的进程并收回它们的资源 资源剥夺方法 进程回退

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

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