操作系统概念学习笔记 第二十一章 Windows 2000

设计原则:

  可扩展性:指的是操作系统能跟上先进计算技术的发展的能力

  可移植性:一个操作系统很少修改能移到另外一个硬件结构

  可靠性:处理出错情况的能力

系统组成:

  window 2000结构是分层模块化的结构主要层次包括HAL、内核和可执行体,这些运行于保护模式下。

  用户模式子系统分为两类,一类是环境子系统,模拟不同操作系统,另一类保护子系统,提供安全功能

  硬件抽象层(hardware-abstraction layer ,HAL):

    是一软件层,用来为操作系统的上层隐藏硬件差异,提高可移植性

  内核:

    window 2000的内核为执行体和子系统提供了基础,内核驻留于内存,其执行不会被抢占

    有四个主要的责任:线程调度,中断和异常处理程序,低层处理器同步和掉电后的回复

    内核是面向对象的。内核使用两组对象。

    一组是由调度程序对象组成。调度程序对象控制系统的调度和同步包括:事件、mutant、mutex、线程、定时器

      事件对象用来记录事件的发生,并使事件与某一动作同步

      对象mutant规定了在拥有者概念下的内核模式和用户模式的互斥。

      对象mutex提供了只能在内核模式下使用的无死锁互斥

      信号量对象作为计数器或门,控制访问某个资源的线程数量

      线程对象是由内核调度程序调度的实体,它与进程对象相关联

      定时器对象用来跟踪时间,

    第二组内核对象由控制对象组成,包括非同步的过程调用、中断、电源通知、电源状态、进程和Profile对象

    1 线程与调度

      线程有6个可能状态:

        就绪:等待运行

        运行:在处理器上执行

        等待:等待将要发出的信号时

        过渡:等待执行所需的资源时

        终止:完成执行

        备用:

      调度程序采用32级优先权方案以确定线程执行顺序。优先级分成两类:可变类和实时类

      可变类包括0到15优先级的线程,实时类包括16到31优先级的线程

      调度程序为每个优先级都采用了队列,并从高到低遍历队列集合,直到找到可以运行的线程为止

      如果找不到就绪线程,那么调度程序就执行一个称为空闲线程的特殊线程

    2 异常与中断:

      异常调度程序创建一个包括异常理由的异常记录,并查找一个异常处理程序处理它

      内核的中断调度程序通过调用中断处理程序ISR或内核处理子程序处理中断

      中断由中断对象表示,中断对象包括处理中断所需要的所有信息。采用中断对象便于让中断处理程序与中断相关联

      中断根据优先级高低划分并按优先级顺序处理,window 2000有32个中断级别

      8个为内核保留使用,其他24个通过HAL表示硬件中断

      内核使用中断调度表将一个中断级别绑定到一个服务例程

    3 低层处理器同步

    4 掉电后恢复

  执行体

    window 2000执行体提供一组环境子系统所使用的服务,服务分为:

      1 对象管理器:

        window 2000作为一个面向对象的系统对其所有的服务程序及实体都使用对象。包括目录对象、符号连接对象、信号量对象

        事件对象、进程和线程对象、端口对象以及文件对象

        对象管理器的工作就是监督管理所有对象的使用,

        当一个线程想要使用一个对象时,它调用对象管理器的open方法,取得一个句柄

        句柄是所有对象类型的标准化接口。

      2 虚拟内存管理器(VM)

        基于页面的管理方案,该方案采用4kb大小的页面。

        赋给某一进程但不在物理存储器中的数据页面被保持在磁盘上的页面调度文件中

        VM管理器采用了两步过程来分配用户内存:

          1 保留进程虚拟地址空间的一部分

          2 通过指派虚拟内存空间来提交分配

        VM允许具有优先权的进程在物理存储器中锁定挑选过的页面,这样确保了该页面不会被换到页面调度文件中去

        windows 2000提供了地域对象,表示共享内存的一个块。

        取得一个地域对象的句柄后,进程就可以映射内存所需要的部分,这个部分叫做视图。

        在视图机制中,进程能够访问一个因过大而不适合进程页面调度文件规模的对象

        系统可以使用视图来访问对象的地址空间,每次一个对象

        进程可按许多方式控制共享内存段对象的使用。最大值可以加以约束,可通过磁盘空间加以扩张等

        共享段地保护页可以设成只读、读写、读写执行、只可执行、无访问、写时拷贝

        windows 2000中虚拟地址转换用到多种数据结构,每个进程拥有一个页面目录,包括1024个、4B大小的页目录条目

        每个页面目录项指向一个含有1024个页表项(PTE)的页表,每个页面表项的大小为4b

        每个PTE指向物理内存中的一个4KB的页帧

        32位虚拟内存地址分成三个部分,头10位用低页目录的索引,内存管理单元(MMU)采用虚拟地址的后10位,选择一个PTE

        剩余12位作为页帧中特定字节的偏移

        MMU通过将PTE的20位与虚拟内存的低12位相合并,就得到一个指针以指向物理内存的特定字节

        因此32为PTE有12位可用来描述物理页的状态

        物理页可以有6个状态:

          有效:被活动进程所使用

          空闲:没有被PTE引用的页

          清零:已清零的、可满足调页清零需要的空闲页

          修改:已经被进程所写,在分配给其他进程之前需要发送到磁盘

          备用:页上的信息已经保存在磁盘上

          坏页:硬件已检测到错误

      3 过程管理器:

         windows 2000进程管理器提供了创建、删除和使用进程、线程和作业的服务

      4 本地过程调用工具

        单个机器上的客户与服务进程之间,操作系统采用LPC工具以传递请求和结果

      5 I/O管理器

        负责文件系统、设备驱动程序和网络驱动程序

        I/O管理器能把接收到的请求转换为一种标准格式,称为I/O请求包(IRP)

      6 安全引用监控器

      7 既插即用管理器

环境子系统:

  

posted @ 2013-10-21 16:42  褐色键盘  阅读(181)  评论(0)    收藏  举报