- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 Windows操作系统
的体系结构(上);操作系统结构设计;操作系统的设计目标;Windows的设计目标;可扩充性——当市场需求变化时,代码必须易于扩充改动
可移植性——系统必须能够在多种硬件体系结构中运行和相对简单地移入新的体系结构
可靠性及健壮性——系统能防止内部故障及外部侵扰造成的损害,应用程序不应该损害操作系统及正在运行的其他应用程序
兼容性——用户界面和API应与已有的Windows 版本兼容
性能——系统应该在每一种硬件平台上尽可能快地响应;操作系统的设计阶段;操作系???结构;几种常见的操作系统结构;模块组合结构
缺点
模块间转接随便
数据基本上作为全程量处理
常常关中断,系统的并发性难以提高;层次结构
把操作系统的所有功能模块按功能的调用次序,分别排列成若干层,各层之间的模块只能是单向依赖或单向调用的关系
E.W.Dijkstra的THE系统:;层次结构的特点
分解成许多功能单一的模块,各模块之间有清晰的组织结构和依赖关系
具有更高的可读性和可适应性
层次结构是单向依赖的,上层模块建立在下层基础上
很容易增加或替换掉一层而不影响其它层次
便于修改、扩充 ;层次结构的层间关系;分层原则
为了增加操作系统的可适应性,并且便于将操作系统移植到其它机器上,必须把与机器特点紧密相关的软件,如中断处理,输入输出管理等放在紧靠硬件的最低层。
为了便于操作系统从一种操作方式转 变到另一种操作方式,通常把多种操作方式共同使用的基本部分放在内层,而把随着这些操作方式而改变的部分放在外层。
为了给进程的活动提供必要的环境和条件,因此必须要有一部分软件——系统调用的各功能,来为进程提供服务,通常这些功能模块(各系统调用功能)构成操作系统内核,放在系统的内层。;操作系统结构设计;操作系统结构设计;微内核结构;微内核
运行在核心态的内核提供所有操作系统基本都具有的那些操作,包括线程调度、虚拟存储、消息传递、设备驱动以及内核的原语操作集和中断处理等。这些部分通常采用层次结构并且只提供了一个很小的功能集合,通常称为微内核。;主要优点
机制与策略分离
机制(mechanism)----任务在系统中完成的方法
策略(policy)----决定应该执行哪个任务,何时执行等等
可靠
灵活
适合分布式计算的需求
缺点
效率较低;Windows操作系统设计模型;Windows的核心态组件使用了面向对象的设计原则
出于可移植性以及效率因素的考虑,大部分代码使用了基于C语言的对象实现。
Windows的很多系统服务运行在核心态,这使得Windows更加高效,而且也是相当稳定的。 ;可移植性的获得;对称多处理支持;对称多处理支持;Windows操作系统设计模型;;硬件抽象层(HAL);硬件抽象层(HAL);硬件抽象层(HAL);设备驱动程序;内核;内核对象
内核实现了一组简单的对象,称为内核对象,以帮助内核控制中心处理并支持执行体对象的创建。
控制对象——包括异步过程调用(APC,asynchronous procedure call)对象、延迟过程调用(DPC,deferred procedure call)对象和几个由I/O系统使用的对象,例如中断对象。
调度程序对象——负责同步操作并影响线程调度。调度程序对象包括内核线程、互斥体(Mutex)、事件(Event)、内核事件对、信号量(Semaphore)、定时器和可等待定时器 ;硬件支持
使得执行体和设备驱动程序同硬件无关
实现手段:一组在多个体系结构上可移植的、同语义的接口
内核也有部分代码不具有移植性
支持虚拟8086模式的代码,用以运行一些古老的16位DOS程序
高速缓存管理
描述表切换
;执行体;执行体;包含的功能实体
进程和线程管理器创建及中止进程和线程。对进程和线程的基本支持在Windows 2000内核中实现,而执行体给这些低级对象添加附加语义和功能。
虚拟内存管理器实现“虚拟内存”。内存管理器也为高速缓存管理器提供基本的支持。
安全引用监视器在本地计算机上执行安全策略。它保护了操作系统资源,执行运行时对象的保护和监视。
I/O管理器执行独立于设备的输入/输出,并进一步处理调用适当的设备驱动程序。
高速缓存管理器通过将最近引用的磁盘数据驻留在主内存中来提高文件I/O的性能,并且通过在把更新数据发送到磁盘之前将它们在内存中保持一个短的时间来延缓磁盘的写操作,这样就可以实现快速访问。;对象管理器:创建、管理以及删除Windows的执行体对象和用于代表操作系统资源的抽象数据类型,例如进程、线程和各种同步对象。
本地过程调用(LPC,Local Procedure Call)机制,在同一台计算机上的客户进程和服务进程之间传递信息。LPC是一个灵活的、经过优化的“
原创力文档


文档评论(0)