收藏 分销(赏)

WindowsServer体系结构分析.doc

上传人:精*** 文档编号:4769918 上传时间:2024-10-12 格式:DOC 页数:15 大小:57.50KB
下载 相关 举报
WindowsServer体系结构分析.doc_第1页
第1页 / 共15页
WindowsServer体系结构分析.doc_第2页
第2页 / 共15页
WindowsServer体系结构分析.doc_第3页
第3页 / 共15页
WindowsServer体系结构分析.doc_第4页
第4页 / 共15页
WindowsServer体系结构分析.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、WindowsServer体系结构分析- 15 -2020年5月29日文档仅供参考第一节Windows Server 体系结构专 业:智能弱电姓 名:龚 世 伟 绍兴乔波冰雪世界体育发展有限公司 -7-30Windows Server 体系结构了解一个操作系统的体系结构就像了解一部汽车的工作原理一样,即使不知道汽车的技术细节,驾驶员也能驾驶汽车从A地到达B地。可是如果汽车出了毛病,就得把车送到车间或修理工那里去修理。修理工会告诉您应该早些更换机油,或者车胎需要做动平衡调整,或者是火花塞被脏东西堵了。如果知道了汽车的工作原理,就会更好地保养汽车、减少损耗,甚至能够自己对它进行维修了。尽管操作系统

2、比汽车发动机更复杂,可是道理是相似的。如果了解核心部分的各种组件、文件系统和OS是如何利用处理器、内存、硬件等,就能够更好地管理机器。1.1 操作系统模式基于Windows Server之上的Windows 是一个模块化的、基于组件的操作系统。这个操作系统中的所有组件对象都提供接口,以便其它对象和进程与它们交互,从而利用这些组件所提供的各种功能和服务。这些组件协同工作便能执行特定的操作系统任务。Windows 体系结构包含两个主要的层次:用户模式和内核模式。这两种模式和各种子系统如图1-1所示。图1-1 Windows Server 系统体系结构(简图)1.2 用户模式Windows 用户模式

3、层是一种典型的应用程序支持层,它由环境子系统和整合子系统组成,同时支持Microsoft和第三方应用软件。它是操作系统的一部分,独立的软件供应商能够在其上使用发布的API和面向对象的组件进行操作系统调用。所有的应用程序和服务都安装在用户模式层。1.2.1 环境子系统环境子系统的功能是运行为不同操作系统所编写的应用程序。它能够截取应用程序对特定操作系统API的调用,然后将它们转换成为Windows 能够识别的格式,转换后的API调用再传递到处理请求所需要的操作系统组件,最后再将调用所返回的返回码或返回信息转换回应用程序能够识别的格式。这些子系统在Windows 中并不是新功能,但与在NT中相比,

4、它们在这几年中已经有了显著的改进。一些实际应用表明,应用程序在Windows 中比在它们当初所设计的目标操作系统中运行得更好。很多应用程序在Windows 中也更加安全。例如,Windows 中止DOS应用程序时不会对服务器稳定性产生影响,而一般情况下,它会使运行DOS的机器崩溃。表1-1列出的是Windows 环境或应用程序子系统。表1-1 环境子系统环境子系统用途Windows Win32(32位)支持基于Win32的应用程序。这个子系统也支持16位Windows和DOS应用程序。所有应用程序的I/O和GUI功能都在这里处理。为了支持终端服务,该子系统已经得到很大的增强OS/2支持16位O

5、S/2应用程序(主要是Microsoft OS/2)POSIX支持兼容POSIX的应用程序(一般为UNIX)非Win32子系统只对非Win32的旧式应用程序提供基本支持。对于这些子系统并没有太多的要求,保留它们只是为了运行最简单的实用程序和兼容POSIX或OS/2的函数调用(这些调用一般使用C语言)。例如,POSIX子系统就是为了满足运行UNIX实用程序vi和grep的要求而设置的。POSIX子系统不是作为UNIX和Windows 高级集成的一种方法保留的,例如,如果要在Windows 上运行UNIX shell,您依然需要安装UNIX服务。在Windows 上运行非Windows应用程序会受

