当前位置:首页 > CN2资讯 > 正文内容

windows架构 windows10架构

2天前CN2资讯


  Windows系统结构

Windows系统结构,如图:

Windows 采用了双模式结构来保护操作系统本身。操作系统核心运行在内核模式,应用程序的代码运行在用户模式下。每当应用程序需要用到系统内核或内核的扩展模块(内核驱动程序)所提供的服务时,应用程序通过硬件指令从用户模式切换到内核模式中;当系统内核完成了所请求的服务以后,控制权又回到用户模式代码。

一、  Windows内核结构

Windows内核分为三层,硬件抽象层(Hardware Abstraction Layer ,简称HAL), HAL之上是内核层,有时候也称为微内核,在内核层之上则是执行体(executive)层。

硬件抽象层的用意是把所有与硬件相关联的代码逻辑隔离到一个专门的模块中,从而使上面的层次可能做到独立于硬件平台。

内核层和执行层的分工是,内核层实现操作系统的基本机制,而所有的策略决定则留个执行体。

Windows 内核的组成结构,如图:

应用程序最终通过ntdll.dll 切换到内核模式下的执行API函数中,以调用内核中的系统服务。Ntdll.dll 是连接用户模式代码和内核模式系统服务的桥梁。

1.1  Windows内核中的关键组件

1.HAL(硬件抽象层)

Windows Server 2003 的HAL 列表(Intel X86 处理器)

HAL 文件

所支持的硬件系统

Hal.dll

标准PC

Halacpi.dll

ACPI(高级配置和电源接口)PC

Halapic.dll

APIC(高级可编程中断控制器)PC

Halaacpi.dll

APIC ACPI PC

Halmaps.dll

多处理器PC

Halmacpi.dll

多处理器ACPI PC

2. 内核(或微内核)

它是内核模块ntoskrml.exe 中的下层部分(上层部分为执行体),最接近HAL层,负责现场调度和中断、异常的处理;对于多处理器系统,还负责同步处理器之间的行为。

Windows 内核实现了抢占式线程调度机制。

Windows内核管理两种类型的对象:分发器对象(dispatcher object) 和控制对象。分发器对象实现了各种同步功能。Windows内核实现的分发器对象包括事件(event)、突变体(mutant)、信号量(semaphore)、进程(process)、线程(thread)、队列(queue)、门(gate)和定时器(timer)。控制对象被用于内核的操作,包括异步过程调用(APC)、延迟过程调用(DPC)、中断对象等。

3. 执行体

