《操作系统结构》PPT课件.ppt_第1页
《操作系统结构》PPT课件.ppt_第2页
《操作系统结构》PPT课件.ppt_第3页
《操作系统结构》PPT课件.ppt_第4页
《操作系统结构》PPT课件.ppt_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章操作系统结构 如何设计操作系统考察所提供的服务考察为用户和程序员提供的接口研究系统的各个组成部分及其相互关系 操作系统服务 操作系统负责提供一个环境以执行程序 向程序和使用程序的用户提供一定的服务 服务包含许多有用的函数 操作系统服务 用户界面命令行界面批界面图形用户界面 操作系统服务 程序执行 系统能将程序装入内存并运行 结束包括正常或不正常结束I O操作 用户通常不能直接控制I O设备 操作系统必须提供进行I O操作的方法 文件系统操作 程序需要读 写 创建 删除文件 操作系统服务 通信 进程间交换信息一种发生在同一台计算机上运行的两个进程之间 另一种发生在由计算机网络连接起来的不同计算机上的进程之间 通信通过共享内存或消息传递来实现错误检测 错误可能发生在CPU和内存中 I O设备中 用户程序中 对于每种错误 操作系统应采取适当行动 以确保正确和一致的计算 资源分配 当多个用户登录到系统上或多个作业同时执行时 系统必须为每个进程分配资源统计 跟踪记录哪些用户使用了多少和什么类型的计算机资源 这种记录用于记帐或建立使用统计数据保护 确保所有对系统资源的访问都是受控制的 特别是在多用户计算机系统中 操作系统服务 操作系统的用户界面 用户与操作系统的界面命令行界面图形用户界面 命令解释程序 在MS DOS中称为命令行解释程序UNIX中称为外壳 shell cf kernel 作用 获取并执行用户指定的下一条命令 文件的创建 删除 列出 打印 复制 执行 命令解释程序 执行命令的方法 命令解释程序本身包含代码命令的数量决定了命令解释程序的大小由系统程序实现命令rmfile txt搜索名为rm的文件 将文件装入内存 并用参数file txt来执行 图形用户界面 GUI提供基于鼠标的窗口和菜单系统作为接口 系统调用 系统调用提供了进程与操作系统之间的接口调用通常以汇编语言指令的形式提供有些语言 e g C C 已经取代了汇编语言而直接用于系统编程 允许直接调用系统调用 这时系统调用通常类似预定义的函数或子程序调用Win32applicationprogramminginterface API forMicrosoftWindows 例 从一个文件读取数据并复制到另一个文件 系统调用 一般根据应用程序接口 API 设计程序API是一系列适用于程序员的函数 含参数及返回值win32APIPOSIXAPIJavaAPI 处理一个调用open 系统调用的用户应用程序 系统调用 运行程序向操作系统传递参数通常用三种方法通过寄存器来传递参数将参数存放在内存的块或表中 并将块的地址作为参数传递给寄存器参数也可放在或压到堆栈中 并通过操作系统弹出堆栈 参数作为表传递 系统调用类型 进程控制包括分配释放内存文件管理设备管理信息维护通信 进程控制 正常中断 退出 非正常中断 终止 创建进程 fork exec 终止进程等待时间 事件 信号 etc 分配释放内存 malloc free 文件管理 创建 删除文件打开 关闭读 写 重定位获取 设置文件属性 设备管理 请求 释放设备读 写 重定位获取 设置设备属性 信息维护 获取 设置时间或日期获取 设置系统数据CPU等级 内存大小 空闲内存用户数 操作系统版本 当前用户数获取 设置目标属性进程文件设备 通信 两种通信模型 消息传递or共享内存 系统程序 系统程序提供一个方便的环境 以开发和执行程序 cf Fig1 1 硬件操作系统系统程序应用程序绝大多数用户所看到的操作系统是由系统程序而不是实际系统调用定义的 系统程序 系统程序可分为 文件管理状态信息文件修改 e g texteditors 程序语言支持编译器 汇编器 链接程序 解释程序 调试程序程序装入和执行绝对加载程序 重定位加载程序 链接编辑器通信邮件 浏览器 etc 操作系统设计和实现 设计目标机制和策略实现 设计目标 系统设计受到硬件选择和系统类型的影响用户目标 容易使用 容易学习 可靠 安全 快速系统目标 容易设计 实现和维护 灵活 可靠 没有错误且高效不同的要求能形成对不同环境的不同解决方案 机制和策略 机制决定了如何来做策略决定做什么 实现 操作系统的传统实现方式是用汇编语言编写 现在大多使用高级语言如C或者C 使用高级语言的优点 代码编写更快更为紧凑更容易理解和调试更容易从一个硬件移植到另一个硬件上 反对观点认为 采用高级语言实现的操作系统降低了速度 增加了存储要求 然而 现代编译器能对大型程序进行复杂的分析并采用高级优化技术以生成优化代码操作系统的重要性能改善很可能是由于更好的数据结构和算法 而不是由于优秀的汇编语言代码 在系统编写完成并能正常工作之后 可以找出瓶颈子程序 并用相应的汇编语言子程序代替 操作系统结构 现代操作系统庞大而复杂 必须要设计一个好的结构以便能正常工作并能容易修改通常是将这一任务分成小模块而不只是一个单块系统 简单结构 MS DOS 利用最小的空间提供最多的功能内存大小从256到640KB OS占用48到128KB以较小 简单且功能有限的系统形式启动没有被划分成模块 MS DOS层次结构 UNIX系统结构 UNIX 最初受硬件功能的限制由两个独立部分组成 系统程序内核包括物理硬件之上和系统调用接口之下的所有部分提供文件系统 CPU调度 内存管理和其它操作系统功能大多数的功能都结合放在这一层 UNIX系统结构 分层方法 操作系统分成若干层 每层建立在较低层之上 最底层 层0 是硬件 最高层 层N 是用户接口选择了分层后 每层只能利用较低层的功能 或操作 和服务简化了调试和系统验证 设计与实现不必知道如何实现这些操作 只需知道这些操作做什么与其它方法相比 分层法效率较差每层为系统调用增加了额外开销 参数或数据的修改与传递 微内核 随着UNIX操作系统的扩充 内核变得更大且更难管理将所有非基本部分从内核中移到用户空间哪些服务保留在内核内 最小的进程和内存管理通信功能通信以消息传递形式提供 微内核 优点 便于扩充方便操作系统从一种硬件平台设计移植到另一种硬件平台设计更好的可靠性 内核运行更少的代码 更好的安全性例 Mach mid 1980s CMU Tru64UNIX formerlyDigitalUNIX AppleMacOSXServerQNX real timeOS WindowsNT hybridstructure 模块 用面向对象编程技术来生成模块化的内核内核有一组核心部件 以及在启动或运行时对附加服务的动态链接 可加载的Solaris模块 虚拟机 虚拟机 应用程序将它们的一切下层当成硬件的一部分而看作一个层次整体操作系统创建一种幻觉 以至于进程认为有自己的处理器和自己的 虚拟 内存 虚拟机 物理计算机共享资源以创建虚拟机CPU调度能共享出CPU以造成一种每个用户都有自己的处理器的感觉假脱机 spooling 和文件系统能提供虚拟读卡机和虚拟行式打印机一个普通的用户分时终端提供虚拟机操作员终端的功能 虚拟机优缺点 每个虚拟机完全与其他虚拟机相隔离 由于各种系统资源完全被保护 就不存在安全问题 没有直接资源共享虚拟机系统是用于研究和开发操作系统的很好工具 虚拟机允许进行系统开发而不必中断正常的系统操作虚拟机实现困难 因为需提供与底层机器完全一样的拷贝需要大量的工作 虚拟机 Java虚拟机VMware虚拟机 系统生成 操作系统通常设计成能运行在某类计算机上 对于某个特定的计算机场所 必须要配置和生成系统 这一过程称为系统生成 systemgeneration SYSGEN SYSGEN程序采用自动或者交互方式获得有关硬件系统的特定配置信息 包括 CPU类型 安装什么选项 扩展指令集 浮点运算操作等 内存大小设备 包括设备号码 设备中断号 设备类型和模型 以及任何特别的设备特点操作系统选项和参数值 缓冲区大小 CPU调度算法 支持的进程最大数量等 系统生成 系统生成的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论