6、到一些局限和约束,这些影响来自基础操作系统。关于这些局限和约束,下面将有详细的列举描述,其中大部分约束也包括用户模式的、基于Win32的应用程序: 软件不能直接访问硬件。换句话说,如果应用程序要求硬盘空间时,系统将禁止它直接访问硬件以获得空间信息,它将访问的是用户模式对象。用户模式对象与内核模式对象进行对话,对话由内核模式对象向下传递到操作系统堆栈,再到硬件抽象层(Hardware Abstraction Layer,HAL),然后信息再逐层向上传递,由堆栈到接口。这个过程就是一般所说的切换处理(handoff processing)。Win32代码中函数实质上都获得一个返回值,使开发人员不必

7、和硬件对话。这对开发人员和操作系统都是有好处的。检查调用有效性的API能够保护操作系统,而开发人员则直接面对简单的调用级接口,它一般只需写一行代码,而不是一万行。 不能直接访问设备驱动程序。上述原则同样适用于设备驱动程序。硬件制造商为Windows 建立了访问硬件的驱动程序。驱动程序同样也不能对硬件进行直接访问,而是和由设备驱动程序API提供的抽象对象进行对话。 软件受限于内存中分配的地址空间。这项约束保护操作系统不受流氓应用程序的影响,这些应用程序会试图访问所有可访问的内存。这在Windows 中已经不可能了,应用程序只能在所分配的地址空间中活动。 Windows 与Windows 一样,使

8、用硬盘空间作为准RAM(quasi-RAM)。应用程序并不在意内存的类型或来源,它对于应用程序是透明的。虚拟内存是系统中所有内存的组合,它既包括机器中的物理内存,又包括系统中的交换文件。交换文件用来保存那些不能保存在硬件RAM中的信息。 用户模式子系统中应用程序的运行优先级比在内核模式中运行的所有服务和例程都低。这也意味着它们对CPU的访问要比内核模式进程的优先级低。1.2.2 整合子系统整合子系统用于执行某些关键操作系统功能。表1-2列出了这些服务。表1-2 整合子系统整合子系统用途安全子环境执行与用户权利和访问控制有关的服务。访问控制包括对整个网络及操作系统对象的保护,这些对象是以一定的方

9、法在操作系统中定义或抽象的。安全子环境也处理登录请求并开始登录验证过程服务器服务该服务使Windows 成为网络操作系统。所有网络服务都源于服务器服务工作站服务这项服务在用途上与服务器服务相类似。它更多地面向用户对网络的访问(在禁用这项服务的机器上也能进行工作)这些系统几乎不需要进行管理。在服务控制管理器(Service Control Manager)中能够访问这些服务,也能够经过手动方式启动和停止这些服务。1.3 内核模式Windows 内核模式是能访问系统数据和硬件的层。它由几个组件组成(参见图1-1)。1.3.1 Windows 执行程序执行程序是指所有执行程序服务的集合名词。它包含很

10、多操作系统中的I/O例程,并实现对关键对象的管理功能,特别是安全性方面。执行程序还包含系统服务组件(在两种OS模式中都能够访问)和内部内核模式例程(任何运行在用户模式中的代码都不能访问)。内核模式组件如下所示。 I/O管理器:管理机器设备的输入和输出。具体包括以下设备。 文件系统:将文件系统请求转换为与设备相关的调用。 设备驱动程序:管理直接访问硬件的设备驱动程序。 高速缓存管理器:隐藏在I/O管理器代码中,经过缓存磁盘读出的数据来管理I/O性能。还能缓存读请求和写请求,并能处理对硬件的脱机写入或后台写入。 安全性引用监视器:该组件能够实施计算机的安全策略。 进程间通信管理器(IPC):该组件

11、的作用使它存在于操作系统的各个角落。它的本质作用是管理客户端和服务器进程间的通信。它由本地过程调用(LPC)工具和远程过程调用(RPC)工具组成,前者用来管理同一台计算机上的客户端和服务器进程间的通信,后者用来管理不同机器上客户端和服务器之间的通信。 内存管理器或虚拟内存管理器(VMM):该组件用来管理虚拟内存。它为每个进程提供一段虚拟地址空间,每个进程占有并保护它的虚拟地址空间以维护系统的完整性。它同时还控制虚拟RAM对硬盘的访问要求,这就是一般所说的分页技术。 进程管理器:该组件能够创立和终止由系统服务或应用程序产生的进程和线程。 即插即用管理器:该组件利用各种设备驱动程序,为与硬件相关的