执行体是内核模块ntoskrnl.exe 的上层部分,包含5种类型的函数

  • 被导出的、可在用户模式下调用的函数。如ntdll.dll。
  • 虽已被到处并且可在用户模式下调用,但无法通过任何一个Windows API调用的函数。
  • 只能在内核模式下调用的导出函数,并且在Windows DDK/WDK中有关这些函数的文档。
  • 供执行体组件之间相互调用,但未被文档化的函数。
  • 属于一个组件的内部函数。
  • 执行体包含以下组件:

  • 进程和线程管理器。负责创建进程和线程,以及终止进程和线程。
  • 内存管理器。实现了虚拟内存管理,负责系统地址空间的内存管理,为每个进程提供了一个私有的地址空间,并且支持进程之间内存共享。
  • 安全引用监视器(SRM,Security Reference Monitor)。强制在本地计算机上实施安全策略,守护着操作系统的资源,执行对象的保护和审计。
  • I/O 管理器。实现了与设置无关的输入和输出的功能,负责将I/O请求分发给正确的设备驱动程序以便进一步处理。
  • 缓存管理器。为文件系统提供了统一的数据缓存支持,允许文件系统驱动程序将磁盘上的数据映射到内存中,并通过内存管理器来协调物理内存的分配。
  • 配置管理器。负责系统注册表的实现和管理。
  • 即插即用管理器。负责列举设备,并为每个列举到的设备确定哪些驱动程序是必需的,然后加载并初始化这些驱动程序。
  • 电源管理器。负责协调电源事件,向设备驱动程序发生电源I/O通知。
  • 执行体还包含4组主要的支持函数,如下:

  • 对象管理器。负责创建、管理和删除Windows执行体对象,以及用于表达操作系统吸引的抽象数据类型,比如进程、线程和各种同步对象。
  • LPC设施。负责同一台机器上的客户进程和服务器进程之间传递消息。
  • 一组运行时库函数。
  • 执行体支持例程。例如系统内存分配、互锁的内存访问,两种同步对象(资源和互斥体)的支持。
  • 4. 设备驱动程序

    设备驱动程式可以懂得加载到系统的模块,其文件扩展名为.sys,是标准的PE文件格式。

    设备驱动程序有三种基本类型:

  • 即插即用驱动程序(即WDM驱动程序)。
  • 内核扩展驱动程序(非即插即用驱动程序)。
  • 文件系统驱动程序。
  • 5. 文件系统/存储管理

    Windows的原生文件系统是NTFS(NT File System),驱动程序为ntfs.sys。还有一个文件系统格式是FAT(File Allocation Table),是DOS时代发展的文件系统格式。

    Windows支持两种形式的过滤驱动程序:一种直接插入到设备栈中,能够看到每个经过设备栈的文件I/O请求;另一种基于Windows提供的过滤管理器驱动程序(FltMgr)的I/O过滤框架,称为文件系统小过滤驱动程序,以回到方式来想要FltMgr的事件。

    6.网络

    Windows 主要的网络API:

  • Windows 套接字,简称Winsock。实现并扩展了BSD套接字标准。
  • WinInet 。一个高层网络API,支持Gopher、FTP、HTTP等多个协议。
  • 命名管道(named pipe)和邮件槽(mailslot)。用于不同进程之间进行通信。支持不同机器上的进程之间相互通信。命名管道支持连接方式的通信模型;邮件槽支持非链接方式的通信模型,客户进程可以发送广播信息。
  • NetBIOS 。
  • RPC。
  •  

    二、 Windows子系统

    Windows子系统包含内核模式和用户模式,内核模式部分核心是Win32k.sys ,包含2部分,窗口管理和图形设备接口,窗口管理负责收集分发消息,控制窗口显示和管理屏幕输出。图形设备接口部分包含各种形状绘制及文本输出功能。用户模式部分包括Windows子系统csrss.exe 以及一组动态链接库(DLL)。Csrss.exe 进程主要负责控制台窗口的功能,以及创建或删除进程和线程等。子系统Dll 则被直接链接到应用程序中,包括kernel32.dll ,user32.dll,

    gdi32.dll,advapi.dll等,负责实现已经文档化的Windows API函数。

    窗口管理:

    Windows 子系统的用户界面管理有一个层次结构,通常应用程序只是在一个默认的桌面上运行。Windows子系统窗口管理层次结构:

    每个子系统会话都有自己的会话空间,属于某一个会话的资源将从该会话空间中分配。当用户登录到Windows时,操作系统将为该用户建立一个会话;即使用户通过远程桌面或终端服务连接到一个系统中,系统也会为该用户建立一个单独的会话。

    在一个会话中,有一个交互式窗口站,可能还有非交互式窗口站。交互式窗口站中通常有三个桌面:登录桌面、默认桌面和屏幕保护桌面。

    图形设备接口:

    Windows子系统的图形模块结构

    Windows的图形引擎有两方面的特点

    首先,它提供了一套与设备无关的编程接口,即GDI,这使得应用程序可以使用各种底层显示设备的差异;

    其次,应用程序与图形设备驱动程序之间的通信足够高兴,从而即使在频繁的输出和刷新图形元素的情况下,Windows也能够为用户提供良好的视觉效果。

     系统线程和系统进程

    Windows 关键系统进程介绍:

    系统空闲进程(Idle),PID为0,每个处理器或核对应有一个线程

    System进程,xp,server2003 PID 为4,包含了内核模式系统线程

    会话管理器(Session manager smss.exe),这是Windows系统中第一个创建的用户模式进程。启动了子系统进程csrss.exe 和winlogon.exe。

    登录进程winlogon.exe,负责处理交互用户的登录和注销。

    Windows 子系统进程csrss.exe , 负责为用户提供一个子系统环境,包括提供控制台窗口的功能,以及创建和删除进程和线程等。

    本地安全权威子系统进程(lsass.exe),负责本地系统安全策略。

    Shell 进程explorer.exe 。windows 默认Shell,提供了系统与用户打交道的各种界面,包括开始菜单,任务栏等。

    服务控制管理器services.exe ,负责管理Windows的系统服务。

      你可能想看:

      扫描二维码推送至手机访问。

      版权声明:本文由皇冠云发布,如需转载请注明出处。

      本文链接:https://www.idchg.com/info/26817.html

      分享给朋友:

      “windows架构 windows10架构” 的相关文章

      GCE教程:快速掌握基因组评估软件的安装与使用技巧

      1.1 GCE软件概述 GCE(Genome Characteristics Estimation)是一款由华大基因开发的基因组评估软件。它的主要功能是通过分析二代测序数据,评估基因组的特征,如基因组大小、杂合度等。GCE以其高效、准确的特点,成为基因组研究中不可或缺的工具之一。无论是科研人员还是生...

      CN2 GIA:享受高效稳定的国际网络连接服务

      CN2 GIA 概述 CN2 GIA,即全球互联网接入,是由中国电信推出的一个国际专线网络服务。作为CN2系列服务中最顶尖的产品,CN2 GIA 主要面向那些需要稳定、快速国际网络连接的用户。设想一下,有多少次我们正在进行重要的商务沟通,却因为网络问题而中断。针对这样的需求,CN2 GIA无疑提供了...

      Hostwinds LLC:卓越的网络托管服务与高性价比优势

      Hostwinds LLC成立于2010年,位于美国西雅图。这家公司一直专注于提供多种网络托管服务,包括虚拟主机、虚拟专用服务器(VPS)和独立服务器。在这个竞争激烈的市场中,Hostwinds凭借其独特的优势和不断升级的服务赢得了客户的信赖。我个人认为,Hostwinds的历史反映了它对客户需求的...

      如何查看域名是否被墙:检测工具与方法指南

      域名被墙是一个对很多网站管理员和用户来说都比较陌生的概念。简单来说,当一个网站的内容被认为敏感或者违反某些规定时,防火墙就会把这个域名屏蔽。即使用户通过输入域名试图访问,DNS 解析也许正常,但实际上网站却无法顺利加载。在国内用户访问国外网站或者国外用户尝试访问国内网站时,情况尤为明显,就好像在国际...

      如何选择和管理SSL证书提升网站安全性

      在这个数字化迅速发展的时代,数据安全显得愈发重要。SSL证书(Secure Socket Layer Certificate)是一种专门设计用于保护互联网上数据传输安全的数字证书。说起SSL证书,首先,它是通过遵循SSL协议来实现的,由值得信赖的数字证书颁发机构(CA)在验证服务器身份之后签发。这样...

      HostDare VPS主机服务评测:高性价比与用户体验的完美结合

      在与HostDare的互动中,我感受到这家公司在客户支持与用户体验方面的一些亮点和不足。正如我们所知,HostDare是一家致力于提供高性价比VPS主机服务的公司,尤其在针对中国大陆用户的优化上表现突出。虽然服务上有一些待改善之处,但总体而言,它的客户支持体系还是相对高效的。 首先,HostDare...