第二进程管理2.ppt
《第二进程管理2.ppt》由会员分享,可在线阅读,更多相关《第二进程管理2.ppt(66页珍藏版)》请在三一文库上搜索。
1、第二章 进程管理,第二章 进程管理,2.1进程的基本概念,2.2 进程控制,2.3 进程同步,2.7 线程的基本概念,2.4经典进程同步问题,2.5管程机制,2.6进程通信,2.1 进程的基本概念,1) 程序的顺序执行与并发执行 前驱图 程序的顺序执行 特征:顺序性-操作按程序规定顺序执行 封闭性-独占全机资源,不受外界影响 可再现性-只要执行环境相同,初始条件相 同,程序反复执行时结果相同,Pi是Pj的前趋,Pj是Pi的后继,程序的并发执行,并发执行的特征: 间断性 失去封闭性 不可再现性,观察者 begin repeat wait for a car through N=N+1 until
2、 end,报告者 begin repeat delay print N N=0 until end,初始N=n时不同执行序列,结果各不相同,例子:观察者与报告者,打印n+1,N=0,打印n, N=1,打印n, N=0,2) 进程(process)的定义与特征 描述:本质上来说一个进程就是一个执行的程序,是一个具有独立功能的程序在一个数据集合上的一次动态执行过程,是计算机资源的使用主体,拥有独立的地址空间。 定义:进程实体的运行过程,是OS进行资源分配和调度 的基本单位。 特征 结构特征- 进程实体=程序段+数据段+进程控制块(PCB) 动态性- 进程是进程实体的一次执行过程,进程要经历 “发生
3、,发 展和消亡”的动态变化过程。 并发性- 在一个时间间隔内多个进程同时运行。 独立性- 独立运行,独立分配资源和独立接受调度。 异步性- 按各自独立的不可预知的速度向前推进, 程序与进程之区别,3) 进程的状态及其转换 三种基本状态及其转换: 就绪状态-已经获得所需资源,只等待CPU,所有处在就绪状态的进程排在就绪队列上。 执行状态-正在运行中。 阻塞状态-进程等待某个事件,如等待I/O完成,等待某个资源,处于暂停状态。所有处在阻塞状态的进程排在队列上(一个或多个队列)。 此外还可以有新建态和终止态。,进程状态的转换,新建,终止,就绪,阻塞,运行,创建完毕,时间片用完,结束执行,选中,等待事
4、件,等待结束,具有挂起状态的状态图,引起挂起状态的原因: 终端用户的需要-暂停执行,查清问题。 父进程的需求-考查和修改子进程,或要协调各子进程间的活动。 操作系统的需要-检查运行中资源的使用情 况及进行记帐,以便改善系统运行的性能。 负荷调节的需要-当实时系统中工作负荷较重影响对实时任务的控制时,系统把一些不重要的进程挂起,以保证系统正常运行。,4) 进程控制块(PCB)Process Control Block,PCB:由系统维护用于记录进程基本情况信息,以对进程实施控制与管理的辅助数据结构(表), PCB是进程存在与否的唯一标志.作用是使多道程序环境中不能独立运行的程序成为一个能独立运行
5、的基本单位 PCB包含的内容,PCB中一般包括进程描述信息、处理器状态信 息、进程调度信息和进程控制信息4部分。 具体 内容见下页:,进程标识符信息,处理机状态信息,进程调度信息,进程控制信息,内部标识符,外部标识符,通用寄存器指令计数器程序状态字用户栈指针,进程状态,进程优先级,事件,其它信息,程序和数据的地址,进程同步和通信机制,资源清单,PCB,PCB的组织方式(逻辑结构) 将处于同一状态的进程组织在一起 链接方式 同一状态的进程其PCB成一链表,多个状态对应多个不同的链表,索引方式 同一状态的进程归入一个index表(由index指向PCB), 多个状态对应多个不同的index表,2.
6、2 进程控制,进程控制:进程的创建、撤消,进程状态转换的控 制。进程控制由进程控制原语和系统调用等在OS内核中实现,是OS进程管理的最基本功能。 进程创建 进程终止 进程的阻塞与唤醒 进程的挂起与激活 注:内核:OS的核心层部分,包括中断处理、时钟管理 原语:OS内核中能完成某特定功能的小程序,其在执行期间不 允许被分割,进程创建 进程图:描述进程之间的创建关系的有向树 子进程可以继承父进程拥有的资源,撤销父进程时同时撤销其所有子进程, 父子进程并发执行,父进程等待子进程执行结束,引起进程创建的相关事件(因素) 用户登陆(在分时系统中) 作业调度(在批处理系统中) 提供服务(用户提出请求) 应
7、用请求(用户程序引发) 进程创建步骤及算法流程(创建原语调用Create() ) 为新进程分配空白PCB表 初始化PCB,分配资源,填入相关数据 置PCB状态为就绪 PCB插入就绪队列,插入进程家族树,进程终止 引起进程终止的因素 进程正常运行结束 出错或异常结束 外界干预,强行终止 进程终止的步骤及过程(终止原语) 若被终止进程正在执行,则释放CPU 终止(撤消)该进程的所有子进程 释放资源,归还给父进程或系统 将其PCB从相关队列中摘除,释放PCB,进程阻塞与唤醒 引起进程阻塞(唤醒)的因素 请求系统服务 (请求得到满足) 启动某种操作 (操作完成) 等待新数据到达 (新数据已送达 ) 进
8、程完成任务,暂无事可做 (又有新任务) 进程阻塞的步骤及过程(阻塞或睡眠原语) 暂停执行,释放CPU 置再(重新)调度标志 保存CPU现场信息 置PCB状态为阻塞,PCB插入对应阻塞队列 进程唤醒的步骤及过程(唤醒原语) 将被唤醒进程PCB从阻塞队列中摘除 置PCB状态为就绪 将PCB插入就绪队列 注:阻塞为自行操作,唤醒为他人行为。,2.3 进程同步,进程同步和互斥的相关概念 进程同步:多个进程中发生的事件存在某种时序关系,必须协同工作、相互配合,以共同完成一项任务。 进程互斥:由于共享资源所要求的排他性,进程间要相互竞争,以获得这些资源的使用权。 临界资源(独占资源):指在一段时间内只允许
9、一个进程访问的资源。其中访问临界资源所对应的程序段叫临界区。 注:有些共享资源可以同时访问则不是临界资源,如只读数据。,进程间的同步 司机和售票员的同步,正常行驶,开车,到站停车,关车门,开车门,售票员,售票,司机,进程的互斥 互斥使用资源,进程A,(阻塞),请求资源R,进程B,请求资源R,R,练习:进程之间存在哪几种制约关系?各是什么原因引起的?下列活动分别属于哪种制约关系? 若干同学去图书馆借书; 两队举行篮球比赛; 流水线生产的各道工序; 商业生产和社会消费。,答案:进程间存在直接制约和间接制约两种制约关系,其中直接制约(同步)是由于进程间的相互合作引起的;间接制约(互斥)是由于进程间共
10、享临界资源引起的。 是间接制约,其中书是临界资源 是间接制约,其中篮球是临界资源 是直接制约,因为各道工序需要相互合作 是直接制约,因为两者也需要合作:商品生产出来后才能被消费;消费后才需要再生产,临界资源与临界区( critical section ),进程的互斥 (间接作用),由于现在操作系统中的进程是并发执行的,各进程以自己的速度向前推进,所以,运行的顺序可能是: P1:R1 = count; P2:R2 = count; P1:R1 = R1 + 1; P1:count = R1; P2:R2 = R2 +1; P2:count = R2;,错误:P1,P2 执行的结果count只加了
11、1,临界区,剩余部分,进入代码,退出代码,Dijkstra在1965年提出了三条准则: (1)每次至多一个进程处于临界区 (2)若有多个进程同时要求进入它们的临界区,应该在有限的时间内让其中一个进入而不应该相互阻塞 (3)进程在临界区中逗留有限时间,临界区的访问,进程同步及其应遵守的规则 同步机制是指为实现对临界资源互斥访问的机制。所有的同步机制都应遵循四条准则: 空闲让进 忙则等待 有限等待 让权等待,(有效利用资源),(对资源互斥访问),(避免陷入“死等”状态),(避免陷入“忙等”状态),2) 信号量机制,整型信号量 记录型信号量 AND型信号量 信号量集,整形信号量 Dijkitra把整
12、型信号量定义为一个整型量s。除初始化外,仅 能通过两个标准的原子操作即P操作wait(s)和V操作signal(s) 来访问。 wait和signal操作可描述为: wait(s): while s0 do no-op s:s一1; signal(s): s:s十1; 注意: S表示空闲资源数,P操作申请一个资源,V操作释放一个资源。 缺点: “忙等”,只要s0就不断测试,未遵循“让权等待” 。 P.V操作必须为原子操作 P.V操作必须成对出现。,记录型信号量机制 增加一个进程链表L,将等待同一临界资源的进程链成链表,注意: S.V 0 表示某类可用资源的数量 =0 其绝对值表示因请求该资源而
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 进程 管理
链接地址:https://www.31doc.com/p-3123388.html