进程与线程.ppt
《进程与线程.ppt》由会员分享,可在线阅读,更多相关《进程与线程.ppt(39页珍藏版)》请在三一办公上搜索。
1、Windows进程与线程,操作系统课程组,-2-,内容安排,Windows基本概念Windows进程Windows线程Windows进程线程模型Windows进程线程内部数据结构Windows进程的创建过程Windows线程调度线程的同步和互斥,-3-,Windows 核心系统文件,Windows基本概念,执行体(executive)和内核(kernel),简化的windows结构图,Kernel:由底层次的操作系统功能构成,比如线程调度、中断和异常分发、多处理器同步等。提供了一些例程和基本对象。执行体可以利用这些例程和对象实现更高层次的功能。,Executive:包含了基本的操作系统服务,包
2、括内存管理、进程和线程管理、安全性、I/O、网络和跨进程通信等。,-4-,Windows基本概念,执行体对象和内核对象,暴露给windows API的执行体对象,执行体对象:指由执行体的各种组件(比如进程管理器、内存管理器、I/O子系统等)所实现的对象。,内核对象指由Windows内核实现的一组更为基本的对象。内核对象对用户模式代码而言是不可见的,只能在执行体内部被创建和使用。,-5-,Windows基本概念,对象结构,对象头:和对象类型无关的数据,为所有对象共有。由对象管理器(object manager)管理。,对象体:单个对象特有的数据。由执行体组件控制和维护。,类型对象:某类对象共有的
3、数据。,-6-,Windows基本概念,标准的对象头属性,-7-,Windows基本概念,进程对象和进程类型对象,-8-,Windows基本概念,对象句柄即对象标识符。当一个进程通过名称创建或打开一个对象时,它会接收到一个句柄,此后通过此句柄来访问该对象。对象句柄实际上是一个索引,指向与进程相关的句柄表中的表项。对象句柄表(Handle Table)一个进程的句柄表包含所有已被该进程打开的那些对象的指针。一个句柄表项的结构如下:,-9-,Windows基本概念,Windows2000进程句柄表结构图,级联结构,-10-,Windows进程,Windows进程的组成(从最高抽象层次看)一个私有的
4、虚拟地址空间一个可执行的程序,定义了代码和数据,并被映射到进程的虚拟地址空间一个已经打开句柄的列表指向各种资源,比如信号量、文件,该进程的所有线程都可访问这些系统资源一个被称为访问令牌的安全环境标识与该进程关联的用户、安全组和特权一个被称为进程ID的唯一标识至少一个执行线程,-11-,Windows进程,Windows进程的关键数据结构执行体进程块(EPROCESS,Executive Process Block)执行体进程对象的对象体,包括进程ID、父进程ID、程序名、进程优先级、内存管理信息、设备映像等。核心进程块(KPROCESS,Kernel Process Block)内核进程对象的
5、对象体,又称PCB,包括线程调度时需要的信息,如进程状态、线程时间片等。进程环境块(PEB,Process Environment Block)包括用户态代码需要和修改的信息。Windows环境子系统核心态部件win32k.sys为每个进程建立的进程信息数据结构WIN32KPROCESSWindows环境子系统进程csrss(用户态空间)为每个进程建立的进程信息数据结构,-12-,Windows线程,组成线程的基本部件一组代表处理器状态的CPU寄存器中的内容两个栈一个用于当线程在内核模式下执行的时候,另一个用于线程在用户模式下执行的时候。一个被称为线程局部存储区(TLS,Thread Loca
6、l Storage)的私有存储区域各个子系统、运行库和DLL都会用到该存储区域一个被称为线程ID的唯一标识符安全环境,-13-,Windows线程,Windows线程的关键数据结构执行体线程块(ETHREAD,Executive Thread Block)执行体线程对象的对象体,包括:进程ID、起始执行地址、访问令牌、LPC消息、定时器信息、KTHREAD等。核心线程块(KTHREAD,Kernel Thread Block)内核线程对象的对象体,包括线程调度信息、同步信息、核心栈信息等。线程环境块(TEB,Thread Environment Block)包括用户态代码需要和修改的信息。Wi
7、ndows环境子系统核心态部件win32k.sys为每个线程建立的线程信息数据结构WIN32THREADWindows环境子系统进程csrss(用户态空间)为每个线程建立的线程信息数据结构,-14-,Windows进程线程模型,Windows进程线程模型图,-15-,Windows进程线程模型,Windows中与进程和线程相关联的数据结构,-16-,Windows进程线程内部数据结构,EPEOCESS&KPROCESS,EPROCESS,-17-,Windows进程线程内部数据结构,PEB,EPROCESS,-18-,Windows进程线程内部数据结构,ETHREAD&KTHREAD,-19-
8、,Windows进程线程内部数据结构,TEB,Subsyst.TIB,Fiber info,PEB,Winsock data,-20-,Windows进程的创建过程,与进程相关的函数,-21-,Windows进程的创建过程,Open EXE andcreate selection object,Create NTprocess object,Create NTthread object,Notify Windowssubsystem,Set up for newprocess andthread,Start execution of the initialthread,Return to ca
9、ller,Finalprocess/imageinitialization,Start executionat entry point toimage,CreaeProcess(),Windows subsystem,New process,Step 1,Step 2,Step 3,Step 4,Step 5,Step 6,-22-,Windows线程调度,调度算法(Windows XP/2000/2003)采用动态优先级多队列调度算法优先级,-23-,Windows线程调度,Windows线程的基本优先级,动态优先级:每个线程的“动态优先级”以线程的基本优先级为初始值,随着进程所做工作类型的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 进程 线程
链接地址:https://www.31ppt.com/p-5330956.html