




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第二章Windows操作系统 的体系结构(上)操作系统结构设计操作系统的设计目标Windows2000/XP的设计目标操作系统的设计阶段操作系统结构几种常见的操作系统结构模块组合结构 缺点 模块间转接随便 数据基本上作为全程量处理 常常关中断,系统的并发性难以提高层次结构 把操作系统的所有功能模块按功能的调用次序,分别排列成若干层,各层之间的模块只能是单向依赖或单向调用的关系 E.W.Dijkstra的THE系统:层次结构的特点 分解成许多功能单一的模块,各模块之间有清晰的组织结构和依赖关系 具有更高的可读性和可适应性 层次结构是单向依赖的,上层模块建立在下层基础上 很容易增加或替换掉一层而不影响其它层次 便于修改、扩充层次结构的层间关系几种常见的操作系统结构几种常见的操作系统结构几种常见的操作系统结构微内核结构微内核 运行在核心态的内核提供所有操作系统基本都具有的那些操作,包括线程调度、虚拟存储、消息传递、设备驱动以及内核的原语操作集和中断处理等。这些部分通常采用层次结构并且只提供了一个很小的功能集合,通常称为微内核。 服务进程 运行在用户态的并以客户/服务器方式运行的进程。操作系统所有的其它部分被分成若干个相对独立的服务进程,提供各种系统功能、文件系统服务以及网络服务等。客户进程与服务器进程之间使用消息进行通信。主要优点 机制与策略分离 机制(mechanism)----任务在系统中完成的方法 策略(policy)----决定应该执行哪个任,何时执行等等 可靠 灵活 适合分布式计算的需求 缺点 效率较低Windows2000/XP操作系统模型Windows2000/XP的核心态组件使用了面向对象设计原则 出于可移植性以及效率因素的考虑,大部分代码使用了基于C语言的对象实现。 Windows2000/XP的很多系统服务运行在核心态,这使得Windows2000/XP更加高效,而且也是相当稳定的。可移植性的获得对称多处理支持对称多处理支持对称多处理支持Windows2000/XP体系结构硬件抽象层(HAL)硬件抽象层(HAL)硬件抽象层(HAL)设备驱动程序内核内核对象 内核实现了一组简单的对象,称为内核对象,以帮助内核控制中心处理并支持执行体对象的创建。 控制对象——包括异步过程调用(APC,asynchronousprocedurecall)对象、延迟过程调用(DPC,deferredprocedurecall)对象和几个由I/O系统使用的对象,例如中断对象。 调度程序对象——负责同步操作并影响线程调度。调度程序对象包括内核线程、互斥体(Mutex)、事件(Event)、内核事件对、信号量(Semaphore)、定时器和可等待定时器硬件支持 使得执行体和设备驱动程序同硬件无关 实现手段:一组在多个体系结构上可移植的、同语义的接口 内核也有部分代码不具有移植性 支持虚拟8086模式的代码,用以运行一些古老的16位DOS程序 高速缓存管理 描述表切换 执行体执行体包含的功能实体 进程和线程管理器创建及中止进程和线程。对进程和线程的基本支持在Windows2000内核中实现,而执行体给这些低级对象添加附加语义和功能。 虚拟内存管理器实现“虚拟内存”。内存管理器也为高速缓存管理器提供基本的支持。 安全引用监视器在本地计算机上执行安全策略。它保护了操作系统资源,执行运行时对象的保护和监视。 I/O管理器执行独立于设备的输入/输出,并进一步处理调用适当的设备驱动程序。 高速缓存管理器通过将最近引用的磁盘数据驻留在主内存中来提高文件I/O的性能,并且通过在把更新数据发送到磁盘之前将它们在内存中保持一个短的时间来延缓磁盘的写操作,这样就可以实现快速访问。对象管理器:创建、管理以及删除Windows2000/XP的执行体对象和用于代表操作系统资源的抽象数据类型,例如进程、线程和各种同步对象。 本地过程调用(LPC,LocalProcedureCall)机制,在同一台计算机上的客户进程和服务进程之间传递信息。LPC是一个灵活的、经过优化的“远程过程调用”(RPC,RemoteProcedureCall)版本。 一组广泛的公用运行时函数,例如字符串处理、算术运算、数据类型转换和完全结构处理。 执行体支持例程,例如系统内存分配(页交换区和非页交换区)、互锁内存访问和两种特殊类型的同步对象:资源和快速互斥体。NTDLL环境子系统Win32子系统 Win32环境子系统进程(CSRSS.EXE):包括对下列功能的支持:控制台(文本)窗口、创建及删除进程与线程、支持16位DOS虚拟机(VDM)进程的部分。 Win32子系统动态链接库(User32.dll、Kernel32.dll、GDI32.dll),将文档化的Win32API函数转化为适当的非文档

王子****青蛙
实名认证
内容提供者


最近下载