Windows操作系统架构梳理 |
您所在的位置:网站首页 › window的主要功能 › Windows操作系统架构梳理 |
本文将从上往下,按Windows操作系统总体架构图(如下),进行记录。
① 为了方便在Windows上,移植其它操作系统的程序而设计,主要功能是向上层应用提供API函数; ② Windows应用程序开发者,在编译、链接代码时,需要先指明自己的应用程序属于哪个子系统; ③ 最纯正的Windows子系统为Win32子系统,其余子系统都是通过以Win32为媒介实现,Win32提供的API主要分为三类: ※ USER函数:管理窗口、菜单、对话框和控件。接口存储于USER32.dll文件; ※ GDI函数:在物理设备上执行绘图操作。接口存储于GDI32.dll文件; ※ KERNEL函数:管理非GUI资源,如进程、线程、文件和同步服务等。接口存储于KERNEL32.dll文件。 ④ 目前Windows中,上述三种API函数的实现,已经被移入了内核模式,以提高API得运行效率。 2. Native API ( ntdll.dll ):① 实现用户模式到内核模式的穿越,进而调用系统服务,以此为基础运行相应的Win32 API; ② 在Windows进行版本迭代时,Native API是主要的修改对象,以保证面向上层应用的Win32 API改动尽可能少; ③ Native API函数的命名,一般为相应的Win32 API命名前,加上"Nt"。接口存储于ntdll.dll文件。 3. 系统服务:当某一个Native API进入内核模式时,会将自身的参数以及系统服务号一同传入。系统服务组件,负责以该服务号为索引,在"系统服务描述表 ( System Service Descriptor Table )"中,查找API对应的服务函数地址。 4. 内存管理器:① 负责管理虚拟内存,实现对虚拟内存的申请、回收等操作; ② Windows规定,每个进程拥有4GB的虚拟内存。该内存分为两部分:"0 ~ 0x7FFFFFFF"为用户模式地址、"0x80000000 ~ 0xFFFFFFFF"为内核模式地址; ③ 对于不同进程,用户模式虚拟地址映射而成的物理地址也不相同,以保证进程之间不会互相干预; ④ 所有进程内核模式下,虚拟内存的映射方式完全一致,以保证内核数据对于每个进程都是同步的。 5. 进程和线程管理:负责创建和终止进程,线程的调度是由内核负责的。进程和线程管理程序,依赖其它执行程序组件,如对象管理程序、内存管理器等。 6. 配置管理器:① 负责记录所有计算机软件、硬件的配置信息,将数据保存在注册表 ( Registry ) 中; ② 驱动程序根据注册表中的信息进行加载,或提取相应的参数。 7. I/O管理器:① I/O Request Packages ( 简称IRP ),负责发起I/O请求,并且管理请求; ② I/O请求是用户模式应用程序一系列操作的抽象,如对端口的读写、对键盘的访问、对磁盘文件的操作等; ③ IRP中包含操作的一系列数据,如是读还是写,操作多少字节,在什么环境下操作等; ④ IRP被传递到具体的驱动程序中,由驱动完成操作后,原路返回。 8. 对象管理器:① Windows操作系统提供的所有服务几乎都是以对象的形式存在的; ② 对象管理器负责创建、管理、回收系统中对象的组件。 9. 设备驱动程序:针对某种应用场合,提供给Windows内核的“补丁”。其运行在内核模式下,为上层应用操作特定的硬件设备提供支持,如访问物理映射内存、设备。 10. 内核:① 内核是系统的心脏,运行于最高特权之上,被设计成可以并行运行在多处理器上; ② 内核在调度线程时,除了更高的中断请求级别 ( IRQL ),不允许其它线程打断; ③ 内核为执行体组件提供最基本的支持: 提供对内核对象的支持;负责对线程的调度;提供对多处理器同步的支持;提供中断处理函数的支持;提供对错误陷阱的支持;提供对其它硬件特殊功能的支持。 11. 硬件抽象层:隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |