第4章 操作系统的体系结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2000/XP的构成 4.3 Windows 2000/XP的构成
1. 内核
内核执行Windows 2000/XP中最基本的操作, 主要提供下列功能: ①线程安排和调度; ②பைடு நூலகம்阱处理和异常调度; ③中断处理和调度; ④多处理器同步; ⑤供执行体使用的基本内核对象
2.硬件抽象层 2.硬件抽象层
硬件抽象层(HAL)是硬件之上的软件 层,它对操作系统的高层隐藏了硬件的 差别。 优点:只需要提供每个设备驱动程序 的一个版本就可运行在所有的硬件平台 上,不必移植驱动程序代码。
虚线上方的方框代表了用户进程,它们 运行在私有地址空间中。用户进程有四种基 本类型: ①系统支持进程 ②服务进程 ③环境子系统 ④应用程序
虚线以下是Windows 2000/XP的核心态组件,核心 态组件包括以下内容: ①包含了最低级的操作系统功能,例如线程调度、 中断和异常调度、多处理器同步等,同时它也提供 了执行体来实现高级结构的一组例程和基本对象; ②执行体包含了基本的操作系统服务,例如内存管 理器、进程和线程管理、安全控制、I/O以及进程间 的通信; ③硬件抽象层将内核、设备驱动程序以及执行体同 硬件分隔开来,使它们可以适应多种平台; ④设备驱动程序包括文件系统和硬件设备驱动程序 等,其中硬件设备驱动程序将用户的I/O函数调用转 换为对特定硬件设备的I/O请求; ⑤图形引擎包含了实现图形用户界面的基本函数。
4.4.1 注册表结构
控制项 项 子项 值 数据类型
1.控制项
HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS HKEY_CURRENT_CONFIG
2.项和子项
• 单击每个控制项左端的“+”号,可以展 开该控制项,展开后所列出的就是注册 表的项,每个项展开后还可以列出下一 级的项,称为子项,子项还可以再展开, 列出“子子项”,等等, • 注册表列出了控制项和子项之间的关系。
7.系统支持进程 7.系统支持进程
(1)Idle进程 (2)系统进程和系统线程 (3)会话管理器 (4)登录进程 (5)本地安全身份验证服务器 (6)服务控制器
Windows2000/XP的注册表 4.4 Windows2000/XP的注册表
Windows2000/XP的注册表是一个层次式数据库, 用来保存系统硬件的配置信息、用户信息和应 用程序信息,它取代了旧版本Windows中的系 统配置文件(.ini文件) 注册表又称为注册数据库或登录数据库,它是关 于系统设置的层次数据库,记录了用户账号、 服务器硬件及应用程序的设置信息。 在Win32环境中,注册表是每个事件的核心部分, 硬件配置的存储及检索、操作系统的配置都在 注册表中。
第4章 操作系统的体系结构
设计操作系统时考虑三方面要求: 正确性、 高效性、 易维护性
操作系统通常采用的结构: 单体结构、 层次结构、 客户/服务器模型与微内核结构。
4.1.1 单体结构
系统中的模块根据它们完成的功能来划 分,数据基本上作为全局变量使用。 在系统内部,不同模块的程序之间可以 不加控制地互相调用和转移, 信息的传递方式可以根据需要随意约定, 因而造成模块间的循环调用。
3.执行体 3.执行体
执行体是NTOSKRNL.EXE的上层(内核 是其下层)。执行体包括下列几类函数: 可供用户态调用的函数。 仅供核心态内部使用和调用的函数 各功能组件函数:
4.设备驱动程序 4.设备驱动程序
Windows 2000/XP的设备驱动程序类型: ①硬件设备驱动程序操作硬件,它将输出写入 物理设备或网络,并从物理设备或网络获得输 入; ②文件系统驱动程序接受面向文件的I/O请求, 并且把它转化为对特殊设备的I/O请求; ③过滤器驱动程序截取I/O并在传递I/O到下一 层之前执行某些特定处理。
3.值和数据
• 注册表编辑器窗口分为左右两个窗格, 如果在左边窗格中选择一个项或子项, 则在右边窗格中将显示这个项或子项的 值。一个值由“名称”、“类型”和 “数据”三部分构成,每个项至少有一 个名为“默认”的值(有的未设置),除 这个值外,还可以有0个或多个其它值。
4.数据类型
数据类型 REG_BlNARY REG_DWORD REG_DWORD_BIGENDIAN REG_DWORD_LITTLE_ENDIAN REG_EXPAND_SZ REG_LINK REG_MULTI_SZ REG_NONE REG_RESOURCE_LIST REG_SZ 对应常数 3 4 5 4 2 6 7 0 8 1 二进制数据 32位长整数(双字) 32位长整数,其中的字节进行了特殊的组 织,使本身高端的字节位于最低的地址 32位长整数,其中的字节进行了特殊的组 织,使低端字节位于最低地址 带变量的文本字符串 符号链接(文件路径) 由Null分隔的一系列字符串,最后以两个 Null字符结尾 未定义 用于设备驱动程序的资源列表 用Null终止的字符串 说明
5.环境子系统 5.环境子系统
三种环境子系统: POSIX OS/2 Win32
6. 子系统动态链接库
NTDLL.DLL是一个特殊的主要用于子系统 动态链接库的系统支持库。 NTDLL.DLL包含两种类型的函数:执行体 提供的系统服务调度占位程序;子系统、 子系统动态链接库以及其它本机映像使 用的内部支持函数。
客户/ 4.1.3 客户/服务器模型与微 内核结构
两大组成部分 运行在核心态的内核。 运行在用户态并以客户/服务器方式运行 的进程层。
优点: 简化操作系统核心。可以把很多功能作 为独立的服务器进程移出核心。 改进了可靠性和独立性。 适宜于分布式处理的计算环境。
4.2 Windows 2000/XP的体系结构 . 的体系结构
4.4.2注册表操作函数概述 4.4.2注册表操作函数概述
关闭项函数: RegCloseKey 创建子项函数:RegCreateKey、 RegCreateKeyEx 删除子项函数:RegDeleteKey、 RegDeleteValue 打开子项函数:RegOpenKey、 RegOpenKeyEx 获 得 数 据 函 数 : RegQueryValue 、 RegQueryValueEx 设置数据函数:RegSetValue、RegSetValueEx
优点:结构紧密、接口简单直接、系统 效率较高。 缺点:可修改性和可扩充性比较差,修 改一个模块会导致更多的错误。
4.1.2 层次结构
操作系统的所有功能模块按功能的调用 次序分别排列成若干层,各层之间的模块只 能是单向调用关系。
层次结构的优点: 既具有单体结构的优点—把复杂的整体 问题分解成若干个比较简单的相对独立 的成分,同时又具有单体结构不具有的 优点,即各模块之间的组织结构和依赖 关系清晰明了。 增加或替换掉某一层可以不影响其它层 次,便于修改、扩充。
4.4.3控制项及项类型的对应常数 4.4.3控制项及项类型的对应常数
控制项名称 HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS HKEY_CURRENT_CONFIG H80000000 H80000001 H80000002 H80000003 H80000005 常数
4.5 应用实例
开机自动运行指定程序 图标与文件扩展名关联
层次结构的分层原则: 必须把与机器特点紧密相关的软件(如中断处 理、输入输出管理等)放在紧靠硬件的最低层。 通常把多种操作方式共同使用的基本部分放 在内层,而把随着这些操作方式而改变的部 分放在外层。 对于基于进程概念的操作系统,必须要有一 部分模块来为进程提供服务,通常这些功能 模块构成操作系统内核,放在系统的内层。