操作系统简介
目标
- 方便性
- 命令与图形界面–交互
- 有效性
- 提高资源利用率
- 提高系统吞吐量
- 可拓展性
- 便于修改和增加功能
- 开放性
- 系统能支持世界标准规范
作用
- 作为用户与计算机硬件系统之间的接口
- 作为计算机系统资源的管理者
- 处理机管理:分配和控制处理机
- 存储器管理:分配及回收内存
- I/O设备管理
- 文件管理
- 对于多用户系统,需要管理共享资源,避免发生冲突
- OS实现对计算机资源的抽象(隐藏细节,扩充功能)
操作系统发展
发展动力
- 不断提高计算机资源利用率的需要
- 方便用户
- 器件的不断更新换代——功能增多,架构设计问题
- 计算机体系结构的不断发展
- 不断提出新的应用需求
发展过程
未配置操作系统
- 人工操作方式
- 用户独占全机及CPU等待人工操作
- 人机矛盾+CPU与I/O设备速度不匹配矛盾
- 脱机I/O方式
- 特点:减少了CPU的空闲时间、提高I/O速度
联机——主机——CPU参与
脱机——外围机——外围设备,没有CPU参与
- 单道批处理系统
- 引入概念:监督程序
- 解决问题:连续作业
- 特征:自动性、顺序性、 单道性
- 优点
- 减少人工操作,解决了作业的自动接续
- 缺点
- 资源利用率不高: CPU、内存
- 平均周转时间长(周转时间:提交作业到收到作业的时间间隔)
- 没有交互能力
多道批处理系统(容易出计算题)
-
引入概念:调度程序
-
解决的问题
- 处理机征用问题
- 内存分配与保护问题
- I/O设备分配问题
- 文件的组织和管理问题
- 作业管理问题
- 用户与系统的接口问题
-
特点:系统中同时驻留(存储,之后的运行是交替进行的)多个作业
-
优点
- 提高资源利用率
- 提高系统吞吐量 :CPU和其他资源保持“忙碌”+系统调度少,开销小
-
缺点
- 平均周转时间长
- 无交互能力
例题
解
单道运行
多道运行安排(抢占模式,并只有一个I/O设备)
分时系统
- 引入概念:
- 操作系统:一组控制和管理计算机硬件和软件资源、合理地对各类作业进行调度,以及方便用户使用的**程序的集合 **
- 分时系统:一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户共享1主机中的资源,各个用户都可通过自己的终端以交互方式使用计算机
- 解决问题:交互性
- 关键问题
- 及时接收
- 输入缓冲区
- 多终端卡
- 及时处理
- 交互任务应在内存
- 采用轮转运行方式,响应时间短。引入“时间片”2概念
- 及时接收
- 实现类型
- 单道分时系统:进程切换
- 具有前后台:前台作业优先处理,后台作业运用批处理方式并且后台作业允许延迟处理
- 多道分时系统 :不需要调入、出开销
单道和多道的区别就是内存中有几个程序、任务
- 特征
响应时间
改善方法:
- 采用重入码减少信息的对换量
- 采用虚拟存储技术,减少信息对换量
实时系统
- 引入场合:要求及时处理的场合
- 引入概念
- 实时计算:可以定义为这样一类计算:系统的正确性,不仅由计算的逻辑结果来确定,而且还取决于产生结果的时间.
- 实时系统 :系统能及时响应外部事件的请求,在规定的时间内完成对事件的处理,并控制所有实时任务协调一致地运行
实时系统的类型
- 工业操作系统:硬实时、可靠性
- 信息查询系统:软实时、多路性
- 多媒体系统:多个信息源任务的协调一致
- 嵌入式系统:有限的资源上的可裁剪性5
需要知道一些系统是属于哪种系统
实时任务类型
- 按任务执行是否呈现周期性来划分
- 周期性(联系周期) 如传感器
- 非周期性(联系开始或完成截止时间)
- 根据对截止时间的要求
- 软实时
- 硬实时
实时、分时比较
特点 | 分时 | 实时 |
---|---|---|
多路性 | 多个用户在多个终端上的操作 | 控制系统控制多个信息源 |
独立性 | 虚拟独占 | 信息查询系统中每个用户独立查询 |
及时性 | 实时系统的及时性要求更高 | |
交互性 | 分时系统的交互性更强 | |
可靠性 | 要求高 |
微机操作系统发展
需要知道一些典型的系统是属于哪种系统
- 单用户单任务
- CP/M
- MS-DOS
- 单用户多任务
- Windows系列
- 多用户多任务(分时系统一定是多用户)
- unix
- linux
- solaris
操作系统基本特征
并发
并行VS并发
都是对两个或多个事件来说,但是并行强调同一时刻,并发强调同一时间间隔
多道是并发的原因
进程
定义:系统中能独立运行并作为资源分配的基本单位。引入线程后,独立运行的单位变为线程。
注意点:
- 一个程序可以运行多个进程
- 任务范围广,可以是作业等;进程特指操作系统中管理运行的一个单位
共享(同时段同对象)
定义:系统中资源可供内存中多个并发执行的进程共同使用
互斥共享:一段时间只允许一个进程访问该资源
同时访问:微观上任是互斥的
并发和共享是操作系统最基本的特征
共享以并发为条件,有效共享是并发发挥价值的基础
虚拟
- 实现虚拟的方法:复用
- 时分复用: 虚拟处理机技术,虚拟设备技术
- 空分复用: 虚拟存储——磁盘管理
物理一体,逻辑划分
虚拟以并发和资源共享为前提
异步
- 含义:走走停停、运行进度不可预知()
- 正确性:虚拟的顺序性6
- 影响:难以重现错误、不确定性
异步性是并发和共享的必然结果
OS的主要功能(自学)
管理
处理机
功能
多道环境下,处理机的运行及分配都是以进程为单位,因此处理机管理可归结为进程管理
- 进程控制
- 创建/撤销进程
- 迁移进程状态
- 一般由进程控制原语完成
- 进程同步
- 使多个进程有条不紊地运行,应建立同步机制
- 包括进程互斥/同步,次序协调
- 进程通信
- 源于进程合作,分为直接通信和间接通信
- 调度
- 作业调度:为作业分配必要资源,调入内存建立进程,并使之进入就绪队列
- 进程调度:从就绪队列中选出进程,分配CPU,使之运行
- 调度算法:FCFS、优先权
主要任务
存储
功能
- 内存分配
- 动态分配:作业在内存中可移动
- 静态分配
- 需要内存分配的数据结构及内存分配和回收功能
- 内存保护
- 如越界检查
- 地址映射
- 内存扩充
- 利用虚存技术,从逻辑上扩充内存容量——系统应有请求调入和置换功能以支持虚存技术
主要任务
方便用户使用,且提高存贮器利用率
设备
功能
- 缓冲管理
- 缓冲区:用来解决CPU-I/O矛盾
- 设备分配
- 包括:设备,设备控制器,I/O通信的分配和回收
- 设备处理
- 指控制设备进行实际的操作,包括读、写等以及向CPU发中断
- 设备处理/驱动程序应能根据用户的I/O请求,自动地构成通道程序
- 设备独立性和虚拟设备
- 独立性,即program与设备无关性,使program易于重定向,增加了可移植性。
主要任务
提高I/O利用率和速度,方便用户
文件
功能
- 文件存贮空间的管理
- 目录管理
- 按名存取,提高速度
- 文件的读、写管理和存取控制(保护)
主要任务
方便用户,提供安全性
用户接口
命令接口
OS 的结构设计
无结构
一组过程集,各过程可相互调用,也叫整体结构(没有封装)
linux也是整体结构
- 缺点:逻辑复杂,维护困难
- 优点:执行效率高
模块式
通过分解来控制大型软件的复杂度:对功能进行划分,明确定义模块的接口
- 缺点:接口不确定,模块依赖关系可能复杂,无序性
- 优点:可维护性,可适应性,加快开发过程——并行开发模块
层次式
有序分层:可简化设计的负责度,下层为上层提供服务
典型的系统: 因特网
层次设置应考虑的因素
- 程序嵌套
- 运行频率:层次过多,运行效率会随之下降
- 公用模块
- 用户接口
微内核
前三代称为传统OS
Windos,Salaries
定义(描述)
-
足够小的内核
-
基于C/S模式
-
应用"机制和策略分离"7的策略
-
采用面向对象技术
-
功能:
- 中断
- 时钟管理
-
优点:
- 提高系统的灵活性和可扩充性
- 提高软件的可靠性
- 适合于分布式系统 :C/S
-
缺点:
- 效率低:多次上下文切换增加系统额外开销
批处理也是共享,只不过共享的方式不一样 ↩︎
一小段CPU的控制权。每个作业每次只能运行一个时间片。以避免一个作业长期独占处理机。 ↩︎
用户不仅仅指人,是指产生、提交任务的人、应用程序、传感器等 ↩︎
虚拟独占。独占和共享要看是针对用户还是进程。真正意义上的物理独占:人工时代 ↩︎
裁剪可以使那些不被编译的模块就自然地不包含在系统中而被删掉了,这样就可以大大减小系统所占用的内存。 ↩︎
程序执行的过程按逻辑进行,操作系统保证异步的时候依旧能够满足逻辑的顺序 ↩︎
所谓机制,是指实现某一功能的具体执行机构。而策略,则是在机制的基础上借助于某些参数和算法来实现该功能的优化,或达到不同的功能目标 ↩︎