12、配置和服务提供即插即用服务及通信。 电源管理器:该组件控制系统中的电源管理。它利用各种电源管理API进行工作,管理与电源管理请求有关的事件。 窗口管理器和图形设备接口(GDI):驱动程序Win32k.sys将两个组件服务结合在一起,并管理显示系统,分别说明如下: 窗口管理器:该组件管理屏幕输出和窗口显示。它同时还处理鼠标和键盘的I/O数据。 GDI:该组件是最难以编写代码的接口,在Win16时代,它总是与内存一起提供。它利用一些组件来负责屏幕和界面图形的绘制和处理,这些组件负责把这些对象提交给打印机对象和其它图形输出设备。 对象管理器:该引擎管理系统对象。它能够创立对象、删除不需要的对象。它同

13、时能够进行资源管理,例如创立对象时需要分配的内存。除了这些服务之外(如图1-1所示),还有组成内核模式的3个核心组件,这包括设备驱动程序组件、Microkernel和硬件抽象层(HAL)。1.3.2 设备驱动程序该组件将驱动程序调用转换为操作硬件的实际例程。1.3.3 Microkernel该组件是操作系统的核心(有人将其本身看作是操作系统,其它所有部分看作是服务)。它管理微处理器上的线程处理、线程排队、多任务,等等。Windows Microkernel具有抢先权,从本质上看,这表明线程能够被中断或重新排队。1.3.4 硬件抽象层硬件抽象层(HAL)实际上对其它设备和组件隐藏了硬件接口的详细

14、信息。换句话说,它是位于真实硬件之上的抽象层,所有到硬件的调用都是经过HAL来进行的。HAL包含处理硬件相关的I/O接口、硬件中断等所必须的硬件代码。该层也负责与Intel和AMD相关的支持,使一个执行程序能够在这二者中的任何一个处理器上运行。1.4 Windows 处理体系结构Windows Server 采用对称多处理(SMP)体系结构。也就是说,首先,操作系统能够在多个CPU上运行;其次,它能够使所有进程根据需要使用多个CPU。换句话说,如果一个CPU被完全占用了,应用程序或服务程序所产生的线程能够在其它可用的CPU上进行处理。Windows 将它的多任务和多线程能力与SMP能力结合在一

15、起。如果线程处于等待执行状态,操作系统将安排处理器处理这个等候线程。线程执行的负担被均匀分摊到可用的CPU上。对称多处理技术能够确保操作系统使用所有的可用处理器资源,显然这将提高整个系统的处理速度。Windows Server Standard版支持4路(4 CPU)对称多处理。Enterprise版支持8路SMP,Datacenter Server可支持32路SMP,而Web版本最多只能支持2路SMP。如果需要,用户还能够从Microsoft获得代码,依据合同将 OS编译成所要求的SMP规范。1.5 Windows 内存管理Windows 与Windows Server在内存处理上几乎相同,

16、Windows 在 Windows NT 4.0的基础上进行了很大的改进。它包括一个内存模型,这个内存模型基于一个平面的、线性的依然为32位的地址空间。在Windows 操作系统中使用两种类型的内存。第一种是物理内存,包括安装在系统主板上RAM芯片中的内存,典型的有SDRam、DDRam、RAMBus RAM等几种形式。第二种是虚拟内存,它是系统中所有内存的组合,并包括如何使这些内存可用于操作系统的技术。虚拟内存管理器(Virtual Memory Manager,VMM)用于管理系统内存。它管理并组合系统中所有的物理内存,使应用程序和操作系统能够获得更多的可用内存。这比实际安装在系统中RAM

17、芯片上的内存要大得多。经过防止一个进程侵入另一个进程的地址空间,VMM能保护系统的内存资源。这在DOS或 Windows早期版本等操作系统中是一个令人头痛的问题。无论是物理内存还是虚拟内存,每个内存字节都用一个唯一的地址表示。物理RAM具有局限性,因为Windows 只能根据系统中物理RAM的数量来编址。可是虚拟编址就不一样了,Windows Web版本最多能够支持2GB RAM,Windows Server Standard版最多能够支持4GB RAM,而Enterprise版可支持64GB,在64位处理器上Datacenter版能够支持512GB RAM。VMM管理内存,它具有下面两个主要

