通用计算机操作系统典型体系结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•通过一种称之为系统调用的API机制对外层的用户程序提供服务
•由大内核提供包括调度、文件系统、网络、设备驱动程序、存储等 •这些模块共享内核的地址空间
•模块之间定义了很好的以函数调用的形式提供的通讯接口 •模块之间的通讯只能借助于这一接口进行。
•模块内部的变量只能在模块内部访问。 •某一模块的变化被局部化,只要模块间的通讯接口没有发生改变,一个模块局部的改 变不会影响其它的模块
单体内 核结构 层次结 微内核 构 结构 模块组 合结构
典型体 系结构
外核结 构
通用计算机操作系统的典型体系结构
服
• 操作系统发展早期 • 缺少清晰的整体结构 • 多入口,多出口,一个模块完成多个功能 • 模块之间可以相互任意调用 • 根据功能划分过程模块然后根据一定的结构集合 • 以前的MS-DOS,早期的UNIX,MAC OS9之前的MAC OS • PalmOS5之前的PaslmOS,Windows ME以前的Windows • 其他的小型的嵌入式操作系统
务
功
能
模块组合 结构
简单结构系 统
模块组合结 构 简单结构系统
优点:具有一定 灵活性,在运行 中的高效率
缺点:功能划分 和模块接口难保 正确和合理;模 块之间的依赖关 系,降低了模块 之间的相对独立 性--不利于修 改
资
• 要清除模块接口法的缺点就必须减少各模块之间毫无规则地相互调用、相 互依赖的关系,特别是清除循环现象
通用计算机操作系统典 型体系的几种结构
未具名
几篇文章
微内核结构
结构
微内核
微内核结构
Chorus, QNX, Mach
微内 核
GNU/ Hurd, L4
缺点:每次应用 程序对服务器的 调用都要经过两 次核心态和用户 态的切换,因此 效率比较低 优点:。 具有较高的灵活 性、扩展性以及 可靠性,同时又 是控制系统的复 杂度的有效方法
微内核模式
• 外核结构是操作系统设计中为了获得性能和灵活性的一个极端
外核结构
结构
外核
外核结构
MIT的EXO kernel
缺点:安全性较 低,大量的共享 服务被放到应用 层,而在应用层 的共享服 优点:。 直接访问硬件所 有有较快的运行 速度,良好的扩 展性和灵活性 务的安全必须由 用户来保护
外核
*≧▽≦*
外核模式
谢谢聆听
操作系统体系结构的研究分析 石进陆音谢立
• 将操作系统接口降低到硬件层,从内核中去除所有传统操作系统提供的抽象, 并且将重点放在以可获得的硬件资源的复用上 • 内核只负责简单的申请、释放并复用硬件资源,而将内存映射、I/0和复杂 的线程包等所有在传统操作系统内核中提供的抽象都转移到用户空间运行 • 内核:1)跟踪资源的所有权2)通过保护所有应用或绑定点来实现访问控制从 而确保系统安全性没有受到侵犯,3)撤回对资源的访问。 • 在核外,所有在传统操作系统内核中的抽象都由用户应用以库的形式提供 • 用户程序通过调用库的形式实现对硬件资源的直接访问
源
• 系统由若干个层次构成,每一层都构建在其下的一层之上 • 最底层就是硬件裸机,最高层则是应用程序
管
• 每一层包含若干的数据和操作,所有层次内的数据和操作对其它层不可见 • 每一层包含若干的数据接口是其它层访问该层的唯一途径
理
• 层与层之间遵循严格调用法则,只有高层可以访问低层 • 理想的层次结构全序
单体内核模式
• 尽可能多地从操作系统中去掉东西,只留下一个很小的内核。 • 微内核结构又称客户机/服务器结构 • 给内核分配地址空间、进程间通信和基本调度等基本功能。其他由 运行在用户模式下与应用程序类似的进程提供。 • 用户态(用户态)或者说目态(核心态)处于目态时为用户服务 • 系统态或者说核心态、管态 • 当其通过系统调用或访管指令进入到OS内核运行时,处于管态时 可能为用户服务,也可能做系统维护工作
层次结构
Dijk— stra和他的学 生在荷兰研 究的THE系统
层次 结构
伦多大学的 文SUE系统
缺点:困难的系 统设计,每一层 需要严格而仔细 的设计,强行层 次化带来性能降 低,扩展性也比 较差,灵活度也 不高,主要用于 研究领域 优点:比较简单, 易于系统调试和 验证,安全性也 比较高
层次结构
单体内核结构
结构
单体内核
单体内核结构
Unix,Βιβλιοθήκη Baiduinix
单体 内核
Mac OS X,Windows XP
优点:结构简单, 容易理解;由于 其大部分操作系 统模块均在内核 中,因此性能较 高;并且由于在 应用之间的实行 的保护机制,因 此安全性也较高。
缺点:核心组件 没有保护;且核 心间模块的关系 复杂,也就是说 实际上整体的结 构仍然是复杂的, 导致其可扩展性 差,灵活性也不 够高。