当前位置:首页 > Windows程序 > 正文

深入解析Windows操作系统之总体架构

2021-05-24 Windows程序

标签:windows 总体 架构

(一)需求和设计目标

     Windows NT设计小组在项目开始之初选择了下面的设计目标:

(1)扩展性:编写的系统代码必须能够随着市场需求的变化而自如增长和改变。

(2)可移植性:系统必须能运行在多种硬件体系架构上,必须能根据市场的需要,相对容易地迁移到新的体系架构上。

(3)可靠性和健壮性:系统应该能够保护自己,不会因内部的故障和外部的篡改而不能工作。应用程序应该无法伤害操作系统或其他应用程序。

(4)兼容性:虽然Windows NT应该扩展已有的技术,但是它的用户界面和API应该与老版本的WindowsMS-DOS兼容。而且它也应该能与其他的系统很好的互操作。

(5)性能:在其他设计目标的约束下,系统在每一种硬件平台上应尽可能运行得更快,对外部的响应尽可能地及时。


(二)操作系统模型

Windows操作系统的大部分代码与设备驱动程序代码共享同样的受保护的内核模式内存空间。Windows内核的保护机制有助于减缓或避免与“共享内核模式地址空间”有关的问题发生。操作系统的所有组件都是完全受保护的不会被错误的应用程序破坏,因为应用程序不能直接访问操作系统中特权部分的代码和数据。Windows无论是作为应用服务器,还是工作站平台,从操作系统核心服务的角度来看,它的健壮性与稳定性良好,之所以如此,对操作系统组件的这种保护是原因之一。

Windows的内核模式组件体现了基本的面向对象设计原则。虽然Windows内部普遍使用了对象来表达共享的系统资源,但是,从严格意义上讲,Windows并不是一个面向对象的系统。出于移植性的考虑,Windows操作系统的大多数代码是用C语言编写的。C语言并不直接支持向对象的语法元素。因此,Windows 中基于C语言的对象实现只是借用了(但并不依赖于)特定的面向对象语言的特性。


(三)总体架构

技术分享

上图中,首先可注意到中间有一条线把Windows操作系统的用户模式和内核模式两部分划开来。线上面的方框代表了用户模式的进程,线下面的组件是内核模式的操作系统服务。用户模式的线程在一个受保护的进程地址空间中执行。因此,系统支持进程、服务进程、用户应用程序和环境子系统都有它们各自的私有进程地址空间。

    用户模式进程有如下四种基本类型:

(1)固定的(或者硬性指定的)系统支持进程system support process),比如登录(logon)进程和会话管理器(session manager),它并不是Windows服务。

(2)服务进程(service process)宿纳的是Windows服务Windows服务往往要求独立于用户登录而运行。许多Windows服务器应用也包含了一些以Windows服务方式来运行的组件。

(3)用户应用程序User application),可以是下面几种类型之一:Windows32位或64位,Windows 3.1 16位,MS-DOS 16位或者POSIX 32位或64位。注意,16位应用程序只能运行在32Windows上。

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/70545.html