-
章节一:绪论(操作系统引论)
-
操作系统是什么?
-
操作系统的目标与作用
-
操作系统发展过程
-
操作系统的特性
-
操作系统的功能
-
操作系统纵览
操作系统是为用户完成硬件相关、应用无关的工作 给用户方便、高效、安全的使用环境
操作系统是一下系统的集成
操作系统的目标
-
方便性
- 配置OS后计算机系统更容易使用
-
有效性
- 改善资源利用率
- 提高系统的吞吐量
-
可扩充性
- OS的结构 例:层次化结构
-
开放性
- OS应遵循世界标准规范
操作系统的作用
- OS是用户与硬件系统之间的接口
- 命令方式
- 系统调用方式
- 图形、窗口方式
- OS是计算机系统资源的管理者
- 处理器
- 存储器
- I/O设备
- 信息(文件、数据、程序等)
- OS是扩充机/虚拟机
- 把覆盖软件的机器称为扩充机或虚拟机
- OS包含若干个层次 因此在裸机上覆盖OS后 便可获得一台功能显著增强 使用极为方便的多层扩充机或多层虚拟机
操作系统的发展过程
操作系统的产生
-
手工操作系统(40年代)
-
特点
-
缺点
脱机I/O方式的优点
- 减少CPU的空闲时间
- 提高了I/O速度
-
-
-
单带批处理阶段
- 晶体管计算机(操作系统的的雏形,称为监控程序)
-
单道批处理分为:联机批处理、脱机批处理
- 联机批处理:CPU直接控制作业的输入输出
- 脱机批处理:由外围机控制作业的输入输出
特点
-
作业(步)间不需要人的干预
-
监控程序常驻内存 开机后第一个进入内存 直到关机一直驻留在内存中
-
专职操作员 程序员不在现场
-
单道
-
监控程序只为一个计算机系统设计
-
开发过程可以使用FORTRAN等高级语言 程序的最后一条指令需是返回控制到监控程序
对单道批处理阶段评价
- 作业转换时间大大减小 系统运行效果提高(自动性、顺序性)
- 存在I/O慢造成CPU空闲等待时间(单道)
- 程序员(和非编程用户)无法同计算机交互
- 一个操作系统被设计成只能在一种计算机上运行
特征
自动性 :正常情况下 一批作业能自动依次运行 无需人工干预
顺序性 : 各道作业是顺序进入内存 FCFS
单道性 : 内存中任何时候只能有一道作业
操作系统的形成
-
多道批处理(60年代初) 操作系统发展史上革命性变革
多到程序设计技术: 在内存中放多道程序 使他们在管理程序的控制下相互穿插的运行
单道与多道程序工作的过程比较
多道运行的特点:
- 多道: 内存同时存在多个作业
- 宏观上并行 : 同时由多道程序在内存中运行 某一时间段上 各道程序不同程度地向前推进
- 微观上串行 : 任一时刻最多只有一道作业占用CPU 多道程序交替使用CPU
优点
-
资源利用率高 (资源指CPU、存储器、设备、数据)
-
系统吞吐量大 系统吞吐量指系统在单位时间完成的总工作量(作业数量)
缺点
- 平均周转时间长 周转时间:指从作业进入系统开始 直至其完成并退出系统为止所经历的时间
- 无交互能力
多道批处理系统需解决的问题
-
分时系统(60年代中)
分时系统是指在一台主机连接多个带有显示器和键盘的终端 同时允许多个用户通过自己的键盘 以交互的方式使用计算机 共享主机中的资源
比较
推动多道批处理系统形成和发展的动力是提高资源利用率和系统吞吐量
推动分时系统形成和发展的主要动力是用户的需要:交互、共享主机、方便上机
关键问题:
- 实现人机交互
- 及时接收 作业直接进入内存 不允许一个作业长期占用处理机
- 及时处理(划分时间片)
特征
多路性 :允许同一主机联接多台终端
独立性 : 每一个用户独占一个终端 每个用户感觉不到其他用户的存在
及时性 : 用户请求能及时响应
交互性 : 可进行广泛的人机对话
-
实时操作系统(60年代中)
特征
操作系统的发展
- 微机操作系统
- 多处理机操作系统
- 网络操作系统
- 分布式操作系统
- 嵌入式操作系统
操作系统的特性
并发
- 所谓并发是指在内存中放多道作业 在一个时间段上来看 每一道作业都能不同程度地向前推进 但在任何一个时间点上只能有一道占用CPU
串行·
在内存中每次只能放一道作业 只有它完全执行完后别的作业才能进入内存执行
并行
存在有多个CPU的环境中 在内存中放多道作业 在任一时间点上都可能有作业在不同的CPU上同时执行
并发性:引入进程、线程
共享
- 系统中的资源可供多个并发的进程共同使用
- 互斥共享方式(临界/独占资源)
- 同时访问方式
并发和共享是OS的两个最基本的特性 二者互为条件!
虚拟
异步性
操作系统必须随时对以不可预测的次序发生的事件进行响应
- 进程的运行速度不可预知:分时系统中 多个进程并发执行 “走走停停” 无法预知每个进程的运行推进快慢
- 难以重现系统在某个时刻的状态(包括重现运行中的错误)
操作系统的功能
处理机管理
- 进程控制、进程同步、进程通信、调度
存储器管理
- 内存分配
- 地址映射 : 把程序中的逻辑地址映射为物理地址
- 存储保护 : 使多道程序间互不干扰
- 存储扩充 : 用辅存扩充主存 实现“虚拟存储器”
设备管理
- 物理设备品种繁多、用法差异
- 各种外设备和主机并行工作
- 主机与各类外设速度极不匹配 极差很大
功能
- 缓冲管理 :为设备提供缓冲区以缓和CPU同设备的I/O速度不匹配的矛盾
- 设备分配
- 设备驱动
- 设备独立性和虚拟设备
文件系统管理
功能
- 文件存储空间管理
- 目录管理 :为了用户方便找到他所需要的文件
- 文件的读写管理和存取控制 : 存取控制就是防止文件被非法使用
用户接口
- 命令接口 : 为了便于用户直接或者间接地控制自己的作业(联机用户接口与脱机用户接口)
- 程序接口 : 为用户程序在执行中访问系统资源而设置的 由一组系统调用组成
- 图形接口
现代OS的新功能
-
系统安全
为保障数据的保密性、完整性和可用性 常使用的技术:认证技术、密码技术、访问控制技术、反病毒技术
-
网络功能和服务
网络通信、资源管理、应用互操作
-
支持多媒体
操作系统的结构设计
传统的操作系统结构
无结构OS
- 设计基于功能实现和获得高的效率
- OS是为数众多的一组过程的集合
- OS整体无结构
- 程序内部代码无结构
模块化OS结构
优点(相对于无结构OS)
- 提供OS设计的正确性、可理解性和可维护性
- 增强OS的可适应性
- 加速OS的开发过程
缺点
- 设计时对模块的划分与接口的规定不精确
- 模块间存在复杂的依赖关系
分层式OS结构
-
有序分层的概念: 现在物理机上加第一层软件 在经过精心设计和测试后 再加上更高层的软件 每层实现若干功能 最后满意的OS
-
分层设计的基本原则:每一层都仅适用其底层所提供的功能和服务
-
分层设计的关键问题:一个OS应分为几层 各层的次序如何确定
-
分层设计应考虑的因素