Windows操作系统原理笔记

2.2 Windows 2000/xp 操作系统模型

这个系统融合了分层操作系统和客户/服务器(微内核)操作系统的特点.通过硬件机制实现了 核心态 Kernel mode 和 用户态 user mode

2个特权级别.

内存管理器,告诉缓存管理器,对象及安全管理器,网络协议,文件系统(包括服务器和重定位程序)和所有线程和进程管理. 都运行在核心态

核心态下组建可与硬件交互,组建之间也能交互,能执行任何CPU指令.

 

用户层:有四种基本类型:

1. 系统支持进程 system support process , 例如 登陆管理器  WINLOGON 和 会话管理器 SMSS

2.服务进程 service process , 如事件日志服务

3. 环境子系统 enviroment subsystem ,操作系统功能接口, Windows2000/xp下有3个环境子系统, Win32 , POSIX 和 OX/2 1.2

4.应用程序 user application , 他们是 Win32 , windows 3.1 MS-DOS POSIX 或 Os/2.1 五种类型之一

 

服务进程和应用程序时不能直接调用操作系统服务的,他们必须通过子系统动态链接库和系统交互,动态链接库的作用就是将文档话的函数

转换为适当的 windows 2000/xp 内部系统调用

 

核心层都运行在统一的核心地址空间中:

1.核心 kernel 包含最低级的操作系统功能, 例如线程跳读,中断和异常调度,多处理器同步等,同时也提供执行提Executive 实现高级结构

的一组例程和基本对象

 2.执行提包含了基本的操作系统服务,例如内存管理器,进程和线程管理,安全控制,I/O以及进程间通信

3.硬件抽象层 hardware Avstraction Layer ,HAL 将内核,设备驱动程序以及执行提同硬件分开来,使其适应多平台

4.设备驱动程序 Device Drivers 包括文件系统和硬件设备驱动程序等,其中硬件设备驱动将用户的 I/O函数调用转换特定的I/O请求

5.图形引擎包含了实现图形用户界面 GUI的基本函数

 

 2.23 Windows2000/xp 对称多处理器支持

Windows2000/xp支持 "多对称处理器" SMP ,不存在主处理器,操作系统和用户线程都能被安排在任一处理器上,所有处理器

共享一个内存空间。 非对称处理器 ASMP 智能在某个特定处理器上执行系统代码,其他处理器运行用户代码

当一个较高优先权的线程需要获得处理器时间时,利用系统陷阱跳读 trap dispatching 机制 ,所有操作系统代码都可以被抢先

(强制释放一个处理器),在不同处理器中,每一个线程基本上都可以同时执行。核心以及设备驱动程序和服务进程内部的

精准同步允许更多组建在多处理器上同时运行,在进程间共享对象的机制及灵活的进程间的通信能力包括共享内存和优化消息传递


2.3 Windos2000/xp 体系结构

2.3.1 内核

内核执行最基本的操作,主要提供下列功能:
1.线程安排和调度
2.陷阱处理和异常调度
3.中断处理和调度
4.多处理器同步
5.供执行提使用的基本内核对象 (某些情况下可以导出到用户态 )

Windows2000/xp 的内核始终运行在核心态,代码短小紧凑,可移植性也很好.一般来说除了中断服务例程 ISR,正在运行的线程是不能抢占内核

 

2.3.2 硬件抽象层

windows2000/xp设计最至关重要的就是多种硬件平台上的可移植性,HAL 就是让这成为可能的关键部分, HAL 是一个可加在的核心态
模块 HAL.dll ,它为运行在 windows2000/xp上硬件平台提供低级接口。 HAL隐藏各种与硬件有关的细节,例如 I/O接口,中断控制器
以及多处理器通信机制等和依赖于计算机平台的函数

2.3.3 执行体

windows2000/xp 的执行体是 NTOSKRNL.EXE 的上层 (内核是其下层)  执行体包括五种类型函数:
1.从用户态导出并可以调用的函数,这些函数的接口在NTDLL.DLL 中,通过位win32API 访问
2.用户态导出并且可以调用的函数,但当前通过任何文档化的子系统函数都不能使用
3.windows2000 DDK 中已经导出并且文档化的核心态调用函数
4.核心态组建调用但没有文档化的函数
5.组建内部的函数

执行体包含下列重要组建:
1.线程和进程管理器创建及中止进程和线程。
2.虚拟内存管理器实现 虚拟内存
3.安全引用监视器在本地计算机上执行安全策略
4.I/O系统执行独立于设备的输入输出,并为进一步处理调用适当设备驱动程序
5.告诉缓存管理器 通过将最近引用的磁盘数据驻留在主内存中来提高I/O的性能,

另外执行体还包含四组支持函数,大约3/1在DDK中已经文档化
1.对象管理,创建,管理以及删除执行提对象和用于代表操作系统的抽象数据类型,iru进程,线程和各种同步对象
2.本地过程调用 Lpc 机制,在同一台计算机上的客户进程和服务之间的传递消息
3.一组广泛的功用运行时函数,例如字符串处理,算数运算,数据类型转换和完全结构处理
4.执行提支持例程,如系统内存分配,页交换区,互锁内存访问和两种特殊类型的同步对象


2.3.4 设备驱动程序

设备驱动程序是可加在的核心态模块, 通常以.SYS为扩展名,安装设备驱动程序是吧用户些的核心态代码添加到系统的唯一方法
他们是I/O系统和硬件之间的接口,设备驱动程序不直接操作硬件,而是调用HAL功能作为接口



  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值