操作系统引论
操作系统的目的和作用
目的
- 方便性:可以通过高级语言编写程序,或者使用OS封装的接口
- 有效性:提高计算机系统资源的利用率和系统的吞吐量
- 可扩充性:方便计算机硬件不断发展
- 开放性:遵守对应的国际标准,比如OSI
作用
- 作为用户与计算机硬件之间的接口
- 作为系统资源的管理者:处理机,存储器,IO设备,信息
- 实现对计算机资源的抽象
推动计算机发展的动力
- 不断提高的计算机系统资源的利用率
- 方便用户
- 器件不断的迭代
- 计算机体系结构不断地发展
- 不断提出新的应用需求
计算机系统的发展过程
未配置操作系统的计算机系统
- 人工操作方式:利用纸带等输入程序
- 脱机IO方式:解决人机矛盾以及IO设备和CPU速度不匹配的问题。先把程序从纸带写入磁带,再从磁带写入内存。减少了CPU空闲时间,提高了IO速度。
单道批处理系统
- 处理过程:先把作业用脱机IO的方式写入到磁带上,由监督程序依次把磁带上的程序一个个的调入内存,一次只能调入一个程序。
- 缺点:系统中的资源得不到充分的利用
多道批处理系统
- 基本概念:用户提交的作业鲜卑放置在外存上,排成后备队列,按一定的算法调入内存中。
- 优点:资源利用率高,系统吞吐量大。
- 缺点:平均周转时间长,无交互能力。
- 需要解决的问题:争用处理机、内存分配和保护、IO设备分配、文件的组织和管理、作业管理、用户与系统接口的问题。
分时系统
进程不进入硬盘,直接进入内存。
- 引入:为了满足用户对人机交互的需求,表现在:人机交互、共享主机。其配有多个显示器和键盘的终端组成,无处理能力,只有发送指令的能力。
- 关键问题:及时接收、及时处理。其中及时处理:作业直接进入内存,采用轮转允许的方式。
- 特征:多路性:多个终端连接到一台计算机;独立性:各个终端彼此互不干扰;及时性:用户的请求在很短是时间内响应,时间间隔更具人们能够接受的时间确定;交互性:可以请求操作系统提供多种服务。
实时系统
能够即使响应外部事件的请求
- 类型:工业控制系统、信息查询系统、多媒体系统、嵌入式系统
- 实时任务的类型:·周期性实时任务:外部设备周期性地发出激励信号;非周期性实时任务:无周期性,但是有截止时间;硬实时任务:必须在截止时间之前完成;软是实时任务:可以偶尔错过截止时间。
- 对象与分时系统,实时系统处理任务更加及时,终端仅限于某些特殊的业务,实时系统要求高度可靠。
微机操作系统
- 单用户单任务操作系统:只允许一个用户和一个程序上机
- 多用户多任务操作系统:允许一个用户上机,但是允许多个任务并发执行
- 多用户多任务操作系统
嵌入式系统
网络操作系统
分布式操作系统
操作系统的特性
并发
- 并行:多个事件同一时刻发生
- 并发:一段时间内宏观时间上有多个程序同时运行
- 进程:能独立运行并且能够作为计算机分配资源的单位
共享
- 互斥共享
- 同时共享
虚拟
- 分时复用技术:空闲时间服务其他的用户
- 空分复用:类似于电信的信道
异步
操作系统的运行环境
硬件支持
操作系统内核
与硬件紧密相关的模块、设备的驱动、运行频率较高的模块以及许多模板所公用的一些基本操作的集合。
- 支撑功能:中断、时钟、源于操作
- 资源管理:进程管理、存储器管理、设备管理
处理机的多重工作模式
用于区分OS的代码和用户的代码执行。
- 运行模式:用户态、内核态
- 用户态:也被称作目态,模式位为1
- 内核态:也被称作管态或者系统态,模式位为0
操作系统执行用户程序的时候处于用户态,当用户通过系统调用请求OS服务的时候,系统必须从用户态切换为内核态。
存在系统引导的时候,硬件会从内核态开始工作,OS加载,然后再用户态下执行用户程序。一旦有中断或者陷阱,硬件就会从用户态切换为内核态。
双重模式有保护手段,防止OS和用户程序收到错误的用户程序的影响:
- 特权指令:内核态下运行的指令,可能损害机器,处于内核态下才可以执行。
- 非特权指令:用户态下运行的指令。
这两种指令的限制是由硬件实现的。如果程序在用户态执行了特权指令,会触发权限出错信号,OS将其转入相应的错误处理程序。
中断与异常
操作系统的主要功能
处理机管理
- 进程控制
- 进程同步
- 进程通信
- 调度
存储器管理
- 内存的分配和回收
- 内存保护
- 地址映射
- 内存扩充
设备管理
- 缓存管理
- 设备分配
- 设备处理