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

上传人:hs****ma 文档编号:584749905 上传时间:2024-08-31 格式:PPT 页数:50 大小:914.50KB
返回 下载 相关 举报
Windows操作系统-处理机管理(上)_第1页
第1页 / 共50页
Windows操作系统-处理机管理(上)_第2页
第2页 / 共50页
Windows操作系统-处理机管理(上)_第3页
第3页 / 共50页
Windows操作系统-处理机管理(上)_第4页
第4页 / 共50页
Windows操作系统-处理机管理(上)_第5页
第5页 / 共50页
点击查看更多>>
资源描述

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

1、1进程和进程控制进程和进程控制线程线程进程互斥和同步进程互斥和同步进程间通信进程间通信死锁问题死锁问题处理器调度处理器调度第三章第三章 处理机管理处理机管理( (上上) ) Windows操作系操作系统统-处处理机管理理机管理(上上)2进程和程和进程控制程控制进程的定义和描述进程的定义和描述进程的状态转换进程的状态转换进程控制进程控制Windows的进程管理的进程管理Windows操作系操作系统统-处处理机管理理机管理(上上)3进程的定程的定义和描述和描述进程的定义进程的定义一个具有一定独立功能的程序在一个数据集合上的一次动态执一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。行过

2、程。进程的特征进程的特征动态性具有动态的地址空间动态性具有动态的地址空间独立性各进程的地址空间相互独立独立性各进程的地址空间相互独立并发性宏观上各进程同时运行并发性宏观上各进程同时运行结构化进程的地址空间是结构化的结构化进程的地址空间是结构化的进程和进程控制进程和进程控制Windows操作系操作系统统-处处理机管理理机管理(上上)4进程与程序的区别进程与程序的区别进程与程序的区别进程与程序的区别进程是动态的,程序是静态的进程是动态的,程序是静态的:程序是有序代码的集合;:程序是有序代码的集合;进程是程序的执行。通常进程不可在计算机之间迁移;而进程是程序的执行。通常进程不可在计算机之间迁移;而程

3、序通常对应着文件,是静态的,可以复制。程序通常对应着文件,是静态的,可以复制。进程是暂时的,程序的永久的进程是暂时的,程序的永久的:进程是一个状态变化的过:进程是一个状态变化的过程,程序可长久保存。程,程序可长久保存。进程与程序的组成不同进程与程序的组成不同:进程的组成包括程序、数据和进:进程的组成包括程序、数据和进程控制块(即进程状态信息)。程控制块(即进程状态信息)。进程与程序的对应关系进程与程序的对应关系:通过多次执行,一个程序可对应:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。多个进程;通过调用关系,一个进程可包括多个程序。进程的定义和描述进程的定义和描

4、述进程和进程控制进程和进程控制Windows操作系操作系统统-处处理机管理理机管理(上上)5进程控制块进程控制块进程控制块进程控制块每个进程在每个进程在OS中的登记表项(可能有总数目限制),中的登记表项(可能有总数目限制),OS据此据此对进程进行对进程进行控制和管理控制和管理(PCB中的内容会动态改变)中的内容会动态改变)处于核心段处于核心段,通常不能由应用程序自身的代码来直接访问,而,通常不能由应用程序自身的代码来直接访问,而要通过系统调用访问要通过系统调用访问进程控制块进程控制块(PCB, process control block)是由是由OS维护的维护的用来记录进程相关信息的一个数据结

5、构。用来记录进程相关信息的一个数据结构。进程和进程控制进程和进程控制进程的定义和描述进程的定义和描述Windows操作系操作系统统-处处理机管理理机管理(上上)6进程控制块的内容进程控制块的内容进程控制块的内容进程控制块的内容进程描述信息进程描述信息:进程标识符进程标识符(process ID),唯一,通常是一个整数;,唯一,通常是一个整数;进程名,通常基于可执行文件名;进程名,通常基于可执行文件名;用户标识符用户标识符(user ID);进程组;进程组 (process group)进程控制信息进程控制信息:当前状态;当前状态;优先级优先级(priority);代码执行入口地址;代码执行入口

6、地址;程序的外存地址;程序的外存地址;运行统计信息(执行时间、页面调度);运行统计信息(执行时间、页面调度);阻塞原因阻塞原因资源占用信息资源占用信息:虚拟地址空间的现状、打开文件列表:虚拟地址空间的现状、打开文件列表CPU现场保护结构现场保护结构:寄存器值(通用、程序计数器:寄存器值(通用、程序计数器PC、状态、状态PSW,地址包括栈指针),地址包括栈指针)进程和进程控制进程和进程控制进程的定义和描述进程的定义和描述Windows操作系操作系统统-处处理机管理理机管理(上上)7PCBPCB的组织方式的组织方式的组织方式的组织方式链链表表:同同一一状状态态的的进进程程其其PCB成成一一链链表表

