精华内容
下载资源
问答
  • Windows系统结构图

    千次阅读 2017-01-24 12:45:34
    2.系统结构 2.1 需求和设计目标 2.2 操作系统模型 2.3 总体结构 2.3.1 可移植性 2.3.2 对称多处理 2.3.3 可伸缩性() 2.3.4 客户和服务器版本的区别 2.3.5 版本检查 2.4 关键的系统组件 2.4.1 环境子系统和...
    展开全文
  • Windows系统结构图

    2018-09-28 11:29:55
    2017年01月24日 12:45:34 地狱神龙 阅读数:705更多 个人分类: 梦织未来内核    

    2017年01月24日 12:45:34 地狱神龙 阅读数:705更多

    个人分类: 梦织未来内核

     

     

    展开全文
  • Windows系统结构

    2020-12-07 19:38:34
    Windows系统结构,如: Windows 采用了双模式结构来保护操作系统本身。操作系统核心运行在内核模式,应用程序的代码运行在用户模式下。每当应用程序需要用到系统内核或内核的扩展模块(内核驱动程序)所提供...

      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种类型的函数

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

    执行体包含以下组件:

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

    执行体还包含4组主要的支持函数,如下:

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

    4. 设备驱动程序

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

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

    1. 即插即用驱动程序(即WDM驱动程序)。
    2. 内核扩展驱动程序(非即插即用驱动程序)。
    3. 文件系统驱动程序。

    5. 文件系统/存储管理

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

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

    6.网络

    Windows 主要的网络API:

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

    展开全文
  • windows 系统架构

    2009-04-19 07:39:01
    windows 系统架构 鸟瞰windows结构 系统架构一目了然
  • windows 系统总体结构

    千次阅读 2013-11-15 16:14:54
    windows总体结构的关键系统组件,如下,它并没有显示各种驱动程序的的层次。  windows结构简图 用户模式和内核模式用线分割开来,上方代表用户模式进程,线下组件代是内核模式的操作系统服务。用户模式的线程...

    windows总体结构的关键系统组件,如下图,它并没有显示各种驱动程序的的层次。

                                               windows结构简图


    用户模式和内核模式用线分割开来,上方代表用户模式进程,线下组件代是内核模式的操作系统服务。用户模式的线程在一个受保护的进程地址空间中执行(当它们在内核模式执行时,可访问系统空间)。因此,系统支持进程,服务进程,用户应用程序,环境子系统都有各自的私有进程地址空间。

    四种基本的用户模式的进程简要描述如下:

    系统支持进程:固定的(或硬件指定的)系统支持进程,如登录和会话管理器,并不是windows的服务,他们不是由服务控制管理器来启动的。

    服务进程:服务进程宿纳的是windows服务,服务的运行通常要独立于用户登录。许多windows服务器应用,如sql server也包含了一些以windows服务方式来运行的组件。

    用户应用程序:有6种类型,windows 32位,windows 64位,windows3.1 16位,ms-dos 16位,posix 32位或os/2 32位。

    环境子系统:实现了操作系统环境的支持部分,这里的环境指操作系统展示给用户或程序员的个性化部分。windows nt最初有3个环境子系统,windows、posix、os/2,windows xp以后基本的产品中只有windows子系统随产品发布。


    在windows下,用户程序并不直接调用原始的windows操作系统服务,相反,他们通过一个或多个子系统动态链接库(DLLs)来发起调用。子系统DLL的角色是,将一个文档化的函数转化为一些恰当的内部(通常未文档化)windows系统服务调用。这个转化过程可能会——也可能不会——向正在为用户应用程序提供服务的环境子系统进程发送一个消息。


    内核模式组件包含下列部分:

    windows执行体:包含基本的操作系统服务,如内存管理、进程线程管理、安全性、I/O、网络和跨进程通信。

    windows内核:由一组低层次的操作系统功能构成,如线程调度,中断和异常分发,以及多处理器同步。他也提供了一组例程和基本对象,执行体的其余部分利用这些例程和对象实现更高层次的功能。

    设备驱动程序:既包括硬件设备驱动程序,也包括文件系统和网络驱动程序。其中,硬件设备驱动程序将用户的I/O函数调用转换为特定的硬件设备I/O请求。

    硬件抽象层:是一层特殊的代码,把内核、设备驱动程序、windows执行体的其余部分,跟与平台相关的硬件差异隔离开来。

    窗口和图形系统:实现了图形用户界面函数,比如对窗口的处理,用户界面控件,以及绘制等。

    下图列出系统核心组件文件名:


    可移植性(支持多种硬件体系结构和平台)

    两种方法实现可移植性:

    第一,windows分层设计,系统低层部分是与处理器体系结构相关,或与平台相关,这些部分被隔离到独立的模块中,所以系统的高层部分可以不考虑体系结构之间的差别,也不用关心硬件平台的差异。两个关键组件为系统提供了可移植性,他们是内核和硬件抽象层。与体系结构相关的功能在内核中实现,如线程环境切换;在同一体系结构中,不同系统间有差异的功能则在硬件抽象层实现,比如不同的主板。

    第二,windows绝大部分代码用C编写,少部分是C++。只有那些需要直接与系统硬件通信的部分(中断陷阱处理器),或者对性能极度敏感的操作系统部分(环境切换),才使用汇编语言编写。不仅在内核和硬件抽象层有汇编代码,而且在系统其他核心部分也有汇编代码,如实现了互锁指令的例程,以及本地调用设施中的一个模块。既可能在windows子系统内核模式部分,也可能在某些用户模式库中,如ntdll.dll中的进程启动代码。


    对称多处理器

    多任务是指在多个执行线程之间共享同一个处理器的操作系统技术。当计算机拥有多个处理器的时候,她可以同时执行多个线程。因此,单处理器操作系统只不过是看起来好像同时执行多个线程,但多处理器系统可以真正做到同一时刻处理多个线程,每个处理器上执行一个线程。

    windows是一个对称多处理操作系统,在这些处理器中没有主次之分,系统和用户线程可以被调度到任何一个处理器上运行,且所有处理器共享同一内存地址空间。

    而非对称多处理器系统中,系统选择其中一个处理器来运行操作系统内核代码,而其他处理器只运行用户代码,如下图。

                                                                              对称与非对称的比较


    所支持的处理器数目取决于windows版本,不同版本内核或硬件抽象层文件有差异。安装的时候,安装程序将正确的文件选择出来,拷贝到本地的"\windows\system32"目录中。为确定哪些文件应该被拷贝,可参见文件"\windows\repair\setup.log",他列出了所有要被拷贝到本地系统磁盘的文件,以及将他们从发布介质上拷贝到哪个目录中。


    可伸缩性

    多处理器的一个关键问题是可伸缩性。多处理器系统中,竞争资源和其他性能问题比在单处理器系统中复杂得多,必须在系统设计的时候考虑清楚。windows集以下几个特性于一身,对其成功起到至关重要作用。

    ● 能在任一个可用的处理器上运行操作系统代码,也可以同时在多个处理器上运行系统代码;

    ● 在单个进程内执行多个线程,这些线程可以在不同处理器上并行执行;

    ● 内核内部以及设备驱动程序和服务器进程内部的细粒度同步,使得多个组件可以在多个处理器上并行执行;

    ● 诸如I/O完成端口之类的编程机制,使得可以实现高效的多线程服务器进程,并且这样的程序在多处理器系统上有很好的伸缩性。

    并且,windows的可伸缩性在不断进步,以适应更多变化。


    疑问,系统编码用C/C++/汇编,那么在被引导入内存之前通过什么手段将系统代码编译为二进制机器码?


    展开全文
  • Windows目录结构图 Linux目录结构图 我们所有的操作尽量都要在/home/username目录下进行。 快捷进入家目录方式是cd ~。 转载于:https://www.cnblogs.com/wenshinlee/p/11125810.html...
  • windows内核的组成结构图Windows内核分三层,与硬件直接打交道的是硬件抽象层HAL,这一层把所有与硬件相关代码逻辑隔离到一个专门模块中,从而是上层尽可能独立于硬件平台。HAL是一个独立动态链接库,...
  • 6.4显示了Windows操作系统中的I/O系统结构。其中I/O管理器是整个I/O系统的核心,它定义了一个非常通用的框架,允许各种功能的设备驱动程序容纳于其中。WRK包含有I/O管理器的绝大部分代码,位于base\ntos\io\iomgr...
  • Windows系统下磁盘结构层面的数据恢复是一类很有趣的问题,处理这类问题的效果是非常明显,往往会给用户比较神奇的感觉。这次我们就结合实例来谈谈这类问题的处理方法与技巧。首先我们来了解一下磁盘分区的大致结构...
  • Windows操作系统的体系结构

    千次阅读 2011-09-11 09:58:03
    下面是windows的体系结构:   这是整个windows的体系结构的总览。从上可以看出系统被分成内核模式和用户模式。 内核模式的构成文件是系统的核心文件她包含: hal.dll ntoskrnl.exe 设备驱动 ...
  • 在了解了Windows家族的系列分类之后,本节主要针对Windows XP/2003 Server以后操作系统的基本结构进行讲述。首先了解下操作系统的基本概念: 1、操作系统本身属于软件的范畴,但是它需要紧密地跟硬件打交道,它为...
  • 通常情况下,Windows操作系统会从Microsoft Update站点或者其他合作站点下载微软产品的补丁。然后手动安装,如11-1所示,家庭或者中小企业用户大多使用这种方式。但是如果网络规模较大,计算机数量较多,系统更新...
  • Kali Linux团队通过产生直接在Windows中显示的图形桌面环境来利用Linux 2的Windows系统的功能。...随着用于Linux 2的Windows系统(WSL2)的发布,现在在Microsoft的Hyper-V虚拟化体系结构之上运行了一个...
  • windows体系结构

    2019-04-09 14:05:04
    上可以看出系统被分成内核模式和用户模式。 内核模式的构成文件是系统的核心文件她包含: hal.dll ntoskrnl.exe 设备驱动 文件系统驱动 图形设备驱动 win32k.sys 1.首先来看第一层HAL(硬件抽象层) ...
  • 系统架构设计结构图

    2011-12-29 17:34:00
     今将自己设计的系统画成结构图,该系统目前还处于初步的构思,且实现了雏形,可运行基本功能,现用随笔记录一下。 内容:  需求简介:实现对Windows、Aix、空调、路由等等的实时监控,访问其关键数据并进行分析...
  • 一个基于Windows CE 的平台由Windows CE 操作系统核组件、OEM 适配层(OEM Adaptation Layer ,OAL) 和设备驱动程序以及组成系统的硬件设备组成,1为基于Windows CE平台的层次结构。 从1中可以看出,一个基于...
  • 下图是Windows核心组件更详细的图,它是2.1节的结构图细化版本。 环境子系统和子系统DLLWindows最初有三个子系统:OS/2、POSIX和Windows。但是到了Windows XP以后,只有Windows系统系统一起发布。实际上Windows...
  • 本次课程设计选择的题目是做一个简易的图书管理系统,应用MFC编程,更加理解了MFC基于对话框的使用完成应用软件的各项功能以及连接数据库的应用,及各个类之间数据传递的关系。主要综合运用所学知识,熟练掌握VC++...
  • 2.2.1 Windows 内核结构

    2014-02-24 17:07:48
    Windows内核原理与实现》第2章Windows 系统总述,本章将简要地介绍WRK(Windows Research Kernel),这是Microsoft 提供的一套可以编译和运行的Windows 内核源代码,本书后面章节的绝大多数讲解都将参考WRK 中的源...
  • 文件和目录(理解) ...Windows XP 之前的版本都是单用户操作系统 多用户操作系统:指一台计算机在同一时间可以由 多个用户 使用,多个用户共同享用系统的全部硬件和软件资源 Unix 和 Linux 的设...
  • Graphviz是开源可视化图形软件。它有几个主要的图形布局计划,具有网络和交互图形界面,...可以跟shell脚本或程序结合,实现自动生成各种动态的结构图。 详见:http://www.oschina.net
  • c语言数据结构图书馆系统

    千次阅读 2018-12-11 09:45:04
    #include<stdio.h> #include&...Windows.h> #include <string.h> #include &amp
  •  在Windows NT中,图形多媒体系统基于层次结构。应用程序与顶层的API(实际上是多个用户模式的系统DLL,比如GDI32.DLL)交互,这些系统DLL最终会通过系统服务调用处于内核模式的系统服务。NT系统的详细信息可参考...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,792
精华内容 1,516
关键字:

windows系统结构图