windows操作系统-处理机管理(上)

上传人:小** 文档编号:89190747 上传时间:2019-05-21 格式:PPT 页数:50 大小:1.01MB
返回 下载 相关 举报
windows操作系统-处理机管理(上)_第1页
第1页 / 共50页
windows操作系统-处理机管理(上)_第2页
第2页 / 共50页
windows操作系统-处理机管理(上)_第3页
第3页 / 共50页
windows操作系统-处理机管理(上)_第4页
第4页 / 共50页
windows操作系统-处理机管理(上)_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《windows操作系统-处理机管理(上)》由会员分享,可在线阅读,更多相关《windows操作系统-处理机管理(上)(50页珍藏版)》请在金锄头文库上搜索。

1、进程和进程控制 线程 进程互斥和同步 进程间通信 死锁问题 处理器调度,第三章 处理机管理(上), ,进程和进程控制,进程的定义和描述 进程的状态转换 进程控制 Windows的进程管理,进程的定义和描述,进程的定义,一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。,进程的特征,动态性具有动态的地址空间 独立性各进程的地址空间相互独立 并发性宏观上各进程同时运行 结构化进程的地址空间是结构化的,进程和进程控制,进程与程序的区别,进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。通常进程不可在计算机之间迁移;而程序通常对应着文件,是静态的,可以复制。 进程是暂时的

2、,程序的永久的:进程是一个状态变化的过程,程序可长久保存。 进程与程序的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)。 进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。,进程的定义和描述,进程和进程控制,进程控制块,每个进程在OS中的登记表项(可能有总数目限制),OS据此对进程进行控制和管理(PCB中的内容会动态改变) 处于核心段,通常不能由应用程序自身的代码来直接访问,而要通过系统调用访问,进程控制块(PCB, process control block)是由OS维护的用来记录进程相关信息的一个数据结构。,进程和进程控制,

3、进程的定义和描述,进程控制块的内容,进程描述信息: 进程标识符(process ID),唯一,通常是一个整数; 进程名,通常基于可执行文件名; 用户标识符(user ID);进程组 (process group) 进程控制信息: 当前状态; 优先级(priority); 代码执行入口地址; 程序的外存地址; 运行统计信息(执行时间、页面调度); 阻塞原因 资源占用信息:虚拟地址空间的现状、打开文件列表 CPU现场保护结构:寄存器值(通用、程序计数器PC、状态PSW,地址包括栈指针),进程和进程控制,进程的定义和描述,PCB的组织方式,链表:同一状态的进程其PCB成一链表,多个状态对应多个不同的

4、链表。各状态的进程形成不同的链表:就绪链表、阻塞链表 索引表:同一状态的进程归入一个index表(由index指向PCB),多个状态对应多个不同的index表。 各状态的进程形成不同的索引表:就绪索引表、阻塞索引表,进程和进程控制,进程的定义和描述,进程上下文(context),用户级上下文:进程的用户地址空间(包括用户栈各层次),包括用户正文段、用户数据段和用户栈; 寄存器级上下文:程序寄存器、处理机状态寄存器、栈指针、通用寄存器的值; 系统级上下文: 静态部分(PCB和资源表格) 动态部分:核心栈(核心过程的栈结构,不同进程在调用相同核心过程时有不同核心栈),进程上下文是对进程执行活动全过

5、程的静态描述。进程上下文由进程的用户地址空间内容、硬件寄存器内容及与该进程相关的核心数据结构组成。,进程和进程控制,进程的定义和描述,五状态进程模型,五状态进程模型(状态转换),进程的状态转换,进程在从创建到终止的全过程中一直处于一个不断变化的过程, 为了刻画进程的这个变化过程,操作系统把进程分成若干种状态,进程和进程控制,状态,新建状态(New):进程刚创建,但还不能运行(一种可能的原因是OS对并发进程数的限制); OS在进程新建状态的工作:分配和建立PCB表项、建立资源表格(如打开文件表)并分配资源,加载程序并建立地址空间表。 结束状态(Exit):进程已结束运行. 回收除PCB之外的其他

6、资源,并让其他进程从PCB中收集有关信息(如记帐,将退出码exit code传递给父进程)。,进程的状态转换,五状态进程模型,进程和进程控制,运行状态(Running):占用处理机资源并运行;处于此状态的进程的数目小于等于CPU的数目。 在没有其他进程可以执行时(如所有进程都在阻塞状态),通常会自动执行系统的idle进程(相当于空操作)。 就绪状态(Ready):进程已获得除处理机外的所需资源,等待分配处理机资源;只要分配CPU就可执行。 可以按多个优先级来划分队列,如:时间片用完低优,I/O完成中优,页面调入完成高优 阻塞状态(Blocked):由于进程等待某种条件(如I/O操作或进程同步)

