操作系统(OS)是计算机上第一层软件,对硬件系统的首次扩充。主要作用管理好这些设备,提高利用率和吞吐量,并为用户和应用进程提供一个简单的接口,便于使用。
操作系统的作用和目标
操作系统目标
- 方便性
- 未配置OS的需要机器语言才能运行
- 有效性
- 提高系统资源利用率
- 提高系统吞吐量:合理组织计算机的工作流程,加速程序运行,缩短运行周期
- 可扩充性
- 可扩充性好坏与OS结构十分紧密联系 OS结构发展:无结构···模块化结构···层次结构···微内核结构(可以方便添加新的功能模块)
- 开放性
- 遵循世界标准规范,特别是遵循开放系统互连OSI国际标准
操作系统作用
- OS作为用户与计算机硬件系统之间的接口
- OS处于用户与计算机系统之间,用户通过OS来使用计算机系统
- 通过命令、系统调用、图标-窗口方式来完成通信
- OS作为计算机系统资源的管理者
- 这些资源分为四大类:处理机、存储器、I/O设备、文件(数据和程序)
- 处理机 : 用户分配和控制处理机
- 存储器 : 主要负责内存分配和回收
- I/O设备: 负责I/O设备的分配(回收)操作
- 文件管理: 用于实现对文件的存取、共享和保护
- OS 实现了对计算机资源的抽象
- 完全无软件的计算机系统(裸机)
- 裸机上铺设I/O设备称为扩充器或虚拟机
- I/O 设备实现对计算机硬件操作的第一层抽象
- 文件管理实现对计算机硬件操作的第二层抽象(功能更强的虚拟机)
推动操作系统发展的主要动力
- 不断提高计算机的利用率
- 方便用户
- 硬件的不断更新
- 计算机体系结构的不断发展
- 不断提出新的应用需求
操作系统的发展过程
未配置操作系统的计算机系统
- 人工操作方式
- 人工操作穿孔的纸带(卡片)
- 缺点:
- 用户独占全机
- CPU等待人工操作
- 人工操作方式严重降低了计算机利用率
- 脱机输入/输出方式
- 将原有纸带装入纸带输入机,在一台外围机的控制下把纸袋上的数据(程序)放到磁盘上
- 有点:
- 减少CPU空闲时间
- 提高I/O的速度
单道批处理系统
单道批处理系统的处理流程
- 监督程序将磁带上的作业一个一个顺序执行
单道批处理系统缺点
- 系统中资源得不到重复利用
多道批处理系统
- 多道批处理系统处理流程
- 用户提交作业在外存上,排成一个队列(后备队列),作业调度根据一定算法,一次取多个调入内存,减少CPU的空当时间
- 多道批处理系统的缺点
- 资源利用率高
- 系统吞吐量达
- CPU和其他资源保持“忙碌”状态
- 仅当作业完成、或运行不下去时在进行切换,系统开销小
- 平均周转时间长
- 无交互能力
多道批处理系统需要解决的问题
- 问题:
- 处理机挣用问题
- 内存分配和保护问题
- I/O 设备分配问题
- 文件的组织和管理问题
- 作业管理问题
- 用户与系统的接口问题
分时系统
分时系统的引入
- 人——机交互
- 共享主机
- 分时系统是指,在一台计算机上连接多个鼠标、显示器的终端所组成的系统,该系统运行多个用户同时访问,共享主机资源
分时系统的关键问题
- 及时接受
- 及时处理
分时系统的特新
- 多路性
- 独立性
- 及时性
- 交互性
实时系统
时间作为关键参数,收到某些信号“及时”、“实时”的反响
实时系统的类型
- 工业控制系统
- 信息查询系统
- 多媒体系统
- 嵌入式系统
实时任务类型
- 周期性和非周期性实时任务
- 硬实时任务和软实时任务 (必须小于截至截止时间,不一定小于截止时间)
实时系统与分时系统比较
- 多路性
- 独立性
- 及时性
- 交互性
- 可靠性
微机操系统作发展史
- 单用户单任务操作系统
- 单用户多任务操作系统
- 多用户多任务操作系统
并发
并发和并行
- 并行
- 两个或多个事件在同一时刻运行
- 并发
- 两个或多个事件在同一时间间隔内发生
引入进程
在属于同一个计算程序和I/O程序之间只能顺序执行,即只有在计算程序执行告一段落后,才允许I/O程序执行,反之在执行I/O操作时计算程序也不能执行。但在为计算程序和I/O程序分别建立一个进程后两个进程可以并发执行
- 进程
- 在系统中能够独立运行并作为资源分配的基本单位,它是由一组机器指令、数据、堆栈等组成的,是以独立的活动实体。多个进程之间可以并发执行和交换信息。
共享
- 共享与操作环境下的共享(含义不一致)
- 共享
- 某种资源能被大家使用
- 操作系统环境下的共享(资源复用)
- 指操作系统中的资源可供内存中多个并发执行的进程共同使用
- 共享
互斥共享方式
系统中的某些资源虽然可以提供给多个进程(线程)使用,但在规定的时间内只有一个进程访问资源,为此建立了互斥访问
同时访问方式
系统中有一类资源允许同一时间由多个进程“同时”访问
并发和共享是多用户(多任务)OS的两个最基础的特征。
虚拟
时分复用技术
广泛利用时分复用技术来实现虚拟处理机、虚拟设备等,是资源利用率提高。原因:利用某设备为一个用户服务空闲时间又转去为其他用户服务,使得设备得到充分利用。
- 虚拟处理技术
- 虚拟设备技术
空分复用技术
将一个频率范围比较宽的信道划分为多个窄的信道(称为频带),其中的任何一个频带仅供一对用户通话。
操作系统的主要功能
处理机管理功能
进程控制
- 进程控制的主要功能也就是作为穿件进程、撤销(终止)已接收的进程,控制进程在运行时状态的转换
进程同步
- 进程互斥方式
- 访问临界资源时采用互斥:为每一个临界资源配置一把锁(W),当锁打开时才可以访问,关闭时禁止访问
- 进程同步
- 多个进程去做一件事情,有同步机构对他们执行次序加以协调:信号量机制
- 进程互斥方式
进程通信
- 由源进程利用发送消息命令直接将消息挂载到目标进程得到消息队列上,由目标进程利用接收命令消息队列中取出消息
调度
作业调度
- 任务是从后备队列中按照一定的算法选择处若干个作业,为他们分配运行所需资源,再讲这些作业调入内存后, 分别为他们建立进程,使它们成为可能获得处理机的就绪,并将它们插入到就绪队列中
进程调度
- 从进程的就绪队列中按照一定的算法选出一个进程,将处理机分配给他,并为他设置运行现场,使其投入执行
存储器管理功能
功能:
为多道程序的运行提供良好的环境,提高存储器利用率,方便用户使用,从逻辑上扩充内存。
内存分配回收
- 为每道程序分配内存空间,使他们“各得其所”
- 提高存储器利用率,减少不可用的内存空间
- 允许正在运行的程序申请附加内存空间,适应程序动态增长
- OS 内存分配动态和静态两种方式:
- 静态
- 每个作业的内存空间在装入时确定,运行期间不能申请新的空间,不能在内存中移动
- 动态
- 每个作业的内存空间在装入时确定,运行期间可以继续申请新的空间,以适应程序数据的动态增长,运行在作业内存中移动
- 静态
内存保护
- 确保每道用户程序都仅能在自己的空间内运行,彼此互不干扰
- 觉不允许用户程序访问操作系统的程序和数据,也不允许用户程序转移到非共享的其他用户程序中执行
- 内存保护机制设置两个界限寄存器
- 对每条指令所要访问的地址进行检查,如发生越界,发出越界中断请求,停止程序的执行
地址映射
- 逻辑空间中的逻辑地址转换为空间中与之对应的物理地址
内存扩充
- 借助于虚拟存储技术,从逻辑上扩充内存容量,让用户感觉到内存容量比实际大的多,让用户程序能并发运行
- 请求调入功能
- 置换功能:将不需要挂起至硬盘,需要的转入内存
设备管理功能
主要任务:
完成用户进程提出的I/O请求,为用户分配所需的I/O设备,并完成指定的I/O操作
提高CPU和I/O的利用率,提高I/O速度,方便用户使用I/O设备
- 缓存管理
- I/O设备和CPU设备之间引入缓存,有效的缓和CPU和I/O设备速度不匹配的矛盾,提高CPU的利用率,进而提高系统吞吐量
- 常见缓存机制 都由 OS缓存机制管理:
- 单缓存机制
- 能够实现双向同时传送数据的双缓存机制
- 能够供多个设备同时使用的公共缓存池机制
- 设备分配
- 根据用户进程的I/O请求、系统现有资源情况及按照某种设备分配策略,为之分配所需设备
- 设备处理
- 实现CPU和设备控制器之间的通信
文件管理功能
功能:
对用户文件和系统文件进行方便用户使用,并保证文件安全性。
- 文件存储空间管理
- 为每个文件分配必要的空间,提高外存利用率,进而提高文件系统的存、取速度。为此操作系统设置相应数据结构,堆内存空间进行分配和回收
- 目录管理
- 文件读写管理和保护
- 文件读写管理
- 文件保护
操作系统与用户的接口
- 用户接口
- 联机用户接口
- 脱机用户接口
- 图形用户接口
- 程序接口
现代操作系统新功能
- 系统安全
- 认证技术
- 密码技术
- 访问控制技术
- 反病毒技术
- 网络的功能和服务
- 网络通信
- 资源管理
- 应用互操作
- 支持多媒体
- 接纳控制功能
- 实时调度
- 多媒体文件的存储