




已阅读5页,还剩66页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机操作系统计算机操作系统 主讲主讲: : 四川大学计算机学院四川大学计算机学院 刘刘 循循 第第1111章章 操作系统的性能指标和系统结构操作系统的性能指标和系统结构 操作系统结构是操作系统设计中首先需要考虑的因素 。操作系统结构对操作系统的性能指标有很大的影响,而 操作系统性能指标又影响到计算机系统的性能。良好的操 作系统结构会提升操作系统的性能指标,充分发挥计算机 系统性能,充分利用CPU的处理速度和存储器的存储能力 。 11.1 操作系统的性能指标 1系统的可靠性 系统的可靠性是系统能够发现、诊断和恢复硬件、 软件故障,以减小用户误操作或环境破坏而造成的系统损 失的能力。 系统的可靠性通过系统平均无故障时间进行度量。平均 无故障时间越长,系统的可靠性越高。 系统的并发行、共享性和随机性对系统的可靠性影 响很大。用户一方面希望系统的可靠性高,另一方面又希 望系统的并发性、共享性和随机性好。显然,这两方面是 矛盾的,如何处理好这两方面的矛盾是操作系统需要解决 的问题。 11.1 操作系统的性能指标 2系统的吞吐量 系统的吞吐量是指系统在单位时间内所处理的信息 量,用一定时间内系统所完成的作业个数来度量。 系统吞吐量反映了系统的处理效率。吞吐量越大, 系统的处理效率越高。但是,增大系统的吞吐量则意味着 加大系统的并发性,使得系统的开销大,减小了系统的可 靠性。 3系统的响应时间 系统的响应时间是从系统接收作业到输出结果的时间 间隔。在批处理系统中,用户从提交作业到得到计算结果 的时间间隔为响应时间。对分时操作系统或实时操作系统 ,系统的响应时间是指用户终端发出命令到系统作出应答 之间的时间间隔。 4系统的资源利用率 系统的资源利用率表示系统中各部件、各设备的使用 程度,即单位时间内某设备实际使用时间。系统中各设备 越忙,系统的资源利用率越高。 11.1 操作系统的性能指标(续) 5系统的可移植性 系统的可移植性是将一个操作系统从一个硬件环境转 移到另一个硬件环境仍能够正常工作的能力。常用转移工 作的工作量来度量。 从传统意义上讲,系统的可移植性并不是操作系统结 构中的主要问题。但是,由于计算机用户的广泛性和跨行 业性,要求操作系统能够在不同的硬件平台上实现运行, 可移植性成为操作系统结构中需要考虑的问题。 11.1 操作系统的性能指标(续) 11.2 操作系统结构 操作系统结构是一个非常复杂的问题,在设计操作 系统之前,首先需要确定操作系统的结构。目前,操作系 统结构主要有五种形式:简单结构形式、模块化结构形式 、基于层结构形式、微内核结构形式和虚拟机结构形式。 11.2.1 简单结构形式 l 简单结构形式是将系统所有的软件和数据结构都放置在一 个模块中,操作系统各功能部分之间没有明显的接口。 在操作系统发展的初期,大多系统采用简单结构形 式。特别是某些商用操作系统,以市场需求为出发点,在 一个非常短的时间内构建,不可能对操作系统结构进行充 分地分析和严格地定义。通常是先构建一个规模非常小、 功能极其简单的操作系统,然后,根据应用需要不断地扩 充系统功能。这样的简单结构设计形式不利于后来的系统 功能变化和扩充,造成一个功能改变影响到所有的功能, 使得整个系统发生变化,最终导致系统完全脱离最初的设 计理念。 MS-DOS系统是一种较早的单任务操作系统,该操作 系统基于简单结构方式构建。 在MS-DOS系统设计之初,由于受当时的操作系统技 术和计算机硬件发展的限制,需要在有限的内存空间中 放入操作系统核心程序。因此,MS-DOS操作系统的结构 只能追求最小存储空间。为了在最小存储空间条件下获 取最多功能,只能将各功能拼凑在一起,以最简单的形 式搭建系统,如图11.1所示。 虽然MS-DOS的结构由四个 部分构成,但是这四个部分并不按照系统功能进行分布 ,相互之间也不是真正意义上的层次依赖关系。 11.2.1 简单结构形式(续) 图11.1 MS-DOS系统结构 11.2.1 简单结构形式(续) 11.2.2 模块化结构形式 模块化结构形式将程序 模块作为系统结构的基本 单位,按照功能需要把整 个系统分解为若干模块, 每个模块可以再带有子模 块,每个模块具有一定的 独立功能,模块之间接口 明确,自由调用,可以根 据需要约定参数传递或返 回结果。各个模块分别设 计、编码和调试,如图 11.2所示。 图11.2 模块化结构形式 11.2.2 模块化结构形式(续) 模块化结构形式的优点如下: 结构紧密、组合方便,系统可以按照不同的需求,组 合不同模块; 接口简单直接、模块之间调用的灵活性使系统效率较 高;各个子模块的设计、编码可以同时进行,研制过程快 。 11.2.2 模块化结构形式(续) 模块化结构形式的缺点如下: 模块之间可以任意相互调用,调用关系复杂,模块的独 立性差,造成系统结构不清晰,可靠性降低; 数据为全局量,系统内各模块均可对其进行存取和修改 ,造成模块间的关系更加隐蔽,难于对软件结构进行综合性 的理解和修改,软件的可靠性、易读性、适应性难以保证; 随着系统规模的扩大,系统的复杂性迅速增长。 因此,模块化结构形式适应性较差,适用于规模较小、使用 环境比较稳定却效率要求较高的系统。 11.2.3 基于层结构形式 为了减轻操作系统设计的复杂性,在操作系统结构上提 出了基于层结构形式。 基于层结构形式按照操作系统功能进行层次划分。不同 的层次完成不同的功能,相邻层之间定义严格的接口,上 层的功能根据下层提供的功能实现。 在基于层结构形式中,通常,最底层为计算机硬件接口 ,最上层为用户接口。为了支撑系统其它的功能部件,进 程和线程控制以及处理器调度、进程通信等相关功能都尽 可能放在结构的较底层。层与层之间的关系按照系统的应 用方式或命令调用次序来决定。 11.2.3 基于层结构形式(续) 图11.3所示为基于层 结构中最典型的6层结构。 这6层分别为:计算机硬件 层、进程管理和调度层、 存储管理层、I/O处理层、 文件存取层、资源分配和 调度层。6层结构中没有包 括用户接口层,按照功能 ,用户接口层应该位于在 资源分配和调度层之上, 即最上层。 图11.3 操作系统6层结构 11.2.3 基于层结构形式(续) 基于层结构形式具有如下优点: 每层的功能明确,可以采用模块化设计 每一层的功能明确,可以独立设计、编码和测试。模 块化设计简化了系统设计和实现,容易形成结构清晰的软 件系统,最终能实现可靠、可适应、可移植的系统设计。 有利于系统的维护和扩充 层次内部的修改和变化,只在层次内部进行,只要 各层次的接口不变,各层次的主要功能不变,就不会对其 它层次造成影响。 基于层结构形式具有如下缺点: 核心层功能多 基于层结构形式下进程控制、进程调度、进程通信 等功能全部交给核心层使得核心层越来越大。 11.2.3 基于层结构形式(续) 层次划分比较困难 基于层结构形式必须将操作系统按照功能进 行严格的层次划分,实现上比较困难。 每层独立性差 每一层功能只能构建在其下层功能的基础上 ,层次之间独立性差,且下层不能利用上层的信息 。 层次变化难 层次之间的依赖关系使得除去或增加某个层次比 较困难。 增加了系统开销 层次结构在具体实现上需要增加层次之间的 通信程序,增加了系统的开销。 11.2.3 基于层结构形式(续) 最早采用基于层结构形式的操作系统是THE (Technische Hogeschool Endhoven),该操作 系统由E.W.Dijkstra和其学生于1968年在荷兰开 发。 THE操作系统结构上采用了6层结构,如图11.4 所示。除最下层为硬件层之外,第2层实现了处理器 管理功能中的CPU调度和进程间的同步机制,存储管 理位于第3层,操作员控制台位于第4层,输入/输出 管理位于第5层,用户程序位于第6层。 THE系统的层次结构与前面的操作系统6层结构 一样,存在最严重的问题是存储管理位于进程管理 之上,使得存储管理需要依赖进程管理,而进程管 理却不能利用存储管理的功能。因此,进程调度中 选取调度决策不能利用存储管理信息,不能判别存 储器的使用情况,不能参考内存的使用状况。 在THE层次结构中,操作员位在于输入/输出 管理之下,因此,操作系统在高层上对机器有很大 的依赖性。 11.2.3 基于层结构形式(续) 图11.4 THE操作系统的层次结构 11.2.3 基于层结构形式(续) 图11.5 OS/2操作系统的层次结构 OS/2是IBM公司较早开发的一种单用户、多任务 操作系统。按照功能设计 的系统结构为5层,如图11.5所示。 11.2.3 基于层结构形式(续) 在OS/2的层次结构中,计算机硬件处于最底 层,应用程序处于最上层。操作系统核心层在硬 件层之上,实现了中断处理、时钟管理、原语操 作和进程管理、存储器管理、设备管理等功能。 核心程序常驻内存,并采取特殊保护措施,实现 了对硬件的有效控制,使得操作系统运行更加快 速和安全。应用程序层位于最上层,能够利用系 统为用户提供资源和功能。因此,OS/2是一种比 较合理的操作系统层次结构。 11.2.3 基于层结构形式(续) 现代操作系统设计中,分层结构具有一定的 指导性,但是,分层结构的缺点决定了其的局限 性,很难有一种操作系统会采用纯粹的分层结构 形式。随着操作系统的发展,为了避免定义过多 的层次带来的复杂性,操作系统的层次有所减少 ,系统能够用较少的层次完成更多的功能,并在 层次结构的基础上再采取模块化,发挥模块化的 优势,避免层次之间定义的困难。 11.2.3 基于层结构形式(续) 11.2.4 基于微内核结构形式 随着操作系统的发展和所需功能的增加,核 心层变得越来越大,管理起来也越加困难。现代操 作系统为了简化系统结构,提出了微内核结构形式 ,在设计上使得核心尽可能小。 为了实现核心微小化,原来操作系统内核中 不必要的功能需要被除去或分离出来放在核的外面 ,内核中只留下部分进程管理和存储器管理、进程 通信功能。 图11.6所示为微内核结构中的客户服务器 结构。该微内核结构将操作系统分为微内核和服务 进程。微内核运行在核心态,提供进程调度、虚拟 存储、消息传递、设备驱动以及内核原语操作、中 断处理等基本操作,核心的全部工作是处理客户与 服务器间的通信。服务进程运行在用户态。 11.2.4 基于微内核结构形式 图11.6 操作系统微内核结构形式 11.2.4 基于微内核结构形式(续) 除核心外操作系统的所有其他部分被分成若 干个相对独立的服务进程,提供各种系统功能。 每一部分只处理一方面的功能,如文件服务、进 程服务、终端服务、存储器服务、网络服务等。 微内核结构优点如下: 易于扩展操作系统 如果操作系统需要为用户提供新的服务,新 的服务的加入只影响到用户空间,对核心没有影 响,系统不必修改核心。新的服务不直接访问硬 件,如果在文件服务器中发生错误,文件服务器 可能崩溃,但不会导致整个系统的崩溃。 11.2.4 基于微内核结构形式(续) 硬件环境变化对操作系统改动很小 硬件环境变化会引起微内核变化,但是,由 于微内核很小,即使需要修改,改动也很小,对 操作系统不会带来大的改动。 使操作系统更加安全和可靠 微内核很小,很容易实现安全保护。系统提 供的大量服务进程都运行在用户空间下,而非核 心空间。如果一个服务失败,不会影响操作系统 其他的功能。这提高了操作系统的稳定性。 在微内核的安全保护上系统可以利用基本的 授权机制阻止外界对内核代码的非授权访问,或 者采用除中断事件能够进入核心状态外,任何其 它的事件不可以在核心状态下执行的限制。 适用于分布式系统 一个客户通过消息传递与服务器通信,客户 无需知道这条消息是在本机处理还是通过网络送 给远程机器上的服务器。 11.2.4 基于微内核结构形式(续) 微内核的主要功能是提供客户与各种服务之 间的通信,通信以消息传递的方式进行。在微内 核系统中,除内核部分外,操作系统的其他部分 被分成相对独立的进程,称为服务器进程。每一 个服务器进程提供一类服务,微内核的各种服务 器进程可以实现要求的操作系统接口。客户进程 和服务器进程都运行在用户空间。内核被映射到 所有进程的虚拟地址空间中,实现控制所有进程 的目的。客户程序对文件的访问必须通过文件服 务器进行,客户程序与服务并不直接交互,而是 通过微内核交换消息。当客户进程需要访问某个 设备时,客户进程与内核进程通信,内核进程将 消息发送到设备驱动进程。同样,设备完成的结 果通过内核发送消息回客户进程。 11.2.4 基于微内核结构形式(续) 微内核结构是操作系统结构的一种发展趋势 ,在业界是一个争议性话题。支持微内核技术者 认为微内核提供了实现操作系统模块化、端口化 的基础;反对微内核者认为微内核制造了一个瓶 颈,限制了多用户系统的规模。 11.2.4 基于微内核结构形式(续) 20世纪80年代中期,卡内基梅隆大学( Carnegie Mellon University)在Mach操作系统设 计中采用了微内核结构,如图11.7所示。 图11.7 Mach微内核支持策略 11.2.4 基于微内核结构形式(续) Mach采用微内核的主要目的在于研究操作系统支 持进程之间利用消息进行通信的问题。 Mach为多处理器环境设计的一种多任务、多线程 的操作系统,支持进程和线程。 在Mach系统中,一个任务中的一个线程相当于一 个标准进程,因此,一个任务可以支持多个线程 ,一个线程只对应一个进程。 如果一个任务在多处理器环境下建立,则通过线 程同步机制实现其对资源的访问。 Mach支持的地址空间是新型的虚拟存储器空间。 在多处理器情况下,进程的通信不采用共享存储 器,而采用消息机制。 11.2.4 基于微内核结构形式(续) l 利用消息,Mach实现了客户线程与核心线程、核 心线程与服务器线程之间的通信。但是,对跨越 网络的线程通信,Mach通过用户空间的消息服务 器实现,而不是直接由内核空间中的消息机制实 现。内核并不支持跨越网络的消息通信。用户空 间中的消息服务器需要在内核空间中进行注册, 由内核对服务器进行定义后才能使用。 l Mach微内核支持可扩展的功能,利用用户空间的 程序,可以定义各种操作系统策略支持。Mach中 已经建立了支持不同操作系统的标准功能的公共 集合,其中BSD UNIX是其默认的操作系统,Mach 的微内核能够将BSD UNIX的系统调用映射到相应 的用户级服务。Mach微内核中除了支持BSD UNIX 操作系统外,还支持Apple公司的MacOSX服务器操 作系统和其他操作系统。在内核扩展方面,Mach 与虚拟机结构有些相似。 11.2.4 基于微内核结构形式(续) 无论是基于层结构方式,还是微内核结构方 式,硬件都处于最底层,操作系统核心位于硬件 层之上。因此,核心可以利用硬件提供的指令为 核心之上的用户和应用程序创建一系列的系统调 用。在核心之上的系统程序既可以利用核心提供 的系统调用,也可以利用硬件提供的指令,使得 这些系统程序能够提供更高级的功能。 11.2.5 虚拟机结构形式 11.2.5 虚拟机结构形式(续) 将硬件和系统调用看作一体,处于上层的应用程 序可以利用下层提供的所有功能的观点,是产生虚拟 机(Virtual Machine,VM)结构的基础。 虚拟机结构可以将核心提供的不同系统调用映射 为不同的操作系统系统调用。 因此,虚拟机结构允许在单一硬件平台上建立依 赖策略的多操作系统版本,如图11.8所示。 11.2.5 虚拟机结构形式(续) 图11.8 扩展内核形成虚拟机结构 在虚拟机结构中,操作系统管理和控制多用户 共享的计算机硬件,用户只是应用计算机资源而与 其它用户没有直接的关系。通过CPU调度和虚拟存 储器技术,在虚拟机接口上的每个用户都会将自己 的进程视为在自己“单独”的处理器和内存环境下 运行,即自己“单独”在使用计算机,自己完全拥 有计算机资源,而没有感觉到还有其他用户在并发 操作。如图11.9所示,多道应用在虚拟机结构的最 上面,计算机CPU、内存、设备等硬件在最下层, 应用和硬件之间不直接打交道,而是通过虚拟机实 现通信。 11.2.5 虚拟机结构形式(续) 图11.9 虚拟机结构 11.2.5 虚拟机结构形式(续) 虚拟机结构优点如下: 保护了系统资源 每个虚拟机都与其它的虚拟机完全隔离,所以 不存在资源的安全问题。虽然,虚拟技术将一个物 理设备变成了多个逻辑设备,但是,虚拟技术是通 过软件实现的,并没有直接的资源共享问题。 独立用户环境为操作系统的研究和开发提供了方便 系统采用虚拟机结构后,每个用户程序运行在 独立环境下,为了研究和开发程序的需要而引起操 作系统某些部分的改变,只发生在虚拟机的内部, 对整个系统的影响小。 在虚拟机结构实现上,虚拟机需要模拟的计算 机越复杂,构造精确的虚拟机越困难,从而虚拟机 运行速度越慢。 11.2.5 虚拟机结构形式(续) 最早采用虚拟机设计的系统为IBM 370(1979年 ),如图11.10所示。 11.2.5 虚拟机结构形式(续) 图11.10 IBM 370虚拟机系统 l 虚拟机管理计算机,通过多重化技术和共享技术 ,一台计算机可以提供多个操作系统应用平台, 一个输入、输出设备可以提供多个虚拟的输入、 输出设备。 l 多个用户通过终端使用System/370,每个用户都 可以用各种输入、输出设备,可以选择不同的操 作系统应用平台,传统监控系统(CMS)是一个 具有很强交互开发程序的系统。包含编辑器、语 言翻译器、各种应用软件包和调试工具。控制程 序(CP)创建虚拟机能够执行的环境,为用于控 制实际System/370和兼容计算机系统的各种操作 系统提供支持,在虚拟机环境下管理实际机器, 提供每个用户访问计算机的处理器、存储器和I/O 设备,构成多道程序的虚拟机而非单任务或单进 程系统。 11.2.5 虚拟机结构形式(续) 最近几年来,虚拟机技术作为解决操作系统的兼 容问题的方法之一得到了很大的发展。IBM 390主 机操作系统实现计算机网络环境下的商业应用, 能够支持多个操作系统,特别是Linux操作系统。 在IBM 390下,Linux有三种实现模式:本地运行 模式、逻辑分区运行模式、VM/ESA模式。本地运 行模式为独立模式,这种模式下,Linux可以不依 赖IBM 390的操作系统。逻辑分区模式Linux在IBM 390硬件逻辑分区内运行,最大可支持的独立的逻 辑分区可达15个。VM/ESA模式把Linux看成为一个 虚拟机来运行,提供虚拟的CPU、内存储器和I/O 子系统。 11.2.5 虚拟机结构形式(续) 除了IBM等大型机采用了虚拟机技术外, Apple公司的个人计算机操作系统Macintosh也采 用虚拟机结构。Intel在奔腾芯片上提供了一个虚 拟8086模式,在此模式下,奔腾机就像一台8086 计算机。虚拟8086模式被Windows、OS/2以及其他 操作系统用于运行MS-DOS程序。程序在虚拟8086 模式下启动,执行一般的指令时它们在裸机上运 行。但是,当一个程序试图陷入系统来执行一条 系统调用,或者试图执行受保护的I/O操作时,将 发生一条虚拟机监控程序的陷入。 当今流行的程序开发语言Java,正是由于其 运行在虚拟机下,才被称为可运行在任何硬件平 台下。 11.2.5 虚拟机结构形式(续) 11.3 UNIX和Windows的系统结构 11.3.1 UNIX的系统结构 UNIX操作系统的系统结构形式如图11.11所示,可 以归类为分层结构。层次分为硬件层、核心层、 用户层。人们习惯将UNIX的核心层称为核心级, 将用户层称为用户级。 硬件层包括:终端控制器、磁盘和磁带控制 器、存储设备控制器等硬件。硬件层是操作系统 的运行平台。 核心层分为:系统调用接口、进程 控制子系统、文件子系统、和输入/输出设备管理 。核心层与硬件层之间的接口由一组硬件的驱动 程序和一些基本的例程组成。核心层与用户层的 接口为系统调用,为命令和用户程序提供服务。 11.3 UNIX和Windows的系统结构 图11.11 UNIX操作系统的系统结构 11.3.1 UNIX的系统结构(续) 用户层分为:系统库函数、编译器及接口、 shell及管理命令。 进程控制子系统是核心层中的主要部分,承 担处理机管理和存储器管理。处理机管理功能包 括进程控制、进程通信、进程调度;存储器管理 功能包括内存储器管理和虚拟存储器管理。 文件子系统在核心层中管理文件和输入/输出 设备。文件子系统的主要功能包括文件管理、高 速缓冲机制、设备驱动程序。文件管理实现了文 件存储空间的分配、磁盘块管理、文件的存取控 制。高速缓冲机制加快了对字符设备和块设备的 访问速度,提高了系统性能。 11.3.1 UNIX的系统结构(续) UNIX操作系统的特点是在文件子系统中实现 输入/输出设备管理。将设备看为一个文件,系统 对输入设备的访问相当于读文件,对输出设备的 访问相当于写文件。系统通过文件读写形式完成 对设备的访问,为用户访问设备提供了很大的方 便。如UNIX系统中利用“管道”实现进程通信的 基础就是基于文件访问,读写管道就是读写文件 。 由UNIX系统结构可见,用户程序通过核心提 供的系统调用实现文件系统中文件的创建、读写 等操作;用户程序通过核心提供的系统调用实现 对设备的访问;用户程序可以通过核心提供的系 统调用实现进程的控制和管理。 11.3.2 Windows的系统结构 Windows操作系统运行在Intel或与Intel兼 容的CPU硬件平台上,是一种具有多任务、可抢占 、可重入,具有虚拟存储器管理和强大网络功能 的的大型分布运算平台,是一种满足安全规范、 适合全球范围大多数语言的通用操作系统。 11.3.2 Windows的系统结构 Windows系统结构设计有如下要求: 具有可伸缩性、可移植性、可扩充性 硬件平台的多样性和变化性,要求Windows系 统结构能够适应硬件环境的变化,具有良好的可 伸缩性、可移植性、可扩充性; 具有抗干扰能力 Windows系统的通用性,要求系统设计能够 防止内部故障及外部侵扰对系统造成的损害,减 少应用程序对操作系统和其它应用程序的影响, 使系统具有较高的抗干扰性; 具有较强的网络功能 Windows作为网络环境下分布式计算的平台 ,需要系统能够承担网络服务和网络客户的功能 。 11.3.2 Windows的系统结构 Windows系统结构,如果采用模块化结构形 式和分层结构形式,很难满足可扩充性和可移植 性要求;如果采用微内核结构形式,则很多服务 会运行在用户态,系统的运算成本太高。 Windows 2000/XP系统结构采用了分层结构形式和 微内核结构形式相结合的形式,如图11.12所示。 图11.12 Windows系统结构 11.3.2 Windows的系统结构 整个系统结构分为两个大的特权级别:核心 态和用户态。核心态包括对操作系统性能影响很 大的组件,如:文件服务、设备管理、进程与线 程管理、虚拟存储器管理、对象管理、内核、图 形引擎等。系统除核心态组件外,其它功能则放 在用户态。 由核心态与用户态之间的关系可见:核心态中 的所有的内核组件都受保护,不允许用户态程序 直接访问核心部分代码和数据,因此,核心态组 件不会被错误的应用程序侵扰,Windows系统稳定 。 11.3.2 Windows的系统结构 由核心态内部可见:核心态中的组件之间或 组件与硬件之间都可以通过内核相互交互,不会 引起描述表切换和模式转变,Windows系统更加高 效、更加稳定。 11.3.2 Windows的系统结构 1核心态 硬件抽象层(Hardware Abstract Level,HAL ) 硬件抽象层是硬件之上的操作系统结构的最 下层,它隐藏了各种与硬件有关的细节,使系统 的高层可以被屏蔽在千差万别的硬件平台之外。 这样,将依赖于处理器体系结构或平台的系统底 层部分隔离在单独的模块之中,例如系统总线、 I/O控制方式、I/O接口、多处理器通信机制等, 是一个可加载的核心态模块(HAL.DLL)。该模块 运行在计算机硬件平台上的低级接口,对内核来 讲,表面上都是相同的。 11.3.2 Windows的系统结构 设备和文件驱动程序 设备和文件驱动程序是可加载的核心态模块 ,是I/O系统和相关硬件之间的接口,包括硬件设 备驱动程序、文件系统驱动程序、过滤器驱动程 序、网络重定向程序和服务器。设备和文件驱动 程序将用户的I/O函数调用转换为特定硬件设备的 I/O要求,通过调用硬件抽象层来控制硬件的接口 ,而不是直接操作硬件。 11.3.2 Windows的系统结构 内核 内核执行操作系统最基本的操作,决定操作系统 如何使用处理器。内核在核心态中处于其它组件的底 层,提供线程管理和线程调度、中断处理、陷阱处理 和异常调度、多处理器同步以及提供核心态可调用程 序。 内核始终运行在核心态,代码精简,可移植性好 。除了中断服务例程,内核不以线程方式运行,也不 能被其它正在运行的线程中断,是Windows系统中唯一 不能被剥夺和调页的部分。 11.3.2 Windows的系统结构 内核 内核实现了一组简单的对象,称为内核对象,以帮助 内核控制中心处理并支持执行体对象的创建。内核的 硬件支持实现手段是一组在多个体系结构上可移植的 、相同语义的接口,使得执行体和设备驱动程序同硬 件无关。内核支持虚拟8086模式的代码,用以运行一 些古老的16位DOS程序,内核还支持高速缓存管理和进 程与线程的上下文切换。 11.3.2 Windows的系统结构 I/O管理器 执行独立于设备的输入/输出,并进一步处理调 用适当的设备驱动程序。 文件系统缓存 将最近引用的磁盘数据驻留在主内存中来提 高文件系统I/O的性能,对磁盘进行提前读和延迟 写等方式,实现对磁盘的快速访问。内存管理器为 高速缓存管理器提供基本的支持。 对象管理器 对Windows 2000/XP的执行体对象及用于代 表操作系统资源的抽象数据类型,例如进程、线程 和各种同步对象进行创建、管理以及删除。 11.3.2 Windows的系统结构 安全参照监控 负责在本地计算机上执行安全策略,对操 作系统资源进行保护,执行运行时对对象的保护 和监控。 虚拟存储器管理器 实现“虚拟内存”。 进程和线程管理器 对进程和线程进行创建、中止。管理器对进 程和线程的基本支持在内核中实现,而执行体给 这些低级对象添加附加语义和功能。执行体支持 例程有系统内存分配(页交换区和非页交换区) 、互锁内存访问和同步对象。 11.3.2 Windows的系统结构 局部过程调用(Local Procedure Call,LPC)机 制 在同一台计算机上的客户进程和服务进程 之间传递信息。LPC是一个灵活的、经过优化的“ 远程过程调用”(Remote Procedure Call,RPC )版本。 即插即用和电源管理 Windows 2000/XP增加了即插即用和电源管 理,使Windows驱动模型成为标准的驱动程序模型 。Windows驱动模型包括总线驱动程序、功能驱动 程序、过滤器驱动程序。总线驱动程序负责向即 插即用管理器报告它上面有的设备,功能驱动程 序负责操纵这些设备。 11.3.2 Windows的系统结构 执行体 处于核心态的上层,由若干组件组成并提供 了一组函数调用。执行体提供的函数调用包括从 用户态导出并且可以调用的函数,这些函数的接 口在ntdll.dll中。Win32 API或一些其他的环境 子系统可以对它们进行访问;从用户态导出并且 可以调用的函数,当前通过任何文档化的子系统 函数都不能使用;在Windows DDK中已经导出并且 文档化的核心态调用的函数;在核心态组件中调 用但没有文档化的函数。例如在执行体内部使用 的内部支持例程;组件内部的函数。 11.3.2 Windows的系统结构 Win32 User GDI图形驱动器 核心态设备驱动程序(Win32.sys)包括控 制窗口显示,管理屏幕输出,实现用户界面的窗 口管理器User和图形设备接口GDI。图形设备驱动 程序包括依赖于硬件的图形显示驱动程序、打印 机驱动程序和视频小型端口驱动程序。 11.3.2 Windows的系统结构 2用户态 系统支持库(ntdll.dll) 系统支持库是一个特殊的系统支持库,用于 子系统的动态链接,为环境子系统、环境子系统 动态链接库等提供内部支持函数。ntdll包含为 Windows 2000/XP执行体系统服务调度占用程序、 子系统动态链接库、本机映像使用的内部支持函 数。 11.3.2 Windows的系统结构 环境子系统 将基本的执行体系统服务的某些子集以特定的形 态展示给应用程序。 有三种环境子系统:POSIX、OS/2和Win32。 OS/2 只能用于x86系统, POSIX、OS/2只在需要时才被启动。 Win32子系统是Windows运行的基本条件之一,必 须始终处于运行状态。 11.3.2 Windows的系统结构 Win32环境子系统进程(csrss.exe)包括控制台 (文本)窗口、创建及删除进程与线程、支持16 位DOS虚拟机(VDM)进程的部分等的支持。由于 每一个可执行的映像都受限于唯一的子系统,函 数调用不能在不同子系统之间混用。POSIX子系统 是设计的强制性目标,Windows 2000实现了 POSIX.1,其功能有一定的局限性,实际中用处不 大。Windows XP/Server/2003实际上并不包含 POSIX子系统,Windows Services for UNIX/Interix是一个独立于操作系统的软件,它 是原POSIX子系统的超集,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年在线数学考试试题及答案
- 2025年管理会计考试试题及答案
- 2025年环境维护面试题及答案
- 搜救犬训导员职业技能鉴定复习试题及答案
- 2025年口哨种类测试题及答案
- 2025年钢结构第4版试题及答案
- 2025年淄博高校面试试题及答案
- 译林版三下英语 Unit3 School rules作业单
- 2025年人才争夺面试试题及答案
- 2025年天上的街市考试题及答案
- 经典美味的宫保鸡丁
- 孤独症儿童心智解读能力
- 2023-2024学年人教版(2019)必修 第三册Unit 2 Morals and Virtues Reading and Thinking 课件(22张)
- 特需病房服务流程
- 横贯性脊髓炎演示课件
- 《警察现场急救》课件
- 于永正教育文集:于永正:我怎样教语文
- 阴道炎的预防和治疗
- 国家义务教育质量监测德育-道德与法治四年级创新作业测试卷附答案
- 能源管理体系培训课件(2023年EnMS)
- 零食店食品安全管理制度范本
评论
0/150
提交评论