18、功能。 VMM拥有一个内存映射表,它能够记住分配给每个进程的虚拟地址列表。能够确定要将实际数据映射到的地址位置。换句话说,它担当翻译服务的角色,负责将虚拟内存映射到物理内存。这项功能对于应用程序是透明的,应用程序就像访问物理内存一样运行。 在RAM用完时,VMM会根据需要将内存内容移到硬盘中去。这就是一般所说的分页。因此,Windows 能够访问4GB地址空间,这些空间是虚拟的,可能由RAM和硬盘空间组成。虽然我们讨论的是4GB地址空间,可是这些空间与系统如何使用内存有关。实际上,应用程序可用的地址空间只有2GB或者更少,因为有2GB由所有在用户模式运行的进程共享,而剩下的2GB分配给内核模式

19、线程。能够使用/3GB或者/PAE(即Physical Address Extension)来更改默认的地址空间,以获得大于4GB的地址空间。现在讨论4GB空间的”高端”和”低端”部分,各自包含2GB寻址空间。高端部分只为内核模式进程保留;低端空间既可用于用户模式,也可用于内核模式进程。高端部分也在其地址空间中保留一部分低端区域,用于直接映射硬件地址。低端部分也是在分页池中维护的。有非分页池和分页池两种,分页池的内容能够被换出,转存到磁盘,一般分配给应用程序;而非分页池必须保留在物理RAM中,每个分页的大小为4KB。1.6 深入分页分页就是将数据移出和移入物理内存的过程。如果物理内存池满了,而

20、Windows还需要更多内存,VMM就把物理内存中暂时不用的数据转出到磁盘中,这个磁盘储存库称为分页文件(page file)。每个进程所分配的地址空间都以页的方式存在,它们能够被标识为有效页或无效页。有效页是指物理内存中的页,对于任何应用程序都是有效的;而无效页是指存储在磁盘上的页,对于任何应用程序都是无效的。在应用程序需要访问已经移动到磁盘上的无效页(脱机内存中的数据)时,系统将认为这是页错误(page fault)。页错误进程类似于一个执行线程,它在遇到错误或异常事件后会根据例程而采用不同的路径。在这种情况下,页错误能够被妥善地处理,VMM”俘获”这个错误,然后访问相关分页文件中的数据,

21、并在RAM中恢复这些数据。同时其它暂时不用的数据被换出到磁盘上。这就是为什么在数据和内存访问比较频繁的应用程序中推荐使用快速而可靠的硬盘的原因之一。VMM执行下面一系列内务处理工作,它们是分页例程的一部分。 VMM以先入先出的原则管理磁盘分页文件中的数据。换句话说,RAM有空闲空间时,磁盘上存在时间最长的数据最先在物理内存中恢复。如果RAM一直进行释放,VMM会继续将数据移回RAM,直到分页文件中没有数据为止。VMM以这种方式记录的数据称为工作集(working set)。从分页文件取回数据时VMM执行的操作称为取操作(fetching)。另外,VMM还执行一个称为分页文件群集(page fi

22、le clustering)的操作。分页文件群集是指在VMM进行取操作时,它同时还取回这个分页文件周围的数据。该操作基于这样的假设:紧接所需数据前面或后面的数据很可能马上需要取回。这一处理提高了从分页文件中输入/输出数据的速度。 VMM具有足够的智能。如果需要从分页文件中取回数据,而在RAM中有没有足够的空间放置这些数据时,VMM会先将其它暂时不用的数据移出到分页文件中。VMM操作的参数和其它要素,比如分页文件的大小,都是能够管理和控制的。1.7总结Windows 系统的体系结构。它和Windows 体系结构相同,基础也相同,但进行了很大的改进。Windows 中出现了一些主要的范式变化。其中最有意义的是转回到终端-主机环境。但这里的主机是Windows ,给用户的终端是Windows 桌面,而不是满屏幕绿色的字符和闪烁的光标。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 操作系统相关

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服