第1章 操作系统概述_第1页
第1章 操作系统概述_第2页
第1章 操作系统概述_第3页
第1章 操作系统概述_第4页
第1章 操作系统概述_第5页
已阅读5页,还剩122页未读 继续免费阅读

下载本文档

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

文档简介

操作系统OperatingSystem 课程简介 课程名称 操作系统 OperatingSystem 教材 计算机操作系统 刘福岩等 计算机操作系统 汤子赢等教学方式 授课 48 上机实习 16 考试类别 考试参考教材 1 现代操作系统 陈向群等译 机械工业出版社2 操作系统设计与实现 王鹏等译 电子工业出版社3 计算机操作系统教程 张尧学 史美林 清华大学出版社 第1章操作系统概述 1 1什么是操作系统1 2操作系统的发展过程1 3操作系统的功能和主要特征1 4操作系统的机制和策略1 5操作系统的体系结构1 6典型操作系统简介1 7本章重点 本章学习目标 掌握操作系统的概念及作用了解操作系统的发展过程掌握操作系统的特征与功能牢记多道程序设计的概念理解操作系统的模型 1 1什么是操作系统 1 存储程序计算机的组成 1 1 1冯 诺依曼结构的计算机 1 概念和模型过于复杂 用户编程十分困难在裸机基础上通过软件构造一个概念和模型相对简单 更容易理解和进行程序设计的虚拟机 可以认为这个虚拟机就是操作系统 如磁盘管理 和裸机提供的概念和模型相比 操作系统构造和提供的概念和模型要简单得多 用户也更容易编程和使用 2 性能不高裸机提供的概念和模型过于复杂 用户直接对裸机编制的程序 程序运行时效率往往非常低 其原因在于直接对裸机编程 用户往往不能充分利用裸机提供的资源 特别是不能最大限度的开发系统的并行性 如多道程序技术 2 直接使用裸机的困难 示例 1 现代计算机系统的组成 1 1 2操作系统的作用 2 操作系统在计算机系统中的地位 紧贴系统硬件之上 所有其他软件之下 是其他软件的共同环境 1 从资源管理的观点 OS作为资源管理器 OS的首要任务是管理计算机系统中硬件与软件资源 使其得到充分而有效的利用 1 跟踪资源状态 时刻掌握计算机系统中资源的使用情况 2 分配资源 处理对资源的使用请求 协调冲突 确定资源分配算法 3 回收资源 回收用户释放的资源 以便下次重新分配 4 保护资源 负责对系统资源的保护 避免受破坏 3 操作系统的作用 体现在三个方面 操作系统作为资源管理器的观点是目前人们对操作系统认识的一个主要观点 根据此观点 人们将计算机资源划分为四大类 1 处理机2 存储器3 I O设备4 信息 程序与数据 相应可将操作系统分为四类管理器 1 处理机管理2 存储管理3 设备管理4 信息管理 文件系统 2 从软件分层 扩允机器的观点 虚拟机 提供硬件的高层界面 虚拟机 取消硬件限制1 操作系统提供无限的内存 无限的CPU2 扩充机器 功能更强大 使用更方便 虚拟机 使用户和程序员在不必涉及和了解硬件工作细节的情况下能方便的使用计算机 而为用户所提供的一个等价的扩展计算机 称为虚拟计算机 3 从服务用户的观点 OS用户与裸机间接口 操作系统为方便用户使用计算机提供了二级访问接口 1 命令接口 命令行 2 调用接口 形式上类似于过程调用 在应用编程中使用 3 图形接口 图形用户界面GUI 方便用户使用 编程更为容易 软件可移植性增强 使用更为方便 1 操作系统的目标有效性 系统管理人员的观点 管理和分配硬件 软件资源 合理地组织计算机的工作流程方便性 用户的观点 提供良好的 一致的用户接口 弥补硬件系统的类型和数量差别可扩充性与开放性 开放的观点 硬件类型和规模 操作系统本身的功能和管理策略 多个系统间的资源共享和互操作 1 1 3操作系统的目标与定义 2 操作系统的定义 操作系统是控制和管理计算机系统的硬件和软件资源 合理的组织计算机工作流程以及方便用户使用的程序和数据的集合 设置操作系统的目的就是提高计算机系统的效率 增强系统的处理能力 充分发挥系统的利用率 方便用户使用 1 2操作系统的发展过程 操作系统发展的主要动力是用户的需求 并随着计算机硬件技术 软件技术的发展而不断发展完善 1 提高资源的利用率和系统性能 计算机发展的初期 计算机系统昂贵 用作集中计算2 方便用户 用户上机 调试程序 分散计算时的事务处理和非专业用户 3 硬件的发展 CPU的位宽度 指令和数据 快速外存 新硬件 新技术的出现等 4 计算机体系结构的不断发展 1 2OS的发展史 手工 1 手工操作 1946 50年代 电子管时代 特点 计算机资源昂贵 没有操作系统 工作方式 用户 用户既是程序员 操作员 还是计算机专业人员 编程语言 为机器语言 输入输出 纸带或卡片 计算机的工作特点 用户独占全机 用户独占计算机所有资源 资源利用率低 CPU等待用户 计算前 手工装入纸带或卡片 计算完成后 手工卸取纸带或卡片 CPU利用率低 主要矛盾 计算机处理能力的提高 手工操作的低效率用户独占全机的所有资源 图例 手工时期的操作 联机批处理 1 2OS的发展史 单道 2 单道批处理系统 50年代末 60年代中 晶体管 特点 利用磁带把若干个作业分类编成作业执行序列 每个批作业由一个专门的监督程序 Monitor 自动依次处理 可使用汇编语言开发 批处理中的作业的组成 用户程序数据作业说明书 作业控制语言 批处理 供一次加载的磁带或磁盘 通常由若干个作业组装成 在处理中使用一组相同的系统软件 系统带 1 2OS的发展史 单道 批处理方式可分为联机批处理和脱机批处理 1 联机批处理用户提交作业 以纸带或卡片为介质 操作员合成批作业 结果为磁带介质 批作业处理 对批作业中的每个作业进行相同的处理 从磁带读入用户作业和编译链接程序 编译链接用户作业 生成可执行程序 启动执行 执行结果输出 存在的问题 慢速的输入输出处理仍直接由主机来完成 输入输出时 CPU处于等待状态 1 2OS的发展史 单道 2 脱机批处理 系统库 1 2OS的发展史 单道 2 脱机批处理利用卫星机完成输入输出功能 主机与卫星机可并行工作 卫星机 完成面向用户的输入输出 纸带或卡片 中间结果暂存在磁带或磁盘上 作业控制命令由监督程序 monitor 来执行 完成如装入程序 编译 运行等操作 优点 同一批内各作业的自动依次更替 改善了主机CPU和I O设备的使用效率 提高了吞吐量 缺点 磁带或磁盘需要人工装卸 作业需要人工分类 监督程序易遭到用户程序的破坏 由人工干预才可恢复 1 2OS的发展史 单道 单道批处理的特征 自动性 磁带上一批作业能自动逐个依次运行对I O为主的作业 CPU空闲 顺序性 作业顺序进入内存 执行与完成的顺序和调入的顺序完全相同 单道性 内存中仅有一道程序 只有该程序完成或发生异常时 才调入后继程序进入内存运行 单道批处理的主要问题 一个用户独占全部资源CPU负责计算 也负责传输 CPU与外设速度不匹配 CPU与I O串行资源利用率仍然很低 中断技术和通道技术 60年代硬件两个重大进展 中断技术和通道技术1 中断 指CPU在收到外部中断信号后 停止原来工作 转去处理该中断事件 完毕后回到原来断点继续工作 中断处理过程 中断请求 中断响应 中断点 暂停当前任务并保存现场 中断处理例程 中断返回 恢复中断点的现场并继续原有任务 中断分类 硬件中断 分为硬件故障中断 I O中断和外部中断 与软件中断 可分为程序中断和访管中断 中断的处理过程 中断技术和通道技术 2 通道 又称为I O处理机 实际上是一台功能单一 结构简单的I O处理机 它单独与CPU 并直接控制外部设备 与内存进行数据传输 通道有专用的I O处理器 可与CPU并行工作 通道具有自己的指令 通道指令 可编程实现各种复杂的I O处理 可实现I O联机处理 CPU与通道的通讯 CPU与通道之间为主 CPU 从关系 通道 采用通道进行数据传输的过程如下 CPU向通道发出I O指令 通道执行通道程序进行I O操作 I O完成或出错时 以中断方式请求CPU处理 单通道I O系统 通道的四级连接 三级控制 CPU 通道 控制器 设备 1 2OS的发展史 多道 3 多道批处理系统 60年代末 70年代中 集成电路 单道 用户程序监督程序I O操作 多道 程序A程序B程序C调度程序 1 多道程序设计原理 多道程序设计原理 在计算机内存中同时存放几道相互独立的程序 它们在管理程序的控制下相互穿插地运行 共享CPU和外设等资源 采用多道程序设计技术的批处理系统称为多道批处理系统 2 多道程序设计的实现存储保护与重定位 在多道程序设计环境中 几道程序共享同一内存 硬件必须提供必要的手段保证各道程序之间不互相侵犯 处理机管理和调度 多道程序共享同一个处理机 因此存在处理机的调度问题 资源的管理和调度 多道程序共享资源 同样存在着资源的分配问题 1 2OS的发展史 多道 1 2OS的发展史 多道 3 多道程序设计的特征多道 同时存在两道或两道以上的程序处于执行的开始点和结束点中间 宏观并行 都处于运行状态 但都未运行完 微观串行 各作业交替使用CPU 4 多道批处理系统的优缺点 资源利用率高 CPU和内存利用率较高 作业吞吐量大 单位时间内完成工作总量大 用户交互性差 整个作业完成后或中间出错时 才与用户交互 不利于调试和修改 作业平均周转时间长 短作业的周转时间 从作业提交到完成的这段时间 显著增长 单道和多道批处理的比较 多道程序系统和多处理系统 Multi ProcessingSystem 的区别 前者指多个程序同时在内存中交替运行 后者指多个处理器 多道批处理系统的资源利用 多道批处理系统的资源利用效率特征是基于各作业对系统资源的需求差异得到的 例如 有3个作业A B C 分别为计算 检索和打印作业 单道运行时间分别为5分 15分和10分钟 它们可并行在15分钟内完成3个作业 各资源在单道 多道环境下的利用效率是多少 5 多道批处理系统的核心技术 作业调度 作业的现场保存和恢复资源共享 资源的竞争和同步 互斥机制内存使用 提高内存使用效率 为当前由CPU执行的程序提供足够的内存 覆盖 overlay 交换 swap 和虚拟存储 virtualmemory 内存保护 系统存储区和各应用程序存储区不可冲突 即存储保护文件非顺序存放 随机存取 出现了 作业管理 处理机管理 存储管理 设备管理 文件系统管理 filesystem 1 2OS的发展史 多道 课堂练习1 1 操作系统是一种A 在操作系统中采用多道程序设计方式能提高CPU和外部设备的B 一般来说 为了实现多道程序设计 计算机需要有C A 1 通用软件 2 系统软件 3 应用软件 4 软件包 B 1 利用效率 2 可靠性 3 稳定性 4 兼容性 C 1 更大的内存 2 更快的外部设备 3 更快的CPU 4 更先进的终端 答案 A 2 B 1 C 1 1 2OS的发展史 分时 4 分时操作系统 70年代中期至今 大规模集成电路 分时 两个或两个以上的事件按时间划分轮流的使用计算机系统的某一资源 分时系统 多个用户分时 分时的时间单位称为时间片 通常为几十毫秒 地使用同一计算机系统称为分时系统 主要采用时钟和中断技术 1 分时系统实现方法 系统配置多路卡及时接受各终端输入命令和数据 及时处理 不允许某作业长期占用处理机 将响应周期分为很短的时间片 在该周期内每个作业轮流执行一次 占一个时间片 每个作业可以及时接收用户的命令和数据 并能及时得到处理 分时系统的结构示意图 1 2OS的发展史 分时 2 分时系统的特点 同时性或多路性 多用户同时操作 使用计算机独占性 各终端用户感觉到自己独占了计算机 及时性 用户的请求能在较短时间内响应 交互性 用户能与计算机进行人 机对话 3 调进和调出 Roll in Roll out 调进 调出是实现分时系统的一种主要方式 包括 主存 后援存储器方式 简单分时系统所采用 特点 内存只存放一个当前执行作业 其他放在外存上 多流调入调出方式 基于多道程序技术 特点主存中同时存放一个当前执行作业和多个后备作业 1 2OS的发展史 分时 4 分时系统的响应时间响应时间为用户发出一条指令到系统处理完这条指令并做出回答所需要的时间 是衡量分时系统性能好坏的一条重要标志 但具体的响应时间与系统的用户个数及时间片大小有关 响应时间T与时间片q和用户个数n之间的关系为T nq 注意 分时系统在轮转处理多个终端用户的请求时 在调入 调出上增加了许多时间消耗 其中主要是主存与后援存储器之间的信息交换时间 因此为改善响应时间需要 加快主存与后援存储器之间的对换速度 减少对换的信息量 现在的许多操作系统都具有分时处理的功能 在分时系统的基础上 操作系统的发展开始分化 如实时系统 通用系统 个人系统等 课堂练习1 2 分时系统中 为使多个用户能够同时与系统交互 最关键的问题是A 当用户数目为100时 为保证响应不超过2秒 此时的时间片最大应为B A 1 计算机具有足够的运行速度 2 内存容量应足够大 3 系统能及时地接收多个用户输入 4 能在一短的时间内 使所有用户程序都能运行 5 能快速进行内外存对换 B 1 10ms 2 20ms 3 50ms 4 100ms 5 200ms 答案 A 4 B 2 1 2OS的发展史 实时 5 实时操作系统实时操作系统主要用于过程控制 事务处理等有实时要求的领域 其主要特征是实时性和可靠性 1 实时系统的分类 实时控制 要求与被控制的变化速度相比 其反应速度足够快 工作安全可靠 需要人工干预时 操作简便 如生产过程控制 宇航自动控制等 实时信息处理系统 要求计算机能够在容许的延迟时间内 响应外部的事件请求 完成对该事件的处理 并控制所有的实时设备和实时任务协调运行 如飞机订票系统 期货 股票交易系统等 1 2OS的发展史 实时 2 实时系统的特征 实时系统具有专用性 种类多 用途各异等特点 其一个基本特征是事件驱动 即接收到某些外部信息后 由系统选择某一程序去执行 完成相应的实时任务 实时时钟管理 向系统提供日期 时刻以及定时任务 每间隔一固定时间循环执行 和延迟任务 推迟一段时间后执行 进行控制的信号 中断管理 实时系统必须有效和高速的完成各种中断处理 系统容错管理 高可靠性一直是实时系统的设计目标 1 2OS的发展史 实时 多重任务管理 实时系统的物理过程具有并发性的特点 因此实时系统应具备多重任务处理的能力 且强调任务调度与转换的高效性 系统生成能力 实时系统大多是专用性的系统 其种类与规模相差较大 因此 要求实时操作系统应具有较强的生成能力 以便根据需要裁剪或补贴系统功能 使之与应用系统相适应 目前的操作系统 通常具有分时 实时和批处理功能 又称作通用操作系统 可适用于计算 事务处理等多种领域 能运行在多种硬件平台上 如UNIX系统 WindowsNT等 通用化 小型化 分时系统与实时系统的比较 1 系统的设计目标不同 分时系统是提供一种随时可供多个用户使用的通用型很强的操作系统 而实时操作系统大多数是具有特殊用途的专用系统 2 交互性的强弱 分时具有较强的对话与交互能力 而实时系统交互性很弱 3 响应时间的长短 分时只要能满足一般用户能接受的等待时间即可 而实时系统的响应时间要求严格 4 另外其均具备多路性 独立性 及时性 交互性 可靠性 只是实时系统对系统的及时性和可靠性要求更高 1 2OS的发展史 网络 6 网络操作系统 NOS NetworkOperatingSystem 网络操作系统是在通常操作系统功能的基础上提供网络通信和网络服务功能的操作系统 1 2OS的发展史 网络 计算机网络基本概念 1 计算机网络 计算机网络是计算机技术与通信技术相结合的产物 是互连起来的计算机的集合 2 计算机网络产生的背景 微电子技术的发展与进步 计算机的应用社会化 通信技术的进步和普及 3 特征 资源共享性 独立自主性4 微机网络 微型机技术的巨大进展 微机网络也随之崛起 并获得高速的发展 巳成为计算机网络中最活跃的一个分枝 1 2OS的发展史 网络 网络的构成 1 主机 HOST 主机是组成网络的独立自主的计算机系统 用于运行用户程序 即应用程序 2 子网 通信子网 是将入网主机连接起来的实体 子网的任务是在入网主机之间传递信息 以提供通信服务 3 协议 protocol 网络计算机在互相通信时为能正确进行并相互理解通信内容需遵循的约定 如TCP IP等 1 2OS的发展史 网络 网络操作系统 在通常的操作系统中增加了实现网络低层协议 一般到传送层 功能和网络设备管理功能的操作系统 如UNIX LINUX WINDOWSNT都是网络操作系统 网络OS功能 高效 可靠的网络通信对网络中共享资源 在LAN中有硬盘 打印机等 有效的管理提供电子邮件 文件传输 共享硬盘 打印机等服务网络安全管理提供互操作能力 1 2OS的发展史 分布 7 分布式操作系统 DistributedOperatingSystem 1 分布式计算机系统是以计算机网络为基础的计算机系统 包含多台处理机 每台处理机完成系统中指定的一部分功能 从硬件上讲 它与计算机局域网没有任何区别 关键是软件 特征 以计算机网络为基础 处理上的分布 即功能和任务的分布 所有系统任务可在系统中任何处理机上运行 自动实现全系统范围内的任务分配并自动调度各处理机的工作负载 坚强性 强壮性 高可靠性 2 分布式操作系统的特点分布式和集中式操作系统的主要区别在于通讯 资源管理和系统结构三个方面 分布式主要特点是 系统状态的不确定性 各系统内结点自治 且信息传播需要时间 很难及时和准确把握系统的状态信息 控制机构的复杂性 不存在主从关系或层次关系 增加了控制的复杂性 通讯开销引起性能下降 3 分布式OS的功能 1 进程迁移 2 分布式同步 3 任务分配 4 资源管理 1 2OS的发展史 分布 网络和分布式的区别 1 分布式系统的各个计算机之间处于平等地位无主从关系 网络有一些主从关系2 分布式系统资源为所有用户共享 而网络有限制地共享 3 分布式系统中一项任务可分给若干处理单元相互协作共同完成 而网络往往是各司其责 1 2OS的发展史 多处理机 8 多处理操作系统 Multi processorOperatingSystem 多处理机系统是由多台处理器组成的计算机系统 多处理操作系统的出现是为了提高计算机系统性能和可靠性 提高性能有两条途径 提高各个组成部分的速度 或增大处理的并行程度 1975年前后 出现多处理机系统 multi processor 多处理机系统的特点 增加系统的吞吐量 N个处理器加速比达不到N倍 额外的调度开销 算法的并行化 提高系统可靠性 故障时系统降级运行 多处理机系统的类型 紧密耦合 各处理机之间通过快速总线或开关阵列相连 共享内存 整体系统由一个统一的OS管理 一个OS核心 松散耦合 各处理机带有各自的存储器 I O设备和操作系统 通过通道或通信线路相连 每个处理机上独立运行OS 1 2OS的发展史 多处理机 多处理操作系统的类型 非对称式多处理 又称主从模式 主处理器 只有一个 运行OS 管理整个系统的资源 为从处理器分配任务 从处理器 可有多个 执行应用程序或I O处理 特点 不同性质任务的负载不均 可靠性不够高 不易移植 通常要求硬件也是 非对称 对称式多处理 OS交替在各个处理器上执行 任务负载较为平均 性能调节容易 1 2OS的发展史 多处理机 课堂练习1 3 在设计分时操作系统时 首先要考虑的是A 在设计实时操作系统时 首先要考虑的是B 在设计批处理系统时 首先要考虑的是C A B C 1 灵活性和可适应性 2 交互性和响应时间 3 周转时间和系统吞吐量 4 实时性和可靠性 答案 A 2 B 4 C 3 课堂练习1 4 为了提高计算机的处理机和外部设备的利用率 把多个程序同时放入主存 在宏观上并行运行是A 把一个程序划分成若干个同时执行的程序模块的设计方法是B 多个用户在终端设备上的交互方式输入 排错和控制其程序的运行是C 由多个计算机组成的一个系统 这些计算机之间可以通信来交换信息 互相之间无主次之分 它们共享系统资源 程序由系统中的全部或部分计算机协同执行 管理上述计算机系统的操作系统是D 有一类操作系统的系统响应时间的重要性超过系统资源的利用率 它被广泛地应用于卫星控制 飞机订票业务等领域是E A E 分时OS 实时OS 批处理系统 网络OS 分布式OS 单用户OS 多重程序设计 多道程序设计 并发程序设计 答案 A 8 B 9 C 1 D 5 E 2 1 3OS的功能和主要特征 1 操作系统的功能操作系统的主要任务是对系统中的软件 硬件实施有效的管理 以提高系统资源 主要包括处理机 主存储器和外存储器 文件系统 的利用率 主要功能如下 1 处理机管理 2 存储管理 3 设备管理 4 信息管理 5 用户接口 1 3OS的功能和主要特征 1 处理机管理 可归结为进程管理 包括以下方面进程控制 创建进程 撤销进程 控制进程的运行状态转换 进程调度 从就绪的进程队列中选择一进程并把处理机分配给它 设置现场并是指投入运行 进程同步 设置进程同步信息 以协调系统中各进程的运行 进程通讯 负责进程间的信息交换 1 3OS的功能和主要特征 2 存储管理 为多道程序的运行提供良好的环境 并提高利用率 包括以下方面 地址重定位 实现逻辑地址到物理地址的转换 存储分配 为每道程序分配内存空间 并在作业结束后收回其所占用内存 存储保护 保证每道程序之间不能互相侵犯 尤其是不能侵犯操作系统 存储扩充 通过建立虚拟存储系统来实现内存逻辑上的扩充 1 3OS的功能和主要特征 3 设备管理 设备管理的主要目标是方便的设备使用 提高CPU与I O设备利用率 主要包括 缓冲管理 设立I O缓冲区 并对缓冲区进行有效管理 设备分配 按一定策略和设备使用情况 分配并回收设备 设备处理 即设备驱动程序 实现CPU和设备控制器之间的通讯等 设备独立性和虚拟设备 独立性指应用程序独立于物理设备 使用户编程与实际使用的设备无关 增强了可移植性 虚拟设备指将低速的设备改造为高速的共享设备 1 3OS的功能和主要特征 4 信息管理 文件系统管理 对用户文件和系统文件进行管理 解决文件资源的存储 共享 保密和保护 包括以下方面 目录管理 为每一文件建立目录项 并对目录实施有效的组织与管理 文件的读写管理和存取控制 解决信息安全问题 系统设口令 哪个用户 用户分类 哪个用户组 文件权限 针对用户或用户组的读写权 文件存储空间管理 解决如何存放信息 以提高空间利用率和读写性能 软件管理 软件的版本 相互依赖关系 安装和拆除等 1 3OS的功能和主要特征 5 用户接口目标是提供一个友好的用户访问操作系统的接口 操作系统提供三种接口 命令接口 亦称为作业控制机接口 分为联机命令和脱机命令接口 供用户用于组织和控制自己的作业运行 命令行 命令脚本 脱机 程序接口 用户获得操作系统服务的唯一途径 供用户程序和系统程序调用操作系统功能 系统调用和高级语言库函数 图形接口 图形用户界面GUI 方便用户使用 如窗口 菜单等 1 3OS的功能和主要特征 2 现代操作系统的主要特征设置操作系统的目的就是提高计算机系统的效率 增强系统的处理能力 充分发挥系统的利用率 方便用户使用 因此现代操作系统普遍采用以多道程序设计为基础的并行操作技术 主要特征如下 1 并发性 concurrency 2 共享性 sharing 3 虚拟性 virtual 4 异步性 asynchronism 1 3OS的功能和主要特征 1 并发性 concurrency 多个事件在同一时间段内发生 操作系统是一个并发系统 各进程间的并发 系统与应用间的并发 操作系统要完成这些并发过程的管理 并行 parallel 是指在同一时刻发生 在多道程序处理时 宏观上并发 微观上交替执行 在单处理器情况下 程序的静态实体是可执行文件 而动态实体是进程 或称作任务 并发指的是进程 1 3OS的功能和主要特征 2 共享性 sharing 多个进程共享有限的计算机系统资源 操作系统要对系统资源进行合理分配和使用 资源在一个时间段内交替被多个进程所用 互斥共享方式 如音频设备 资源分配后到释放前 不能被其他进程所用 同时访问方式 如可重入代码 磁盘文件 资源分配难以达到最优化 1 3OS的功能和主要特征 3 虚拟性 virtual 一个物理实体映射为若干个对应的逻辑实体 分时或分空间 虚拟是操作系统管理系统资源的重要手段 可提高资源利用率 CPU 每个用户 进程 的 虚处理机 存储器 每个进程都占有的地址空间 指令 数据 堆栈 显示设备 多窗口或虚拟终端 1 3OS的功能和主要特征 4 异步性 asynchronism 异步性也称不确定性 指进程的执行顺序和执行时间及执行结果的不确定性 程序执行结果不确定 不可再现 相同输入与环境下多次运行结果不同 多道程序设计环境下 程序按异步方式运行 多个进程并发执行 时走时停 不可预知每个进程的运行推进快慢 引发执行顺序与时间的不确定 1 4操作系统的机制和策略 1 操作系统界面两个界面 程序界面和操作界面 2 核心态和用户态 1 核心态 管态 系统态 与用户态 目态 非系统态 2 特权指令与非特权指令 只能在核心态下处理机才能够执行的指令称为特权指令 其它的指令称为非特权指令 3 状态转换 访管指令指访问核心态下的程序指令 在奔腾处理机中通过软中断指令实现处理机的状态从用户态向核心态的切换 通过中断返回指令实现从核心态向用户态的切换 3 特权指令特权指令为了实现保护 防止某些用户执行一些恶意的操作 典型的特权指令如下 1 输入 输出指令 2 开关中断指令 3 停机指令 4 访问特殊功能寄存器 中断和异常 如果由于当前正在执行指令的原因而引起处理机暂停执行当前程序 称为异常 异常是由处理机所执行的程序本身引起的 一般用于操作系统实现某些机制 而如果不是由于当前正在执行的指令的原因而引起处理机暂停执行当前程序 称为中断 中断一般用于输入 输出时外设请求处理机对其进行处理 异常的产生的原因 1 应用程序执行的指令在逻辑上就是错误的 例如应用程序执行了非法指令 引起非法指令异常 又如在用户态下执行了特权指令 引起保护异常 等 2 当前执行的程序是正确的 但是由于某些原因 应用程序当前执行的指令无法执行 解决了这些原因以后 应用程序也就能够继续执行了 而这些原因一般是能够解决的 如存储访问失效异常属于第二类异常 可恢复异常的产生和处理是实现操作系统时很重要的一种机制 许多操作系统功能都是通过可恢复异常实现的 4 可恢复异常和指令重启动 5 操作系统机制和策略 6 操作系统内核系统必须有一个部分能对硬件处理器及有关资源进行首次改造 以便给进程的执行提供良好运行环境 这个部分就是操作系统的内核 内核结构有微内核和单内核之分 内核必须提供以下三方面功能 设计内核要少而精 1 中断处理 中断处理要简单 2 短程调度 调度算法要有效 3 原语管理 原语应灵活有力 数量适当内核的执行有以下属性 1 内核是由中断驱动的 2 内核的执行是连续的 3 内核在屏蔽中断状态下执行 4 内核可以使用特权指令 操作系统中各个部分的功能 作用及其相互关系 称为操作系统机制 机制问题也就是总体结构问题 或者说总体框架问题 确定了操作系统机制以后 具体到每一部分如何实现 就需要一定的算法 这些算法属于操作系统策略的问题 内核的作用 是操作系统对裸机的第一次改造 内核和裸机组成了一台没有中断虚拟机 虚拟机的特点 1 虚拟机为每个进程提供了一台虚拟处理器 每个进程就好象在各自的私有处理器上顺序地推进 实现了多个进程的并发执行 2 虚拟机为进程提供了功能较强的指令系统 即它们能够使用机器非特权指令 系统调用和原语所组成的新的指令系统 7 核外抽象 1 进程 运行中的程序 2 线程 在一个多线程环境中 进程是系统进行保护和资源分配的单位 而线程则是进程中一条执行路径 每个进程中允许有多个并行执行的路径 而线程才是系统进行调度的单位 3 管程 管程是管理共享资源的程序 一种同步机制 对管程的调用表示对共享资源的请求与释放 管程与进程的区别 管程定义的是公用数据结构 而进程则是私有数据结构 管程把共享变量上的同步操作集中起来 而临界区却分散在每个进程中 管程是为管理共享资源而建立的 进程主要是为实现系统的并发性而引入的 管程是被欲使用共享资源的进程所调用的 管程和调用它的进程不能并行工作 而进程之间能并行工作 并发性是其固有特性 管程是语言或操作系统的成分 不必创建或撤销 而进程有生命周期 由创建而产生至撤销便消亡 4 类程 类程用于管理私有资源 对类程的调用表示对私有资源的操作 它仅能被进程及起源于同一进程的其它类程或管程嵌套调用链所调用 其本身也可以调用其它类程或管程 类程可以看作子程序概念的扩充 但一个类程可以包含多个过程 不像子程序仅仅一个 采用进程 管程 类程实现的操作系统中 进程在执行过程中若请求使用共享资源 则可以调用管程 若要控制私有资源操作 可以调用类程 这样便于使用高级程序设计语言来书写操作系统 1975年 汉森使用这一方法就成功地在PDP11 45机上实现了 单用户操作系统Solo 处理小作业的作业流系统和过程控制实时调度系统等三个层次管程结构的操作系统 8 Pentium处理机中的特权级 以Pentium处理器为例 介绍操作系统机制和策略的一个具体的例子 在保护模式下 Pentium处理器采用段页式寻址 共有六个段寄存器 CS DS SS ES FS GS 段寄存器中的内容包括两个部分 可见部分和不可见部分 其中可见部分共十六位 其格式如下图所示 在特权级方面 有4个特权级 Linux和Windows只用了2个 特权级的使用 应用程序给出的特权级称为请求特权级 RPL 全局描述符表和局部描述符表中保存的特权级称为描述符特权级 DPL CS段寄存器中的特权级称为当前特权级 CPL 请求特权级和当前特权级中较低的特权级称为有效特权级 EPL 由于较低的特权级数值较高 所以EPL max RPL CPL 只有当请求特权级 RPL 低于进程的描述符特权级 DPL 和当前特权级 CPL 时 即RPL DPL RPL CPL 对段寄存器的赋值才是有效的 否则应用程序不能访问段中的数据 示例 Pentium处理器中的段寄存器与段描述符表 全局段描述符表 TI 0 局部段描述符表 TI 1 四级特权级 第0级级别最高 核心态 第3级级别最低 用户态 应用程序在处理机上运行时 当把一个段选择子装入CS寄存器时 就会发生控制转移 控制转移可能影响当前的特权级 可能的控制转移有下面几种 1 同一特权级的段间转移 2 到相同或更高特权级的段间转移 可以改变CPL 3 到相同或更高特权级的任务内的中断 可以改变CPL 4 到较低特权级的段间转移 改变任务的CPL 5 任务切换 这里要说明的是 所有的控制转移 都必须服从特权规则 这些规则包括 1 若控制转移要求特权级发生变化 则必须通过门 2 若使用JMP指令产生段间控制转移 则只能在同一特权级别中进行 3 若使用CALL指令产生段间控制转移 则可以在同一特权级别内 也可以通过门转移到更到的特权级 4 同一任务内处理的中断 遵循与CALL调用指令相同的规则 5 CPL和指向门选择器的RPL的级别必须大于或者等于门的DPL 描述符特权级 6 并不切换任务的返回指令 只能将控制返回到相同和更低的特权级的代码段 7 任务切换可以由CALL JMP和INT指令完成 若在任务切换时涉及任务或任务状态段 则它们的特权级必须低于或者等于老任务的CPL 1 5操作系统的体系结构 现代操作系统从内部结构划分 通常包含两部分 一是内核 二是核外部分 其余通常是一些实用程序 1 操作系统的内核1 内核在操作系统中的地位 OS内核是对硬件的首次扩充 是实现操作系统各项功能的基础 传统操作系统内核包括以下功能模块 进程 线程及其管理存储管理 I O管理文件系统 1 5操作系统的体系结构 2 强内核与微内核 操作系统有两种内核组织形式 强内核 MonolithicKernel 通过陷入内核实现系统调用 即在内核完成所需要的服务后将结果返回给用户程序 如UNIX采用的这种结构 微内核 MicroKernel 微内核的基本思想是良好的结构化 模块化 最小的公共服务 微内核只提供最基本 最必要的服务 供进程间通讯 有些存储管理 有限的低级进程管理和调度 低级I O四种服务 微内核的特点 优点 良好的扩充性 只需添加支持新功能的服务进程即可 可靠性好 调用关系明确 执行转移不易混乱便于网络服务 实现分布式处理 以同样的调用形式 在下层可通过核心中的网络传送到远方服务器上 远地过程调用RPC RemoteProcedureCall 缺点 消息传递比直接调用效率要低一些 但可以通过提高硬件性能来补偿 UNIX的内核结构 1 5操作系统的体系结构 2 操作系统的结构设计 OS结构设计模式 是将操作系统所提供的特性 服务以及系统所执行的任务统一成一体的一个概括性的框架 随着操作系统的发展 功能越强 OS自身代码量越大 操作系统采用良好的结构 有利于保证正确性以及自身修改和扩充 四种模式 1 整体或模块结构 2 分层结构或虚拟机 3 客户 服务器模型或微内核结构 4 面向对象技术 操作系统的设计原则 可维护性 容易修改与否称为可维护性 改错性维护 改正已发现的错误 适应性维护 修改软件 使之适应新的运行环境 软 硬件环境 如 操作系统的移植 完善性维护 增加新功能 可靠性 可靠性包括两方面 正确性 正确实现所要求的功能和性能 稳健性 对意外 故障和误操作 作出适当的处理 可理解性 易于理解 以方便测试 维护和交流 性能 有效地使用系统资源 尽可能快地响应用户请求 1 整体或模块结构 整个系统按功能进行设计和模块划分 系统是一个单一的 庞大的的软件系统 这种结构思想来源于服务功能观点 而不是资源管理的观点 模块结构的特点 模块由众多服务过程 模块接口 组成 可以随意调用其他模块中的服务过程 优点 具有一定灵活性 在运行中的高效率缺点 功能划分和模块接口难保正确和合理 模块之间的依赖关系 功能调用关系 复杂 调用深度和方向 降低了模块之间的相对独立性 不利于修改 2 分层结构或虚拟机 从资源管理观点出发 划分层次 在某一层次上代码只能调用低层次上的代码 使模块间的调用变为有序性 系统每加一层 就构成一个比原来功能更强的虚拟机 有利于系统的维护性和可靠性 优点 功能明确 调用关系清晰 高层对低层单向依赖 有利于保证设计和实现的正确性 低层和高层可分别实现 便于扩充 高层错误不会影响到低层 避免递归调用 缺点 降低了运行效率 被调用功能在低层 如文件系统管理 设备管理 设备驱动程序活跃功能在低层 提高运行效率资源管理的公用模块放在最低层 如缓冲区队列 堆栈操作存储器管理放在次低层 便于利用虚拟存储功能最低层的硬件抽象层 与机器特点紧密相关的软件放在最低层 资源分配策略放在最外层 便于修改或适应不同环境 各系统对具体划分多少层次有不同的看法 分层原则 典型虚拟机VM 370 VM 370基于如下的思想 一个分时系统应该提供以下特性 1 多道程序 2 一个具有比裸机更方便 界面扩展的计算机 VM 370的主旨在于将此二者彻底地隔离开来 VM 370的体系结构如图1 6所示 它在裸机上运行并具备多道程序功能 它向上层提供了若干台虚拟机 但与其它操作系统不同的是 这些虚拟机不是那种具有文件等良好特征的扩展计算机 而仅仅是裸机硬件的精确复制 它包含有 核心态 用户态 I O功能 中断 以及真实硬件具有的全部内容 因为每台虚拟机都与裸机完全一样 所以每台虚拟机可以运行裸机能够运行的任何操作系统 不同的虚拟机可以运行不同的操作系统而且往往如此 某些虚拟机运行OS 360的后续版本作批处理或事务处理 而同时另一些运行一个单用户交互系统供分时用户使用 该系统称作CMS 会话监控系统 当CMS上的程序执行一条系统调用时 该系统调用陷入其自己的虚拟机的操作系统 而不是VM 370 这就象在真正的计算机上一样 CMS然后发出正常的硬件I O指令来执行该系统调用 这些I O指令被VM 370捕获 随后VM 370执行这些指令 作为对真实硬件模拟的一部分 通过将多道程序功能和提供虚拟机分开 它们各自都更简单 更灵活和易于维护 现在虚拟机的思想被广泛采用 例如在奔腾CPU 或其它Intel的32位CPU 上运行老的MS DOS程序时就采用了虚拟机的思想 不过在实现技术上 二者并不完全相同 3 客户 服务器模型或微内核结构 把操作系统分成若干分别完成一组特定功能的服务进程 服务器 等待客户提出请求 而系统内核只实现操作系统的基本功能 如 虚拟存储 消息传递 服务器运行于用户态 并循环检测是否有客户请求服务 客户可以是一个应用程序或者是另一操作系统成分 用户 内核 服务器通过消息联系 如图所示 客户 服务器模式下的操作系统模型 1 5操作系统的体系结构 客户 服务器模型优点 简化了基本操作服务 缩小了内核 提供了多种API且易于维护 提高了可靠性 服务程序在用户态 且独立运行 不能直接访问硬件 适合分布式计算环境 采用客户 服务器为基础 且使用消息传递进行通讯 4 面向对象技术 对象是指具有相同属性 服从相同规则的一类事物的抽象 其中的具体事物称为对象的实例 将数据结构和定义在其上的一组操作封装起来表示某个对象 这样数据结构中的数据对外都是隐蔽的 必须通过封装其内的操作 函数 对它们访问 优点 可修改性和可扩充性继承性正确性和可靠性 1 6典型操作系统简介 1 6 1UNIX操作系统1 UNIX操作系统的诞生1965年麻省理工学院 MIT 美国电报电话公司 AT T 的贝尔实验室 Belllabs 和通用电气公司 GE 开始多用户分时操作系统Multics的开发工作 1969年Multics开始在GE645计算机系统上运行 但它未能实现原定目标 Multics直接导致了一个声名显赫的操作系统 UNIX横空出世 在退出Multics的研究之后 BellLabs的KenThompson发现当时鲜有人使用的DECPDP 7计算机既便宜 又有较好的图形显示功能 于是决定把 SpaceTravel 一个电玩 移植到PDP 7上 但是PDP 7无可用的编辑器 为此 Thompson和Ritchie用汇编语言首先开发成功了16位的UNIX操作系统 UNIX继承了Multics的文件系统的树型结构 SHELL命令语言 面向过程的结构化设计方法和采用高级语言编写操作系统的特点 UNIX短小精悍 另一个开发人员BrianKernig han戏称道 是与Multics相比的双关语 UNI表示 一个 而MULTI表示 多个 X 是 cs 的谐音 UNIX的第一次实用 即为满足BellLabs专利部对正文处理的要求而在1971年运行在PDP 11上 它第一次暗示了UNIX将成为一个能在所有计算机上运行的操作系统 1973年11 Thompson和Ritchie用C语言重写了UNIX系统 事实上今天所有的UNIX实现版本基本上都是用C语言编写的 小知识 UNIX与C 在UNIX出现以前 一个操作系统必须完全用汇编语言写成 始能让机器发挥最高效能 Thompson与Ritchie 是头几位领悟硬体与编译器的技术 已经进步到作业系统可以完全用高阶语言如C来写 仍保有不错的效能 五年後 Unix已经成功地移植到数种机器上 这当时是一件不可思议的事 它意味著 如果Unix可以在各种平台上跑的话 Unix软件就能移植到各种机器上 再也用不著为特定的机器写软件了 能在Unix上跑最重要 重新发明轮子已经成为过去式了 除了跨平台的优点外 Unix与C还有许多显著的优势 Unix与C的设计哲学是 KeepItSimple Stupid 简称KISS programmer可以轻易掌握整个C的逻辑结构 不像其他之前或以後的程式语言 而不用一天到晚翻手册写程式 KenThompson与DennisRitchie是唯一两位获得TuringAward 图灵奖 的工程师 其他都是学者 在Unix诞生的初期 AT T还没有把它作为它的正式商品 AT T以分发许可证的方法 对Unix仅仅收取很少的费用 大学和研究机构就能获得Unix的源代码以进行研究 Unix的源代码被散发到各个大学 一方面使得科研人员能够根据需要改进系统 或者将其移植到其他的硬件环境中去 另一方面培养了懂得Unix使用和编程的大量的学生 这使得Unix的普及更为广泛 在UNIX的发展过程中 各大公司纷纷形成了自己的UNIX版本 1989末 转卖给SCO的XENIX版本受UNIXSVR4的冲击而终止了发展 SCO开始推出SCOUNIX系列 1995年SCO从Novell手中购买了UNIXware 实力大增 Sun拥有Solaris Digital HP IBM也分别有各自的UNIX系统 1982年 Microsoft曾与BellLabs商谈共同开发并统一UNIX的事宜 当时 成立仅7年的Microsoft的最大成就是MS DOS1 0 由于种种原因 商谈失败 如果成功了呢 也许就不会有Windows 在精明的BillGates的领导下 UNIX也许不会四分五裂 几乎在同时 加州大学伯克利分校计算机系统研究小组 CSRG 使用Unix对操作系统进行研究 他们对Unix的改进相当多 增加了很多当时非常先进的特性 virtualmemory TCP IP FastFileSystem FFS reliablesignals socket介面 很多其他Unix使用者 包括其他大学和商业机构 都希望能得到CSRG改进的Unix系统 因此CSRG中的研究人员把他们的Unix组成一个完整的Unix系统 BSDUnix BerkeleySoftwareDistribution 向外发行 到此 UNIX就有了一个大的分支 分为AT TUNIX和BSDUnix 现代的Unix版本大部分都是这两个版本的衍生产品 到了70年代末 在Unix发展到了版本6之后 AT T认识到了Unix的价值 成立了Unix系统实验室 UnixSystemLab USL 来继续发展Unix 同时AT T也宣布对Unix产品拥有所有权 2 UNIX的标准化 UNIX系统一直是现代工程工作站的主流操作系统 后来 由于UNIX的广泛影响 IEEE成立了POSIX委员基金会专门负责UNIX的标准化工作 其实 在1988年UI UNIXInternational 和OSF OpenSoftwareFoundation 两大业界集团便开始各自的UNIX标准化 UI以AT T与Sun为代表 于1989年底推出UNIXSystemVRes4 0 它将BSD4 3与UNIXV 4以前版本的用户界面统一成称为OpenLook的图形界面 OSF则以DEC HP和IBM为支柱 也于1990年发表了基于BSD4 3的OSF 1 3 UNIX的特点 UNIX各版本的基本特性是一致的 开放性 多用户 多任务 功能强 实现高效 网络功能丰富 促使UNIX系统成功的因素 1 由于UNIX是用C语言编写 因此它是可移植的 是世界上唯一能在笔记本计算机 PC机 工作站直至巨型机上运行的

温馨提示

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

评论

0/150

提交评论