windows xp 系统进程管理机制

windows xp 系统进程管理机制

ID:26087661

大小:118.50 KB

页数:7页

时间:2018-11-24

windows xp 系统进程管理机制_第1页
windows xp 系统进程管理机制_第2页
windows xp 系统进程管理机制_第3页
windows xp 系统进程管理机制_第4页
windows xp 系统进程管理机制_第5页
资源描述:

《windows xp 系统进程管理机制》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、WindowsXP系统进程管理机制冯秋2004-9-131.WindowsXP中进程生成、删除机制12.WindowsXP中进程调度机制22.1Windows2000/XP的线程调度特征22.2线程优先级22.3线程时间配额(Quantum)32.4调度数据结构32.5单处理器系统调度策略32.6对称多处理器系统上的线程调度43.WindowsXP中进程通信机制53.1Windows2000/XP的进程互斥和同步53.2Windows2000/XP的信号(signal)63.3Windows2000/XP基于文件映射的共享存储区(sharedmemory)63.4Wind

2、ows2000/XP管道(pipe)63.5其他通信机制74.其它进程管理相关信息71.WindowsXP中进程生成、删除机制l进程可利用系统调用功能来创建新的进程,创建者称为父进程,而被创建的新进程称为子进程。子进程从父进程继承一些属性,又与父进程有区别,形成自己独立的属性。按子进程是否覆盖父进程和是否加载新程序,子进程的创建可分为fork,spawn和exec三种类型。l进程的退出是通过相应的系统调用进行的。进程退出过程中,操作系统删除系统维护的相关数据结构并回收进程占用的系统资源。lWindows2000/XP进程是作为对象来管理的,可通过相应句柄(handle)来

3、引用进程对象,OS提供一组控制进程对象的服务。Win32环境子系统是整个系统的主子系统,放置一些基本的进程管理功能,其他子系统利用Win32子系统的功能来实现自身的功能。lWindows2000/XP中的每个Win32进程都由一个执行体进程块(EPPROCESS)表示,执行体进程块描述进程的基本信息,并指向其他与进程控制相关的数据结构。lWin32子系统的进程控制系统调用:——CreatProcess创建新进程及其主进程,并可指定从父进程继承的属性。——ExitProcess和TerminateProcess都可用于进程退出,终止一个进程和它的所有线程,区别在于ExitP

4、rocess终止操作完整,TerminateProcess终止操作不完整,通常只用于异常情况下对进程的终止。1.WindowsXP中进程调度机制2.1Windows2000/XP的线程调度特征Windows2000/XP的处理器调度的调度单位是线程而不是进程。线程调度机制是基于优先级的抢先式多处理器调度,依据优先级和分配时间片来调度。l调度系统总是运行优先级最高的就绪线程。l在同一优先级的各线程按时间片轮转算法进行调度。l如果一个高优先级的线程进入就绪状态,当前运行的线程可能在用完它的时间片之前就被抢先。l线程调度可由以下事件触发:1)一个线程进入就绪状态。2)一个线程的

5、时间片结束。3)线程由于调用系统服务而改变优先级或被系统本身改变其优先级。4)正在运行的线程被改变了所运行的处理器(在多处理器系统中)。当Windows2000/XP选择运行一个新线程时,将执行一个线程上下文切换以使新线程进入运行状态,即保存正在运行线程的相关运行环境,加载另一个线程的相关运行环境。2.2线程优先级lWindows2000/XP内部使用32个线程优先级,范围从0到31,数值越大,优先级越高。1)实时线程优先级:16~312)可变线程优先级:1~153)级别0保留为系统使用,仅用于对系统中空闲物理页面进行清零的零页线程。l线程优先级的指定:1)通过Windo

6、ws2000/XP内核控制2)通过Win32应用程序编程接口指定:由进程优先级类型(进程创建时指定)和线程相对优先级(进程内各线程创建时指定)共同控制。——SetPriorityClass:设置进程基本优先级——GetPriorityClass:读取进程优先级——SetTreadPriority:设置线程相对优先级——GetTreadPriority:读取线程相对优先级l一个进程仅有单个优先级取值,即基本优先级,而一个线程有当前优先级和基本优先级两个优先级取值。在Windows2000/XP中,实时优先级(16~31)线程的基本优先级和当前优先级总是相同的,可变优先级线程

7、的当前优先级可在一定范围(1~15)内动态变化。l中断优先级与线程优先级的关系:(参见图3-29)——用户态进程运行在中断优先级0,内核态的异步调用过程运行在中断优先级1,它们会中断线程的运行。——只有内核态线程可提升自己的优先级,用户态线程不管优先级是多少都不会阻塞硬件中断。——线程调度代码运行在DPC/线程调度中断优先级。这样可防止调度器代码与线程在访问调度器数据结构时发生冲突。l在下列5种情况下,Windows2000/XP会提升线程的当前优先级:——I/O操作完成——信号量或事件等待结束——前台进程中的线程完成一个等待

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。