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

下载本文档

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

文档简介

计算机操作系统 第一章操作系统引论 1 1操作系统的目标和作用1 2操作系统的发展过程1 3操作系统的基本特性1 4操作系统的主要功能1 5操作系统的结构设计 1 1操作系统的目标和作用 1 1 1操作系统的目标1 1 2操作系统的作用1 1 3推动操作系统发展的主要动力 1 1 1操作系统的目标 有效性 系统管理者的观点 管理和分配硬件 软件资源 合理地组织计算机的工作流程 方便性 用户的观点 提供良好的 一致的用户接口 弥补硬件系统的类型和数量差别 可扩充性 开放的观点 硬件的类型和规模 操作系统本身的功能和管理策略 多个系统之间的资源共享和互操作 开放性 开放的观点 应用程序的可移植性和互操作性 1 1 2操作系统的作用 1 一般用户角度 OS作为用户与计算机硬件系统之间的接口命令方式 命令行 命令脚本式 系统调用 形式上类似于过程调用 在应用程序编程中使用 图形 窗口方式 图形用户接口GUI 2 资源管理角度 OS作为计算机系统资源的管理者管理对象包括 CPU 存储器 外部设备 信息 数据和程序 管理的内容 资源的当前状态 数量和使用情况 资源的分配 回收和访问操作 相应管理策略 包括用户权限 1 1 2操作系统的作用 3 OS产生的角度 OS实现了对计算机资源的抽象 在裸机上添加 设备管理 文件管理 存储管理 针对内存和外存 处理机管理 针对CPU 扩充机器或虚机器 1 1 2操作系统的作用 1 1 3推动操作系统发展的主要动力 需求推动发展 1 提高资源的利用率和系统性能 计算机发展的初期 计算机系统昂贵 用作集中计算 多道批处理系统 2 方便用户 改善用户上机 调试程序时的环境 成为继续推动OS发展的主要因素 分时系统或多用户系统 3 器件的发展 CPU的位宽度 指令和数据 快速外存 4 体系结构的发展 单处理机系统 多处理机系统 网络单处理机OS 多处理机OS 网络OS 1 1 3推动操作系统发展的主要动力 1 2操作系统的发展过程 1 2 1无操作系统时的计算机系统1 2 2单道批处理系统1 2 3多道批处理系统1 2 4分时系统1 2 5实时系统1 2 6微机操作系统的发展 1 2 1无操作系统时的计算机系统 1946 50年代中 电子管 集中计算1 手工操作方式 1 2 1无操作系统时的计算机系统 工作方式用户 用户既是程序员 又是操作员 编程语言 机器语言 输入输出 纸带或卡片 计算机的工作特点用户独占全机 不出现资源被其他用户占用的情况 资源利用率低 CPU等待人工操作 计算前 手工装入纸带或卡片 计算完成后 手工卸取纸带或卡片 CPU利用率低 1 2 1无操作系统时的计算机系统 主要矛盾计算机处理能力的提高 手工操作的低效率 造成浪费 用户独占全机的所有资源 此外 CPU与I O设备之间速度不匹配的矛盾 解决矛盾的途径通道技术缓冲技术 人机矛盾 2 脱机输入输出 Off LineI O 方式 1 2 1无操作系统时的计算机系统 脱机输入输出方式的优点 减少了CPU的空闲时间 提高I O速度 1 2 1无操作系统时的计算机系统 1 2 2单道批处理系统 50年代中 60年代中 晶体管 设计思想 把一批作业以脱机输入方式输入到磁带上 并在系统中配上监督程序 在它的控制下使这批作业能一个接一个地连续处理 可使用汇编语言开发 1 2 2单道批处理系统 开始 还有下一个作业 把下一个作业的源程序转换为目标程序 否 停止 源程序有错吗 是 否 装配目标程序 运行目标程序 是 单道批处理系统的处理流程 1 2 2单道批处理系统 批处理中的作业的组成 用户程序数据作业说明书 作业控制语言 批 供一次加载的磁带或磁盘 通常由若干个作业组装成 在处理中使用一组相同的系统软件 单道批处理系统的特征 自动性 无须人工干预 顺序性 作业进入内存顺序与完成顺序一致 单道性 内存中仅有一道程序运行 1 2 2单道批处理系统 1 2 2单道批处理系统 单道批处理的主要问题 CPU和I O设备使用忙闲不均 取决于当前作业的特性 对计算为主的作业 外设空闲 对I O为主的作业 CPU空闲 多道程序设计 即在系统内 内存 同时存放并运行几道相互独立的程序 多道程序设计的基础 是将运行过程进一步细化成几个小的步骤 从而实现宏观上的并行 但从微观上看 内存中的多道程序轮流地或分时地占用处理机 交替执行 1 2 3多道批处理系统 60年代中 70年代中 集成电路 利用多道批处理提高资源的利用率 多道程序设计技术的优点 提高CPU的利用率提高内存和I O设备利用率增加系统吞吐量 1 2 3多道批处理系统 吞吐量 单位时间内系统所完成的总工作量 多道批处理操作系统 批处理系统 多道程序设计技术多道批处理系统的特征 多道性 内存可同时驻留多道程序 无序性 作业进入内存顺序与完成顺序无对应关系 调度性 作业经过两次调度 1 2 3多道批处理系统 多道批处理系统的优点 资源利用率高 多道程序搭配运行 尽可能使资源处于忙碌状态 系统吞吐量大 1 2 3多道批处理系统 多道批处理系统的缺点 平均周转时间长 短作业周转时间显著增长 作业的周转时间 指从作业进入系统开始 直至完成并退出系统为止所经历的时间 无交互能力 整个作业完成后或中间出错时才与用户交互 不利于调试和修改 1 2 3多道批处理系统 多道程序技术提高了效率 但对每道程序来说 却延长了时间 所以提高资源利用率和系统吞吐量是以牺牲用户响应时间为代价的 多道批处理系统需要解决的问题 处理机管理问题内存管理问题I O设备管理问题文件管理问题作业管理问题 1 2 3多道批处理系统 操作系统定义 操作系统是计算机系统中的一个系统软件 是一些程序的集合 能控制和管理计算机系统内各种硬件和软件资源 合理 有效地组织计算机系统的工作 为用户提供一个使用方便 可扩展的工作环境 从而起到连接计算机和用户的接口作用 1 2 3多道批处理系统 70年代中期至今发展动力 用户需求 人 机交互共享主机便于用户上机 分时 的含义是指多个用户分享使用同一台计算机 多个程序分时共享硬件和软件资源 1 2 4分时系统 分时系统实现中的关键问题 及时接收 多路卡 缓冲区及时处理 作业直接进入内存 不允许一个作业长期占用处理机 在很短时间内 使所有作业都执行一次 通常按时间片 timeslice 分配 各个程序在CPU上执行的轮换时间 1 2 4分时系统 分时系统的特征 多路性 同时性 独立性及时性交互性 1 2 4分时系统 1 2 5实时系统 实时系统的引入 实时控制导弹制导系统 飞机自动驾驶系统实时信息处理飞机订票系统 情报检索系统 1 2 5实时系统 所谓 实时 是表示 及时 实时系统 系统能及时响应外部事件的请求 在规定时间内完成对该事件的处理 并控制所有实时任务协调一致地运行 1 2 5实时系统 实时任务的类型 按任务执行时是否呈现周期性来划分周期性 非周期性根据对截止时间的要求来划分硬实时任务 软实时任务 实时系统与分时系统的比较 多路性独立性及时性交互性可靠性 1 2 5实时系统 分时实时 分时技术 把CPU的时间分成很短的时间片 例如 几十至几百毫秒 工作多个用户终端独占全机人所接受的等待时间来确定交互性强可靠特点是计算机规定人 用户 实时是指计算机对于外来信息能够以足够快的速度进行处理 并在被控对象允许的时间范围内作出快速反应对多路信息采集独立操作 互不干扰开始 完成截止时间来确定交互作用能力较差 访问专用服务程序高度可靠 多极容错措施 特点是人 用户 规定计算机 1 单用户单任务操作系统单用户单任务操作系统的含义是 只允许一个用户上机 且只允许用户程序作为一个任务运行 这是最简单的微机操作系统 最有代表性的单用户单任务微机操作系统是CP M和MS DOS 1 2 6微机操作系统的发展 1 2 6微机操作系统的发展 2 单用户多任务操作系统单用户多任务操作系统的含义是 只允许一个用户上机 但允许用户把程序分为若干个任务 使它们并发执行 从而有效地改善了系统的性能 目前在32位微机上配置的操作系统基本都是单用户多任务操作系统 其中最有代表性的是微软公司的Windows 1 2 6微机操作系统的发展 3 多用户多任务操作系统多用户多任务操作系统的含义是 允许多个用户通过各自的终端使用同一台机器 共享主机系统中的各种资源 而每个用户程序又可进一步分为几个任务 使它们并发执行 从而可进一步提高资源利用率和系统吞吐量 其中最有代表性的是UNIX 1 3操作系统的基本特性 1 3 1并发性1 3 2共享性1 3 2虚拟技术1 3 2异步性 随机性 并发性并行性 两个或多个事件在同一时刻发生 并发性 两个或多个事件在同一时间间隔内发生 程序 静态实体 不能和其它程序并发执行 进程 活动实体 能独立运行 资源分配的基本单位 线程 比进程粒度更小 一个进程可包含若干个线程 可利用进程所拥有的资源 进一步提高系统并发性 1 3 1并发性 共享是指系统中的资源可供内存中多个并发执行的进程 线程 共同使用 两种资源共享方式 互斥共享方式 如打印机 称临界 独占 资源 同时访问方式 单处理机环境下 同时 是宏观上的 微观上 交替访问 如磁盘 1 3 2共享性 虚拟 通过某种技术把一个物理实体变成若干个逻辑上的对应物 例如 虚处理机 虚拟内存 虚拟设备 虚拟信道一个CPU 多个逻辑上的CPU 多道程序技术 1 3 3虚拟技术 虚拟技术的实现 1 3 3虚拟技术 1 时分复用技术时分复用 亦即分时使用方式 它最早用于电信业中 在计算机领域中 广泛利用该技术来实现虚拟处理机 虚拟设备等 以提高资源的利用率 虚拟技术的实现 1 3 3虚拟技术 2 空分复用技术利用存储器的空闲空间来存放其它的程序 例如 虚拟磁盘技术 虚拟存储器技术 1 3 4异步性 多道程序环境下 程序是并发执行的 进程 走走停停 有可能先进入内存的作业后完成 而后进入内存的作业先完成 进程是以人们不可预知的速度向前推进 这就是进程的异步性 Asynchronism 1 4操作系统的主要功能 1 4 1处理机管理功能1 4 2存储器管理功能1 4 3设备管理功能1 4 4文件管理功能1 4 5操作系统与用户之间的接口 一 进程控制 作业运行前必须为它创建进程 结束时撤销 实现机制 若干条进程控制原语或系统调用基本原语 创建进程原语 撤销进程原语 1 4 1处理机管理的功能 二 进程同步 对诸进程 含线程 的运行进行协调 协调方式 进程互斥方式 临界资源 锁 进程同步方式 协调合作进程次序 信号量 机制 1 4 1处理机管理的功能 三 进程通信 实现在相互合作的进程间的信息交换 直接通信方式 挂到消息队列上 间接通信方式 消息中间体 邮箱 1 4 1处理机管理的功能 四 调度 作业调度 后备队列 外存 两级调度进程调度 就绪队列 内存中 调度算法 先来先服务 优先权高者优先等 1 4 1处理机管理的功能 一 内存分配 静态分配方式 内存空间固定 不允许 移动 动态分配 附加内存空间 移动 内存分配数据结构内存分配功能内存回收功能 1 4 2存储器管理的功能 二 内存保护 确保每道用户程序都在自己的内存空间中运行 互不干扰 内存保护机制 界限寄存器 上界 下界 越界检查 硬件实现 软件配合 1 4 2存储器管理的功能 三 地址映射 地址空间 内存空间 地址映射 逻辑地址 物理地址 硬件支持下完成 1 4 2存储器管理的功能 四 内存扩充 硬件资源宝贵 物理内存有限 大作业要求难以满足 逻辑上扩充物理内存 虚拟存储技术内存扩充机制 请求调入 置换 1 4 2存储器管理的功能 一 缓冲管理 目的 缓和CPU和I O速度不匹配的矛盾 提高CPU和I O利用率 增加系统吞吐量 缓冲机制 单缓冲 双缓冲 双向同时传输数据 公用缓冲池 多个设备同时使用 1 4 3设备管理的功能 二 设备分配 根据用户的I O要求 为之分配所需设备 设备控制表数据结构控制器控制表 1 4 3设备管理的功能 三 设备处理 设备处理程序又称设备驱动程序 实现CPU和控制器之间的通信 1 4 3设备管理的功能 四 设备独立性和虚拟设备 1 设备独立性 应用程序与具体使用的物理设备无关 优点 提高用户程序的可适应性 易于实现输入 输出重定向 2 虚拟设备功能 1 4 3设备管理的功能 一 文件存储空间的管理 为每个文件分配必要的外存空间 离散分配方式 减少外存零头 盘块二 目录管理 目录项 目录文件 按名存取 文件共享 目录查询 1 4 4文件管理的功能 三 文件的读 写管理和保护 文件的读 写管理 读指针 写指针文件保护 多级保护设施 系统级 用户级 文件级存取控制 1 4 4文件管理的功能 一 用户接口 联机用户接口 键盘操作命令 命令解释程序脱机用户接口 批处理用户接口 JCL图形用户接口 特殊的联机用户接口二 程序接口 由一组系统调用组成 1 4 5操作系统与用户之间的接口 1 5操作系统的结构设计 1 5 1传统的操作系统结构1 5 2客户 服务器模式1 5 3面向对象的程序设计1 5 4微内核OS结构 软件开发技术的不断发展 促进了OS结构的更新换代 早期的无结构OS 第一代 模块化结构的OS 第二代 和分层式结构的OS 第三代 统称为传统结构的OS 把微内核结构的OS称为现代结构的OS 1 5 1传统的操作系统结构 1 无结构操作系统 早期开发操作系统时 OS是一组过程的集合 各过程间可相互调用 在OS内部不存在任何结构 因此 这种OS是无结构的 也称为整体系统结构 1 5 1传统的操作系统结构 缺点 1 程序错误多 调试困难 2 难以阅读和理解 增加维护负担 2 模块化结构OS 1 模块化程序设计技术的基本概念 模块化程序设计技术 是20世纪60年代出现的一种结构化程序设计技术 它基于 分解 和 模块化 原则来控制大型软件的复杂度 为使OS具有较清晰的结构 将其按功能划分为若干个具有一定独立性和大小并具有一定管理功能的模块 并规定好各模块间的接口 使各模块之间能通过接口实现交互 然后再进一步将各模块细分为若干个子模块 同样也要规定各子模块之间的接口 若子模块较大时 再进一步将它细分 模块 接口法 图1 6模块化结构的操作系统 2 模块的独立性在模块 接口法设计方法中 关键问题是模块的划分和规定好模块之间的接口 a 如果模块划分得太小 虽然可以降低模块本身的复杂性 但会引起模块之间的联系过多 而会造成系统比较混乱 b 如果划分得过大 又会增加模块内部的复杂性 使内部的联系增加 2 模块的独立性衡量模块独立性的标准 a 内聚性 模块内部各部分间联系的紧密程度 内聚性越高 独立性越强 b 耦合度 模块间相互联系和相互影响的程度 耦合度越低 独立性越强 3 模块接口法的优缺点 优点 1 提高OS设计的正确性 可理解性和可维护性 2 增强OS的可适应性 3 加速OS的开发过程 缺点 1 在设计OS时 对各模块间的接口规定很难满足在模块完成后对接口的实际需求 2 程序设计人员很难做到 设计中的每一步决定都是建立在可靠的基础上 模块 接口法又被称为 无序模块法 3 分层式结构OS 1 分层式结构的基本概念 从物理机器开始 在其上先添加一层具有一定功能的软件A1 由于A1是建立在完全确定的物理机器上的 在经过精心设计和测试后 可以认为A1是正确的 然后再在A1上添加一层新软件A2 如此一层一层地自底向上增添软件层 每一层都实现若干功能 最后总能构成一个能满足需要的OS 有序分层法 分层式结构设计的基本原则是 每一步设计都是建立在可靠的基础上 2 分层结构的优缺点 优点 1 易保证系统的正确性 2 易扩充和易维护性 缺点 层次结构分层单向依赖 所以必须在相邻层之间建立层次间的通信机制 导致系统效率降低 1 客户 服务器模式 Client ServerModel 的组成 由客户机 服务器和网络系统三个部分组成 1 客户机 在一个LAN网络上连接有多台网络工作站 简称客户机 每台都是一个自主计算机 有一定处理能力 平时处理一些本地业务 也可发送消息给服务器 以请求某项服务 1 5 2客户 服务器模式 2 服务器 一台规模较大的机器 其上驻留有网络文件系统或数据库系统等 能为网上所有的用户提供一种或多种服务 平时一直处于工作状态 被动地等待来自客户机的请求 3 网络系统 用于连接所有客户机和服务器 实现它们之间通信和网络资源共享的系统 1 5 2客户 服务器模式 2 客户 服务器之间的交互 1 客户发送请求消息 2 服务器接收消息 3 服务器回送消息 4 客户机接收消息 1 5 2客户 服务器模式 3 客户 服务器模式的优点 数据的分布处理和存储 2 便于集中管理 3 灵活性和可扩充性 4 易于改编客户机应用软件 1 5 2客户 服务器模式 4 客户 服务器模式的缺点 系统仅有一个服务器时 不可靠性 2 服务器重负荷工作 瓶颈问题 1 5 3面向对象的程序设计技术 1 面向对象技术的基本概念 面向对象技术是20世纪80年代初提出的 基于 抽象 和 隐蔽 原则来控制大型软件的复杂度 基本概念 对象 类 继承等 2 面向对象技术的优点 1 通过 重用 提高产品质量和生产率 2 使系统具有更好的易修改性和易扩展性 3 更易于保证系统的 正确性 和 可靠性 由于对象是构成操作系统的基本单元 可以独立地对它进行测试 1 5 3面向对象的程序设计技术 1 微内核操作系统的基本概念 1 足够小的内核 2 基于客户 服务器模式 3 应用 机制与策略分离 原理 4 采用面向对象技术 1 5 4微内核OS结构 2 微内核的基本功能 1 进程

温馨提示

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

最新文档

评论

0/150

提交评论