7、,多多个个状状态态对对应应多多个个不不同同的的链链表表。各状态的进程形成不同的链表:就绪链表、阻塞链表各状态的进程形成不同的链表:就绪链表、阻塞链表索索引引表表:同同一一状状态态的的进进程程归归入入一一个个index表表(由由index指指向向PCB),多多个个状状态态对应多个不同的对应多个不同的index表。表。各状态的进程形成不同的索引表:就绪索引表、阻塞索引表各状态的进程形成不同的索引表:就绪索引表、阻塞索引表进程和进程控制进程和进程控制进程的定义和描述进程的定义和描述Windows操作系操作系统统-处处理机管理理机管理(上上)8进程上下文(进程上下文(进程上下文(进程上下文(conte

8、xtcontext)用户级上下文用户级上下文:进程的用户地址空间(包括用户栈各层次),:进程的用户地址空间(包括用户栈各层次),包括用户正文段、用户数据段和用户栈;包括用户正文段、用户数据段和用户栈;寄存器级上下文寄存器级上下文:程序寄存器、处理机状态寄存器、栈指针、:程序寄存器、处理机状态寄存器、栈指针、通用寄存器的值;通用寄存器的值;系统级上下文系统级上下文:静态部分(静态部分(PCBPCB和资源表格)和资源表格)动态部分:核心栈(核心过程的栈结构,不同进程在调用相动态部分:核心栈(核心过程的栈结构,不同进程在调用相同核心过程时有不同核心栈)同核心过程时有不同核心栈) 进程上下文是对进程上

9、下文是对进程执行活动全过程进程执行活动全过程的的静态描述静态描述。进。进程上下文由进程的用户地址空间内容、硬件寄存器内程上下文由进程的用户地址空间内容、硬件寄存器内容及与该进程相关的核心数据结构组成。容及与该进程相关的核心数据结构组成。进程和进程控制进程和进程控制进程的定义和描述进程的定义和描述Windows操作系操作系统统-处处理机管理理机管理(上上)9五状态进程模型五状态进程模型五状态进程模型五状态进程模型五状态进程模型五状态进程模型(状态转换状态转换)进程的状态转换进程的状态转换进程在从创建到终止的全过程中一直处于一个不断变化的过进程在从创建到终止的全过程中一直处于一个不断变化的过程程,

10、 为了刻画进程的这个变化过程,操作系统把进程分成若为了刻画进程的这个变化过程,操作系统把进程分成若干种状态干种状态 进程和进程控制进程和进程控制AdmitRunningNewExitReadyBlockedDispatchTimeoutEventWaitEventOccursReleaseCreateWindows操作系操作系统统-处处理机管理理机管理(上上)10状态状态状态状态新建状态新建状态(New):进程刚创建,但还不能运行进程刚创建,但还不能运行(一种可能的原因是一种可能的原因是OS对对并发进程数的限制并发进程数的限制);OS在进程新建状态的工作在进程新建状态的工作:分配和建立分配和建

11、立PCB表项、建立资源表格表项、建立资源表格(如打开文件表)并分配资源,加载程序并建立地址空间表。(如打开文件表)并分配资源,加载程序并建立地址空间表。结束状态结束状态(Exit):进程已结束运行进程已结束运行.回收除回收除PCB之外的其他资源,并让其他进程从之外的其他资源,并让其他进程从PCB中收集有关信息中收集有关信息(如记帐,将退出码(如记帐,将退出码exit code传递给父进程)。传递给父进程)。进程的状态转换进程的状态转换五状态进程模型五状态进程模型进程和进程控制进程和进程控制AdmitRunningNewExitReadyBlockedDispatchTimeoutEventWa

12、itEventOccursReleaseCreateWindows操作系操作系统统-处处理机管理理机管理(上上)11运行状态运行状态(Running):占用处理机资源并运行;处于此状态的进程的数目占用处理机资源并运行;处于此状态的进程的数目小于等于小于等于CPU的数目。的数目。 在没有其他进程可以执行时(如所有进程都在阻塞状态),通常会自在没有其他进程可以执行时(如所有进程都在阻塞状态),通常会自动执行系统的动执行系统的idle进程(相当于空操作)。进程(相当于空操作)。就绪状态就绪状态(Ready):进程已获得除处理机外的所需资源,等待分配处理机进程已获得除处理机外的所需资源,等待分配处理机

13、资源;只要分配资源;只要分配CPU就可执行。就可执行。可以按可以按多个优先级多个优先级来划分队列,如:时间片用完来划分队列,如:时间片用完低优,低优,I/O完成完成中优,页面调入完成中优,页面调入完成高优高优阻塞状态阻塞状态(Blocked):由于进程等待某种条件(如由于进程等待某种条件(如I/O操作或进程同步),操作或进程同步),在条件满足之前无法继续执行。在该事件发生前即使把处理机分配给在条件满足之前无法继续执行。在该事件发生前即使把处理机分配给该进程,也无法运行。如:等待该进程,也无法运行。如:等待I/O操作的完成。操作的完成。进程的状态转换进程的状态转换五状态进程模型五状态进程模型进程

14、和进程控制进程和进程控制AdmitRunningNewExitReadyBlockedDispatchTimeoutEventWaitEventOccursReleaseCreateWindows操作系操作系统统-处处理机管理理机管理(上上)12进程状态转换进程状态转换进程状态转换进程状态转换创建创建(Create)新进程:新进程:创建一个新进程,以运行一个程序。创建一个新进程,以运行一个程序。提交提交(Admit):收容一个新进程,进入就绪状态。由于性能、内存、进程收容一个新进程,进入就绪状态。由于性能、内存、进程总数等原因,系统会限制并发进程总数。总数等原因,系统会限制并发进程总数。调度运

15、行调度运行(Dispatch):从就绪进程表中选择一个进程,进入运行状态;从就绪进程表中选择一个进程,进入运行状态;释放释放(Release):由于进程完成或失败而中止进程运行,进入结束状态;由于进程完成或失败而中止进程运行,进入结束状态;运行到结束:运行到结束:分为正常退出分为正常退出Exit和异常退出和异常退出abort(执行超时或内存不够,(执行超时或内存不够,非法指令或地址,非法指令或地址,I/O失败,被其他进程所终止)失败,被其他进程所终止)就绪或阻塞到结束:就绪或阻塞到结束:可能的原因有:父进程可在任何时间中止子进程;可能的原因有:父进程可在任何时间中止子进程;进程的状态转换进程的

16、状态转换五状态进程模型五状态进程模型进程和进程控制进程和进程控制AdmitRunningNewExitReadyBlockedDispatchTimeoutEventWaitEventOccursReleaseCreateWindows操作系操作系统统-处处理机管理理机管理(上上)13超时(超时(Timeout):):由于用完由于用完时间片时间片或高或高优先进程优先进程就绪等导致进程暂停就绪等导致进程暂停运行;运行;事件等待(事件等待(Event Wait):):进程要求的事件未出现而进入阻塞;进程要求的事件未出现而进入阻塞;可能的可能的原因原因包括:申请系统服务或资源、通信、包括:申请系统服

17、务或资源、通信、I/O操作等;操作等;事件发生(事件发生(Event Occurs):):进程等待的事件发生;如:进程等待的事件发生;如:I/O操作完成、操作完成、申请资源成功等;申请资源成功等;进程的状态转换进程的状态转换五状态进程模型五状态进程模型进程和进程控制进程和进程控制AdmitRunningNewExitReadyBlockedDispatchTimeoutEventWaitEventOccursReleaseCreateWindows操作系操作系统统-处处理机管理理机管理(上上)14五状态进程模型没有区分进程地址空间位于内存还是外存,而五状态进程模型没有区分进程地址空间位于内存还

18、是外存,而在操作系统中引入虚拟存储管理技术后,需要进一步区分进程在操作系统中引入虚拟存储管理技术后,需要进一步区分进程的地址空间状态。的地址空间状态。 这个问题的出现是由于进程优先级的引入,这个问题的出现是由于进程优先级的引入,一些低优先级进程可能等待较长时间,从而被对换至外存。这一些低优先级进程可能等待较长时间,从而被对换至外存。这样做的目的是:样做的目的是:提高处理机效率提高处理机效率:就绪进程表为空时,有空闲的内存空间:就绪进程表为空时,有空闲的内存空间来提交新进程,以提高处理机效率;来提交新进程,以提高处理机效率;为运行进程提供足够内存为运行进程提供足够内存:资源紧张时,暂停某些进程,

19、:资源紧张时,暂停某些进程,如:如:CPU繁忙(或实时任务执行),内存紧张繁忙(或实时任务执行),内存紧张用于调试用于调试:在调试时,挂起:在调试时,挂起被调试进程被调试进程(从而对其地址空(从而对其地址空间进行读写)间进行读写)挂起进程模型挂起进程模型进程的状态转换进程的状态转换进程和进程控制进程和进程控制Windows操作系操作系统统-处处理机管理理机管理(上上)15单挂起进程模型单挂起进程模型挂起进程模型挂起进程模型进程的状态转换进程的状态转换进程和进程控制进程和进程控制AdmitRunningNewExitReadyBlockedDispatchTimeoutEventWaitEven

20、tOccursReleaseBlockedSuspendSuspendActivateWindows操作系操作系统统-处处理机管理理机管理(上上)16双挂起进程模型挂起进程模型挂起进程模型进程的状态转换进程的状态转换进程和进程控制进程和进程控制AdmitRunningReadySuspendExitReadyBlockedDispatchTimeoutEventWaitEventOccursReleaseBlockedSuspendSuspendNewEventOccursActivateSuspendActivateAdmitSuspendWindows操作系操作系统统-处处理机管理理机管理

21、(上上)17就绪状态就绪状态(Ready):进程在内存且可立即进入运行状态;进程在内存且可立即进入运行状态;阻塞状态阻塞状态(Blocked):进程在内存并等待某事件的出现;进程在内存并等待某事件的出现;阻塞挂起状态(阻塞挂起状态(Blocked, suspend):):进程在外存并等待某事件进程在外存并等待某事件的出现;的出现;就绪挂起状态(就绪挂起状态(Ready, suspend):):进程在外存,但只要进入内进程在外存,但只要进入内存,即可运行;存,即可运行;挂起进程模型挂起进程模型进程的状态转换进程的状态转换状态状态状态状态进程和进程控制进程和进程控制Windows操作系操作系统统-

22、处处理机管理理机管理(上上)18挂起(挂起(Suspend):):把一个进程从内存转到外存;可能有以下几种情况:把一个进程从内存转到外存;可能有以下几种情况:阻塞到阻塞挂起:阻塞到阻塞挂起:没有进程处于没有进程处于就绪状态就绪状态或就绪进程要求更多内存资源时,或就绪进程要求更多内存资源时,会进行这种转换,以提交新进程或运行就绪进程;会进行这种转换,以提交新进程或运行就绪进程;就绪到就绪挂起:就绪到就绪挂起:当有当有高优先级阻塞高优先级阻塞(系统认为会很快就绪的)进程和低优(系统认为会很快就绪的)进程和低优先级就绪进程时,系统会选择挂起低优先级就绪进程;先级就绪进程时,系统会选择挂起低优先级就绪

23、进程;运行到就绪挂起:运行到就绪挂起:对对抢先式抢先式操作系统,当有操作系统,当有高优先级高优先级阻塞进程因事件出现而阻塞进程因事件出现而进入就绪状态时,系统可能会把运行进程转到就绪挂起状态;进入就绪状态时,系统可能会把运行进程转到就绪挂起状态;挂起进程模型挂起进程模型进程的状态转换进程的状态转换状态转换状态转换进程和进程控制进程和进程控制RunningReadySuspendReadyBlockedDispatchTimeoutEventWaitEventOccursBlockedSuspendSuspendEventOccursActivateSuspendActivateSuspendW

24、indows操作系操作系统统-处处理机管理理机管理(上上)19激活(激活(Activate):):把一个进程从外存转到内存;可能有以下几种情况:把一个进程从外存转到内存;可能有以下几种情况:就绪挂起到就绪:没有就绪进程就绪挂起到就绪:没有就绪进程或或挂起就绪进程优先级高挂起就绪进程优先级高于就绪进程时,于就绪进程时,会进行这种转换;会进行这种转换;阻塞挂起到阻塞:阻塞挂起到阻塞:当一个进程当一个进程释放足够内存释放足够内存时,系统会把一个高优先级阻时,系统会把一个高优先级阻塞挂起进程激活塞挂起进程激活, 系统认为会很快出现所等待的事件;系统认为会很快出现所等待的事件;挂起进程模型挂起进程模型进

25、程的状态转换进程的状态转换状态转换状态转换进程和进程控制进程和进程控制RunningReadySuspendReadyBlockedDispatchTimeoutEventWaitEventOccursBlockedSuspendSuspendEventOccursActivateSuspendActivateSuspendWindows操作系操作系统统-处处理机管理理机管理(上上)20事件发生(事件发生(Event Occurs):):进程等待的事件发生,可能的情况有:进程等待的事件发生,可能的情况有:阻塞到就绪:阻塞到就绪:针对内存进程的事件发生;针对内存进程的事件发生;阻塞挂起到就绪挂起

26、:阻塞挂起到就绪挂起:针对外存进程的事件发生;针对外存进程的事件发生;挂起进程模型挂起进程模型进程的状态转换进程的状态转换进程和进程控制进程和进程控制状态转换状态转换RunningReadySuspendReadyBlockedDispatchTimeoutEventWaitEventOccursBlockedSuspendSuspendEventOccursActivateSuspendActivateSuspendWindows操作系操作系统统-处处理机管理理机管理(上上)21收容收容(Admit):收容一个新进程,进入就绪状态或就绪挂起状态。进入就绪挂起收容一个新进程,进入就绪状态或就绪

27、挂起状态。进入就绪挂起的原因是系统希望的原因是系统希望保持一个大的就绪进程表保持一个大的就绪进程表(挂起和非挂起);(挂起和非挂起);挂起进程模型挂起进程模型进程的状态转换进程的状态转换进程和进程控制进程和进程控制状态转换状态转换AdmitRunningReadySuspendReadyDispatchTimeoutNewSuspendActivateAdmitSuspendWindows操作系操作系统统-处处理机管理理机管理(上上)22双挂起进程模型挂起进程模型挂起进程模型进程的状态转换进程的状态转换进程和进程控制进程和进程控制AdmitRunningReadySuspendExitRead

28、yBlockedDispatchTimeoutEventWaitEventOccursReleaseBlockedSuspendSuspendNewEventOccursActivateSuspendActivateAdmitSuspendWindows操作系操作系统统-处处理机管理理机管理(上上)23进程控制程控制进程控制进程控制, 就是操作系统使用一些就是操作系统使用一些具有特定功能的程序具有特定功能的程序段段来创建与撤消进程以及完成进程状态的转换来创建与撤消进程以及完成进程状态的转换, 从而达从而达到多个进程高效率地并发执行和协调到多个进程高效率地并发执行和协调,实现资源共享实现资源共享

29、.进程控制主要体现在进程的创建与撤消,以及进程的阻进程控制主要体现在进程的创建与撤消,以及进程的阻塞与唤醒。塞与唤醒。 操作系统对进程的控制是依据用户命令和系统状态来决操作系统对进程的控制是依据用户命令和系统状态来决定的。用户可在一定程序上对进程的状态进行控制。定的。用户可在一定程序上对进程的状态进行控制。 具有特定功能的程序段具有特定功能的程序段-原语原语进程和进程控制进程和进程控制Windows操作系操作系统统-处处理机管理理机管理(上上)24进程控制程控制原语原语(primitive):由若干条指令构成的由若干条指令构成的“原子操原子操作作(atomic operation)”过程,作为

30、一个过程,作为一个整体整体而而不不可分割可分割要么全都完成,要么全都不做。许多要么全都完成,要么全都不做。许多系统调用就是原语。系统调用就是原语。注意:注意:系统调用并不都是原语。系统调用并不都是原语。进程进程A调用调用read(),因无数,因无数据而阻塞,在据而阻塞,在read()里未返回。然后进程里未返回。然后进程B调用调用read(),此时,此时read()被重入。系统调用不一定一次执行完并返回该进程,有可被重入。系统调用不一定一次执行完并返回该进程,有可能在特定的点暂停,而转入到其他进程。能在特定的点暂停,而转入到其他进程。进程和进程控制进程和进程控制Windows操作系操作系统统-处

31、处理机管理理机管理(上上)25进程控制程控制进程和进程控制进程和进程控制创建原语创建原语进程的存在以进程的存在以PCB为标为标志志, 所以创建新进程的主所以创建新进程的主要任务就是为进程建立要任务就是为进程建立PCB, 将调用者提供的有将调用者提供的有关信息填入关信息填入PCB的各数的各数据项中据项中开始开始分配分配PCB空间空间将有关信息填入将有关信息填入PCB的数据项的数据项将将PCB送入相应状态送入相应状态PCB链表链表结束结束Windows操作系操作系统统-处处理机管理理机管理(上上)26进程控制程控制进程和进程控制进程和进程控制撤消原语撤消原语进程完成其任务之后进程完成其任务之后,

32、系统应及时回收它占系统应及时回收它占有的资源有的资源开始开始搜索搜索PCB链表链表释放该进程所占有的资源释放该进程所占有的资源释放释放PCB结构本身结构本身结束结束有此有此PCB异常处理异常处理NoYesWindows操作系操作系统统-处处理机管理理机管理(上上)27进程控制程控制进程和进程控制进程和进程控制阻塞原语阻塞原语开始开始将将CPU当前状态存入当前状态存入PCB设置进程状态为阻塞状态设置进程状态为阻塞状态将将PCB置入阻塞队列置入阻塞队列转处理机调度转处理机调度Windows操作系操作系统统-处处理机管理理机管理(上上)28进程控制程控制进程和进程控制进程和进程控制唤醒原语唤醒原语开

33、始开始从阻塞队列删除该从阻塞队列删除该PCB设置进程状态为就绪状态设置进程状态为就绪状态将将PCB置入就绪队列置入就绪队列转处理机调度转处理机调度Windows操作系操作系统统-处处理机管理理机管理(上上)29Windows 的的进程管理程管理Windows 的进程由执行体进程块的进程由执行体进程块EPROCESS表示,表示, EPROCESS即即进程对象进程对象。进程对象进程对象的属性的属性:PID, PCB, Access Token, Base Priority, 句柄句柄表,指向进程环境块表,指向进程环境块PEB的指针,亲和处理器集合等的指针,亲和处理器集合等在在Windows 中中,

34、PCB也称为内核进程块也称为内核进程块KPROCESS,即内,即内核进程对象核进程对象EPOCESS和和KPROCESS位于内核空间,位于内核空间,PEB位于用户空间位于用户空间进程和进程控制进程和进程控制Windows操作系操作系统统-处处理机管理理机管理(上上)30WindowsWindows的进程结构的进程结构的进程结构的进程结构Windows 的进程管理的进程管理进程和进程控制进程和进程控制Windows操作系操作系统统-处处理机管理理机管理(上上)31进程创建进程创建CreateProcess()函数用于函数用于创建新进程及其主线程创建新进程及其主线程,以执行,以执行指定的程序。指定

35、的程序。新进程可以新进程可以继承继承:打开文件的句柄、各种对象(如进程、:打开文件的句柄、各种对象(如进程、线程、信号量、管道等)的句柄、环境变量、当前目录)线程、信号量、管道等)的句柄、环境变量、当前目录)每个句柄在创建或打开时能指定是否可继承;每个句柄在创建或打开时能指定是否可继承;新进程新进程不能继承不能继承:优先权类、内存句柄、:优先权类、内存句柄、DLL模块句柄模块句柄CREATE_NEW_CONSOLE表示新进程有一个新的控制台表示新进程有一个新的控制台CREATE_NEW_PROCESS_GROUP表示新进程是一个新表示新进程是一个新的进程组的根。的进程组的根。Windows 的

36、进程管理的进程管理进程和进程控制进程和进程控制Windows操作系操作系统统-处处理机管理理机管理(上上)32进程退出进程退出进程退出进程退出ExitProcess()或或TerminateProcess(),则进程包含的线程全部,则进程包含的线程全部终止;终止;ExitProcess()终止一个进程和它的所有线程;它的终止操作终止一个进程和它的所有线程;它的终止操作是完整的,包括关闭所有对象句柄、它的所有线程等;是完整的,包括关闭所有对象句柄、它的所有线程等;TerminateProcess()终止指定的进程和它的所有线程;它的终止指定的进程和它的所有线程;它的终止操作是不完整的(如:不向相

37、关终止操作是不完整的(如:不向相关DLL通报关闭情况),通报关闭情况),通常只用于异常情况下对进程的终止。通常只用于异常情况下对进程的终止。Windows 的进程管理的进程管理进程和进程控制进程和进程控制Windows操作系操作系统统-处处理机管理理机管理(上上)33与进程管理相关的内核变量与进程管理相关的内核变量PsActiveProcessHead进程链表头进程链表头PsInitialSystemProcess系统进程(系统线程的宿主)系统进程(系统线程的宿主)PsIdleProcess空闲进程空闲进程Windows 的进程管理的进程管理进程和进程控制进程和进程控制Windows操作系操作

38、系统统-处处理机管理理机管理(上上)34线程程线程的引入线程的引入操作系统对线程的实现方式操作系统对线程的实现方式进程和线程的比较进程和线程的比较Windows的线程的线程如果说在操作系统中引入进程是为了使多个程序能够并发执行,如果说在操作系统中引入进程是为了使多个程序能够并发执行,提高资源利用率和系统吞吐量,那么引入线程提高资源利用率和系统吞吐量,那么引入线程(THREAD)的目的目的则是减少程序并发执行所付出的时空开销来,进一步提高系的则是减少程序并发执行所付出的时空开销来,进一步提高系统的统的并发程度并发程度。线程线程Windows操作系操作系统统-处处理机管理理机管理(上上)35线程的

39、引入程的引入进程:进程: 资源(存储器、文件)分配单位和资源(存储器、文件)分配单位和CPU调度调度/分派单位。分派单位。由于进程是资源拥有者,因而在创建、终止、切换过程中,系由于进程是资源拥有者,因而在创建、终止、切换过程中,系统必须为之付出较大的时空开销。正因为如此,系统中并发执统必须为之付出较大的时空开销。正因为如此,系统中并发执行的进程的数目不宜过多,进程切换才频率也不宜过高,这样行的进程的数目不宜过多,进程切换才频率也不宜过高,这样就限制了系统的并发程度。就限制了系统的并发程度。解决这一问题的思路:将进程的两个基本属性分开,由操作系解决这一问题的思路:将进程的两个基本属性分开,由操作

40、系统分别处理统分别处理线程概念的引入线程概念的引入在支持线程的操作系统中,进程只作为资源分配单位,而线程在支持线程的操作系统中,进程只作为资源分配单位,而线程则作为则作为CPU调度调度/分派单位。分派单位。线程线程Windows操作系操作系统统-处处理机管理理机管理(上上)36线程的引入程的引入线程:线程:作为作为CPU调度单位,只拥有必不可少的资源,如:线程调度单位,只拥有必不可少的资源,如:线程状态、寄存器上下文和栈状态、寄存器上下文和栈同样具有就绪、阻塞和执行三种基本状态同样具有就绪、阻塞和执行三种基本状态线程的优点:线程的优点:减小并发执行的时间和空间开销(线程的创建、减小并发执行的时

41、间和空间开销(线程的创建、退出和调度),因此容许在系统中建立更多的线程来提高并发退出和调度),因此容许在系统中建立更多的线程来提高并发程度。程度。线程的创建时间比进程短;线程的创建时间比进程短;线程的终止时间比进程短;线程的终止时间比进程短;同进程内的线程切换时间比进程短;同进程内的线程切换时间比进程短;由于同进程内线程间共享内存和文件资源,可直接进行不通由于同进程内线程间共享内存和文件资源,可直接进行不通过内核的通信;过内核的通信;线程线程Windows操作系操作系统统-处处理机管理理机管理(上上)37进程与线程的关系进程与线程的关系线程线程线程的引入线程的引入Windows操作系操作系统统

42、-处处理机管理理机管理(上上)38OS对线程的程的实现方式方式内核维护进程和线程的上下文信息;内核维护进程和线程的上下文信息;线程切换由内核完成;线程切换由内核完成;一个线程发起系统调用而阻塞,不会影响其他线程的运行。一个线程发起系统调用而阻塞,不会影响其他线程的运行。时间片分配给线程,所以多线程的进程获得更多时间片分配给线程,所以多线程的进程获得更多CPU时间。时间。依赖于依赖于OS核心核心,由内核完成创建和撤销。,由内核完成创建和撤销。Windows 支持内核线支持内核线程;程;内核线程内核线程(kernel-level thread)线程线程Windows操作系操作系统统-处处理机管理理

43、机管理(上上)39用户线程用户线程用户线程用户线程(user-level thread)(user-level thread)用户线程的维护由应用进程完成;用户线程的维护由应用进程完成;内核不了解用户线程的存在;内核不了解用户线程的存在;用户线程切换不需要内核特权;用户线程切换不需要内核特权;用户线程调度算法可针对应用优化;用户线程调度算法可针对应用优化;不依赖于不依赖于OS核心,应用进程利用线程库提供的创建、同步、调核心,应用进程利用线程库提供的创建、同步、调度和管理线程的函数来控制用户线程。如:数据库系统度和管理线程的函数来控制用户线程。如:数据库系统Informix,图形处理,图形处理A

44、ldus PageMaker。调度由应用软件内部。调度由应用软件内部进行,通常采用非抢先式和更简单的规则。一个线程发起系统进行,通常采用非抢先式和更简单的规则。一个线程发起系统调用而阻塞,则整个进程在等待。时间片分配给进程,多线程调用而阻塞,则整个进程在等待。时间片分配给进程,多线程则每个线程就慢。则每个线程就慢。线程线程OS对线程的实现方式对线程的实现方式Windows操作系操作系统统-处处理机管理理机管理(上上)40进程和程和线程的比程的比较地址空间和其他资源地址空间和其他资源(如打开文件):进程间相互独立,同一进程(如打开文件):进程间相互独立,同一进程的各线程间共享某进程内的线程在其他

45、进程不可见的各线程间共享某进程内的线程在其他进程不可见通信通信:进程间只能使用:进程间只能使用IPC线程间可以直接读写进程数据段(如全局变量)来进行通信线程间可以直接读写进程数据段(如全局变量)来进行通信也需要同步和互斥手段的辅助,以保证数据的一致性也需要同步和互斥手段的辅助,以保证数据的一致性调度调度:线程上下文切换比进程上下文切换要快得多;:线程上下文切换比进程上下文切换要快得多;线程线程Windows操作系操作系统统-处处理机管理理机管理(上上)41线程切换和进程切换线程切换和进程切换线程线程进程和线程的比较进程和线程的比较Windows操作系操作系统统-处处理机管理理机管理(上上)42

46、Windows 的的线程线程线程线程线程对象线程对象Windows线程由执行体线程块线程由执行体线程块ETHREAD表示,即线程对表示,即线程对象,其中包含象,其中包含内核线程块内核线程块KTHREAD, 即线程控制块即线程控制块TCB指向指向线程环境线程环境块块TEB的指针的指针ETHREAD和和KTHREAD位于内核空间,位于内核空间,TEB位于用户空位于用户空间间Windows操作系操作系统统-处处理机管理理机管理(上上)43Windows 的线程状态的线程状态线程线程Windows 的的线程线程就绪状态就绪状态(Ready):进程已获得除进程已获得除处理机外的所需资源,等待执行。处理机

47、外的所需资源,等待执行。运行终止就绪等待上下文切换抢先或时间片结束等待对象句柄执行完成初始化转换备用选择执行抢先放入就绪队列等待完成等待完成换出的内核堆栈换入的内核堆栈重新初始化创建和初始化线程对象Windows操作系操作系统统-处处理机管理理机管理(上上)44Windows 的线程状态的线程状态线程线程Windows 的的线程线程运行终止就绪等待上下文切换抢先或时间片结束等待对象句柄执行完成初始化过渡备用选择执行抢先放入就绪队列等待完成等待完成换出的内核堆栈换入的内核堆栈重新初始化创建和初始化线程对象备用状态备用状态(Standby):已选择好处理器,已选择好处理器,正等待上下文切换系统中每

48、个处理正等待上下文切换系统中每个处理器上只能有一个处于备用状态的线程。器上只能有一个处于备用状态的线程。Windows操作系操作系统统-处处理机管理理机管理(上上)45Windows 的线程状态的线程状态线程线程Windows 的的线程线程运行状态运行状态(Running):完成上下文完成上下文切换,线程进入运行状态,直到切换,线程进入运行状态,直到内核抢先、时间片用完、线程终内核抢先、时间片用完、线程终止或进入等待状态。止或进入等待状态。运行终止就绪等待上下文切换抢先或时间片结束等待对象句柄执行完成初始化过渡备用选择执行抢先放入就绪队列等待完成等待完成换出的内核堆栈换入的内核堆栈重新初始化创

49、建和初始化线程对象Windows操作系操作系统统-处处理机管理理机管理(上上)46Windows 的线程状态的线程状态线程线程Windows 的的线程线程等待状态等待状态(Waiting):线程等待某对象,线程等待某对象,以同步它的执行。等待结束时,根据以同步它的执行。等待结束时,根据优先级进入运行、就绪状态。优先级进入运行、就绪状态。运行终止就绪等待上下文切换抢先或时间片结束等待对象句柄执行完成初始化过渡备用选择执行抢先放入就绪队列等待完成等待完成换出的内核堆栈换入的内核堆栈重新初始化创建和初始化线程对象Windows操作系操作系统统-处处理机管理理机管理(上上)47Windows 的线程状

50、态的线程状态线程线程Windows 的的线程线程过渡状态过渡状态(Transition):线程在准备执线程在准备执行而其内核堆栈处于外存时,线程进行而其内核堆栈处于外存时,线程进入过渡状态;当其内核堆栈调回内存,入过渡状态;当其内核堆栈调回内存,线程进入就绪状态。线程进入就绪状态。运行终止就绪等待描述表切换抢先或时间片结束等待对象句柄执行完成初始化过渡备用选择执行抢先放入就绪队列等待完成等待完成换出的内核堆栈换入的内核堆栈重新初始化创建和初始化线程对象Windows操作系操作系统统-处处理机管理理机管理(上上)48Windows 的线程状态的线程状态线程线程Windows 的的线程线程终止状态

51、终止状态(Terminated):线程执行完就线程执行完就进入终止状态。如执行体有一指向线进入终止状态。如执行体有一指向线程对象的指针,可将线程对象重新初程对象的指针,可将线程对象重新初始化。始化。运行终止就绪等待上下文切换抢先或时间片结束等待对象句柄执行完成初始化过渡备用选择执行抢先放入就绪队列等待完成等待完成换出的内核堆栈换入的内核堆栈重新初始化创建和初始化线程对象Windows操作系操作系统统-处处理机管理理机管理(上上)49Windows 的线程状态的线程状态线程线程Windows 的的线程线程初始化状态初始化状态(Initialized):线程创建过程线程创建过程中的线程状态;中的线

52、程状态;运行终止就绪等待上下文切换抢先或时间片结束等待对象句柄执行完成初始化过渡备用选择执行抢先放入就绪队列等待完成等待完成换出的内核堆栈换入的内核堆栈重新初始化创建和初始化线程对象Windows操作系操作系统统-处处理机管理理机管理(上上)50与与与与WindowsWindows线程的有关线程的有关线程的有关线程的有关APIAPICreateThread()函数函数在调用进程的地址空间上创建一个线程,以执行指定在调用进程的地址空间上创建一个线程,以执行指定的函数;返回值为所创建线程的句柄。的函数;返回值为所创建线程的句柄。ExitThread()函数函数用于结束本线程。用于结束本线程。SuspendThread()函数函数用于挂起指定的线程。用于挂起指定的线程。ResumeThread()函数函数递减指定线程的挂起计数,挂起计数为递减指定线程的挂起计数,挂起计数为0时,线程恢时,线程恢复执行。复执行。线程线程Windows 的的线程线程Windows操作系操作系统统-处处理机管理理机管理(上上)

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

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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