7、,在条件满足之前无法继续执行。在该事件发生前即使把处理机分配给该进程,也无法运行。如:等待I/O操作的完成。,进程的状态转换,五状态进程模型,进程和进程控制,进程状态转换,创建(Create)新进程:创建一个新进程,以运行一个程序。 提交(Admit):收容一个新进程,进入就绪状态。由于性能、内存、进程总数等原因,系统会限制并发进程总数。 调度运行(Dispatch):从就绪进程表中选择一个进程,进入运行状态; 释放(Release):由于进程完成或失败而中止进程运行,进入结束状态; 运行到结束:分为正常退出Exit和异常退出abort(执行超时或内存不够,非法指令或地址,I/O失败,被其他进

8、程所终止) 就绪或阻塞到结束:可能的原因有:父进程可在任何时间中止子进程;,进程的状态转换,五状态进程模型,进程和进程控制,超时(Timeout):由于用完时间片或高优先进程就绪等导致进程暂停运行; 事件等待(Event Wait):进程要求的事件未出现而进入阻塞;可能的原因包括:申请系统服务或资源、通信、I/O操作等; 事件发生(Event Occurs):进程等待的事件发生;如:I/O操作完成、申请资源成功等;,进程的状态转换,五状态进程模型,进程和进程控制,五状态进程模型没有区分进程地址空间位于内存还是外存,而在操作系统中引入虚拟存储管理技术后,需要进一步区分进程的地址空间状态。 这个问

9、题的出现是由于进程优先级的引入,一些低优先级进程可能等待较长时间,从而被对换至外存。这样做的目的是: 提高处理机效率:就绪进程表为空时,有空闲的内存空间来提交新进程,以提高处理机效率; 为运行进程提供足够内存:资源紧张时,暂停某些进程,如:CPU繁忙(或实时任务执行),内存紧张 用于调试:在调试时,挂起被调试进程(从而对其地址空间进行读写),挂起进程模型,进程的状态转换,进程和进程控制,单挂起进程模型,挂起进程模型,进程的状态转换,进程和进程控制,双挂起进程模型,挂起进程模型,进程的状态转换,进程和进程控制,Admit,Running,Ready,Suspend,Exit,Ready,Bloc

10、ked,Dispatch,Timeout,Event,Wait,Event,Occurs,Release,Blocked,Suspend,Suspend,New,Event,Occurs,Activate,Suspend,Activate,Admit,Suspend,就绪状态(Ready):进程在内存且可立即进入运行状态; 阻塞状态(Blocked):进程在内存并等待某事件的出现; 阻塞挂起状态(Blocked, suspend):进程在外存并等待某事件的出现; 就绪挂起状态(Ready, suspend):进程在外存,但只要进入内存,即可运行;,挂起进程模型,进程的状态转换,状态,进程和进程

11、控制,挂起(Suspend):把一个进程从内存转到外存;可能有以下几种情况: 阻塞到阻塞挂起:没有进程处于就绪状态或就绪进程要求更多内存资源时,会进行这种转换,以提交新进程或运行就绪进程; 就绪到就绪挂起:当有高优先级阻塞(系统认为会很快就绪的)进程和低优先级就绪进程时,系统会选择挂起低优先级就绪进程; 运行到就绪挂起:对抢先式操作系统,当有高优先级阻塞进程因事件出现而进入就绪状态时,系统可能会把运行进程转到就绪挂起状态;,挂起进程模型,进程的状态转换,状态转换,进程和进程控制,Running,Ready,Suspend,Ready,Blocked,Dispatch,Timeout,Event

12、,Wait,Event,Occurs,Blocked,Suspend,Suspend,Event,Occurs,Activate,Suspend,Activate,Suspend,激活(Activate):把一个进程从外存转到内存;可能有以下几种情况: 就绪挂起到就绪:没有就绪进程或挂起就绪进程优先级高于就绪进程时,会进行这种转换; 阻塞挂起到阻塞:当一个进程释放足够内存时,系统会把一个高优先级阻塞挂起进程激活, 系统认为会很快出现所等待的事件;,挂起进程模型,进程的状态转换,状态转换,进程和进程控制,Running,Ready,Suspend,Ready,Blocked,Dispatch,T

13、imeout,Event,Wait,Event,Occurs,Blocked,Suspend,Suspend,Event,Occurs,Activate,Suspend,Activate,Suspend,事件发生(Event Occurs):进程等待的事件发生,可能的情况有: 阻塞到就绪:针对内存进程的事件发生; 阻塞挂起到就绪挂起:针对外存进程的事件发生;,挂起进程模型,进程的状态转换,进程和进程控制,状态转换,Running,Ready,Suspend,Ready,Blocked,Dispatch,Timeout,Event,Wait,Event,Occurs,Blocked,Suspen

14、d,Suspend,Event,Occurs,Activate,Suspend,Activate,Suspend,收容(Admit):收容一个新进程,进入就绪状态或就绪挂起状态。进入就绪挂起的原因是系统希望保持一个大的就绪进程表(挂起和非挂起);,挂起进程模型,进程的状态转换,进程和进程控制,状态转换,Admit,Running,Ready,Suspend,Ready,Dispatch,Timeout,New,Suspend,Activate,Admit,Suspend,双挂起进程模型,挂起进程模型,进程的状态转换,进程和进程控制,Admit,Running,Ready,Suspend,Exit,Ready,Blocked,Dispatch,Timeout,Event,Wait,Event,Occurs,Re

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

当前位置:首页 > 商业/管理/HR > 管理学资料

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