计算机操作系统教程_第三版_(张尧学_张高_史美林_著)__第7章G

上传人:飞*** 文档编号:46499477 上传时间:2018-06-26 格式:PPT 页数:31 大小:395.50KB
返回 下载 相关 举报
计算机操作系统教程_第三版_(张尧学_张高_史美林_著)__第7章G_第1页
第1页 / 共31页
计算机操作系统教程_第三版_(张尧学_张高_史美林_著)__第7章G_第2页
第2页 / 共31页
计算机操作系统教程_第三版_(张尧学_张高_史美林_著)__第7章G_第3页
第3页 / 共31页
计算机操作系统教程_第三版_(张尧学_张高_史美林_著)__第7章G_第4页
第4页 / 共31页
计算机操作系统教程_第三版_(张尧学_张高_史美林_著)__第7章G_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《计算机操作系统教程_第三版_(张尧学_张高_史美林_著)__第7章G》由会员分享,可在线阅读,更多相关《计算机操作系统教程_第三版_(张尧学_张高_史美林_著)__第7章G(31页珍藏版)》请在金锄头文库上搜索。

1、第7章Windows的进程与内存管理 7.1Windows NT的特点及相关的概念 7.1.1Windows NT体系结构的特点 7.1.2Windows的管理机制 1. 核心态(kernel mode)和用户态(user mode) 2. Windows操作系统的体系结构 3. 系统调用、中断和陷阱 陷阱是由程序造成的,并且与程序同步。如果程序一而再 的被运行,陷阱将总在指令流中相同位置的精确发生。而 中断则是由外部事件和其时钟造成的,不具有重复性 中断、异常、陷阱 1、三者的关系陷阱这个说法其实不确切,应该说是陷阱门。中断包 含中断门和陷阱门,当然还有其他。 2、中断和异常的区别中断和异常

2、,都是程序执行过程中的强制性转移。异 常,是处理器执行指令过程中监测到错误时发生;中断 ,通常在程序执行时因硬件而随机发生(如外围设备的请 求),软件通过int指令也可以产生中断。 3、中断门和陷阱门的区别他们的区别很微小,即执行时是否影响中断允许标志 IF。中断门会在执行前前将IF设为0,完事后iret指令会 从堆栈上恢复IF的原值,这样可以避免其他中断干扰当 前中断的处理;而陷阱门不会。因此,中断门最适宜于 处理中断,而陷阱门适宜于处理异常。 4、中断的分类中断分内部和外部中断两种。内部中断,即软件调用int n产生。外部中断,由硬件产生,其又分不可屏蔽和 可屏蔽两种,分别有CPU的引脚N

3、MI和INTR接 收。NMI中断对应中断向量号2;INTR中断可 通过控制器8259A设置其运行。此两者的区别是 ,是否收到IF位的影响,显然,NMI中断他老 人家不会理会IF位的值。 4. 利用对象来共享系统资源 5. 本地过程调用 7.2Windows进程和线程 7.2.1Windows的进程和线程的定义 7.2.2进程和线程的关联图7.1Windows进程和线程的关联 7.2.3Windows进程的结构Windows将表示进程的数据结构统称为执行进程块,它 提供了操作系统管理进程所需要的基本信息。7.2.4Windows线程的结构 7.2.5Windows进程和线程的创建 1. 进程的创

4、建过程2. Windows线程的创建过程 (1)在进程的地址空间中为线程创建用户栈,并初 始化运行上下文环境。 (2)初始化线程的线程环境块 (3)创建执行线程对象 (4)通知Windows子系统新线程已被创建,子系统 将新线程的线程插入到相应进程的线程列表中。 (5)新线程的句柄和标志被返回给调用的线程 (6)线程进入调度队列等待执行 7.3Windows处理器调度机制 7.3.1调度优先级图7.3应用优先级别和系统的优先级别的对应关系在Windows中,每个线程都被赋予了优先级的概念,线程 总共有32个优先级数从0(最低)到31(最高)。从前面的章节我们 知道,线程是从属于某个进程的,那么

5、对于某个具体进程的某 个线程的优先级是怎么确定的呢?这得从几个优先级概念说起 。一个线程的优先级是由进程的基本优先级(或者叫优先级类 )和线程的相对优先级决定的。因为我们无法直接设置一个线 程的优先级数,比如2或29。进程的基本优先级:他是通过调用系统API- SetPriorityClass来设置,运行中的进程的优先级可以通过任务 管理器查看。基本优先级是针对进程来讲的,基本优先级有8 个类别,分别是:ABOVE_NORMAL_PRIORITY_CLASS,高于一般 BELOW_NORMAL_PRIORITY_CLASS,低于一般 HIGH_PRIORITY_CLASS, 高IDLE_PRI

6、ORITY_CLASS, 空闲NORMAL_PRIORITY_CLASS, 一般 PROCESS_MODE_BACKGROUND_BEGIN, PROCESS_MODE_BACKGROUND_END, REALTIME_PRIORITY_CLASS. 实时如果程序没有进行特别设置,那么进程的基本优先级 将会设置为NORMAL_PRIORITY_CLASS这个级 别。先对来说,使用高于正常的优先级需要特别小 心,特别是REALTIME_PRIORITY_CLASS.他表 示进程中线程必须立即对事件作出响应,以便执行 关键时间的任务.该进程中的线程还会抢先于操作 系统组件之前运行.使用本优先级类时

7、必须极端小 心.线程相对优先级:相对优先级是针对线程的,他是通 过调用SetThreadPriority函数设置的。具体参数可 以参考MSDN.那么线程的优先级到底是怎么确定的 呢?基本优先级和相对优先级如何结合的呢?下表 就是他们的对应关系 7.3.2线程状态 图7.4Windows线程状态转换图 7.3.3线程调度机制 1. 调度数据库 图7.5调度数据库的不同优先级就绪线程队列 2. 时间配额 3. 调度算法 采用基于优先级的抢占式调度算法。 4. 上下文切换 线程的核心栈用来完成上下文切换7.4Windows的内存管理 7.4.1内存管理器 进程一般只有一部分虚拟地址空间中的数据是 驻留在物理内存中,这一部分虚拟地址空间被 称为工作集。 7.4.2内存管理的机制 1. 页 2. 共享内存 3. 堆管理 4. 系统内存池7.5虚拟地址空间 7.5.1虚拟地址空间布局图7.8 32位Windows的虚拟地址空间布局 7.5.2虚拟地址转换图7.9虚拟地址转换图7.10虚拟地址的页索引结构 图7.11虚拟地址转换过程 图7.12页表入口的结构 7.6页面调度 7.6.1缺页处理 7.6.2工作集及页面调度策略 7.6.3页框号和物理内存管理图7.13页框号数据库及状态链表

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

最新文档


当前位置:首页 > 资格认证/考试 > 其它考试类文档

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