第一章计算机系统概述
操作系统的概念与功能
概念
- 负责管理协调硬件、软件等计算机资源,为上层用户、应用程序提供简单易用的服务,是一种系统软件
功能和目标
-
资源的管理者
- 处理机管理
- 存储器管理
- 文件管理
- 设备管理
-
向上层提供服务
-
普通用户
- GUI用户图形界面
-
命令接口
-
联机命令接口
- 小黑窗就是一种交互式命令接口
-
脱机命令接口
-
-
程序员
-
程序接口
- 即系统调用
-
-
-
对硬件机器的扩展
- 通常把覆盖了软件的机器称为扩充机器,又称为虚拟机
操作系统的特征
并发
- 并发性是指程序宏观上同时运行,微观上交替运行。
- 随着多道程序技术而出现的,因此操作系统和程序并发是一起诞生的
- 单核CPU同一时刻只能执行一个程序,各个程序只能并发执行,多核可以并行
- 操作系统最基本的特性
共享
- 资源共享,系统中的资源可供内存中多个并发执行的进程共同使用,是第二基本的特征
-
两种方式
- 互斥共享
-
同时共享
-
一个时间段内多个进程“同时”访问
- 大多数情况这个同时是宏观上的
-
虚拟
- 把一个物理上的实体变为若干逻辑上的对应物。用于实现虚拟的技术称为虚拟技术
-
虚拟处理器技术
- 时分复用技术
-
虚拟存储器技术
- 空分复用技术
异步
- 多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性
OS的发展与分类
手工操作阶段
批处理阶段
-
单道批处理系统
- 引入脱机输入/输出,并由监督程序负责控制作业的输入、输出
-
缺点
- 内存中仅有一道程序运行
- CPU有大量的时间是在空闲等待I/O完成
-
多道批处理系统
- 每次往内存中读入多道程序,并发执行
-
缺点
-
用户响应时间长
- 提交作业后就只能等待计算机处理完成,中间不能对其进行控制
-
没有人机交互功能
-
分时操作系统
- 计算机以时间片为单位轮流为各个用户/作业服务
-
优点
- 解决了人机交互问题
-
缺点
- 不能优先处理一些紧急任务
实时操作系统
-
优点
- 能够优先响应一些紧急的任务
- 及时性和可靠性
-
两类
-
硬实时系统
- 必须在绝对严格的规定时间内完成处理
-
软实时系统
-
能接受偶尔违反时间规定
- 12306
-
-
网络操作系统
- 把网络中各个计算机有机结合起来,实现数据传送,实现网络中各种资源的共享和各台计算机之间的通信
分布式操作系统
- 分布性和并行性
- 各台计算机地位相同,并行协同完成任务
个人计算机操作系统
运行机制
两种指令
- 特权指令
- 非特权指令
两种处理器状态
-
内核态(核心态、管态)
-
此时运行的是内核程序,可以执行特权指令
- PSW(程序状态寄存器)其中有个位1表示内核态,0表示用户态。
- 开机的时候就是处于内核态
- 用户态到内核态由中断引发,硬件自动完成变态过程,触发中断信号意味着系统强行夺回CPU的使用权
-
-
用户态(目态)
- 运行的是应用程序,只能执行非特权指令
两种程序
-
内核程序
- 操作系统最核心的部分,操作系统可以只有内核,但操作系统的功能不一定全在内核中,例如GUI
- 管理者
-
应用程序
- 只能使用非特权指令
-
CPU能判断出一条指令时特权还是非特权
中断和异常
中断的作用
- 操作系统夺回CPU使用权的唯一途径
- 没有中断,就没有并发
中断的类型
-
内中断(“异常”)
- 与当前执行的指令有关,中断信号来源于CPU内部。CPU执行指令的时候会检查
-
例子
-
陷入指令
- 应用程序主动请求系统内核的服务时会执行一条特殊的指令,会引发一个内部中断
- 应用程序主动把CPU控制权交给操作系统
- 例如系统调用
- 注意不是特权指令
-
故障(fault)
- 错误引起的,可能被内核程序修复,修复完后把CPU使用权还给应用程序。例如缺页故障
-
中止(abort)
- 致命错误,不会把CPU还给应用程序。执行非法指令例如除数0、用户态执行特权指令
-
-
外中断
- 与当前执行的指令无关,中断信号来源于CPU外部
- 每一条指令执行结束时(指令周期末尾),CPU会例行检查是否有外部中断信号。
-
例子
-
时钟中断
- 时钟部件发来的中断信号
-
I/O中断
- 输入输出设备发来中断信号
-
-
不少教材中的中断是指外中断,而把内中断叫做异常
中断机制基本原理
- 不同的中断信号需要不同的中断程序处理。CPU检测到中断信号后,会根据中断信号的类型去查询“中断向量表”,来找到中断处理程序在内存中的位置
系统调用(广义指令)
应用程序可以通过系统调用来请求获得操作系统内核的服务
凡是与资源有关的操作,都必须通过系统调用的方式向操作系统内核提出服务请求。
按功能分类
- 设备管理
- 文件管理
- 进程控制
- 进程通信
- 内存管理
操作系统体系结构
大内核/单内核/宏内核
- 与硬件紧密关联
-
优点
- 高性能
-
缺点
- 内核代码庞大,结构混乱,难以维护
微内核
- 一些系统资源管理功能更多的是对数据结构的操作,不直接涉及硬件,因此有些人将其从内核中去掉,
-
优点
- 内核功能少,结构清晰易维护
-
缺点
- 需要频繁地在核心态和用户态之间切换,性能低