操作系统(一)—— 计算机系统概述
一、计算机系统概述
1. 操作系统的基本概念
1)结构
2)定义
① 负责管协调硬件、软件等计算机资源的工作
② 为上层的用户和应用程序提供简单易用的服务
③ 一种系统软件
3)功能和目标
① 资源的管理者:处理器管理、存储机管理、文件管理、设备管理
② 向用户提供服务:
a. 命令接口:联机命令接口、脱机命令接口
b. 程序接口:由一组系统调用组成
c. GUI用户图像界面(最终还是通过调用程序接口实现)
③ 对硬件机器的扩展
4) 操作系统的四个特征
① 并发
a. 概念:两个或多个事件在同一时间间隔内发生。宏观上是同时的,微观上是交替发生的
b. 操作系统的并发指的是 计算机系统中同时存在多个运行着的程序
② 共享
a. 概念:资源共享,系统中的资源可供内存中多个并发执行的进程共同使用。
b. 分类:互斥共享方式、同时共享方式。【注】“同时”往往是宏观的、而在微观上是交替的(分时共享)
c. 并发与共享的关系:并发和共享是相互依赖的,二则相辅相成
③ 虚拟
a. 概念:把一个物理上的实体,变为若干个逻辑上的对应物
b. 如“空分复用”、“时分复用”
【注】虚拟有意义的前提是并发
④ 异步
概念:多道程序下,允许多个程序并发执行,但是由于资源有限,进程的执行不是一贯到底,每个进程是走走停停,以不可预知的速度推进。
【注】异步有意义的前提也是并发
⑥ 考点
a. 并发与并行的区别
b. 并发和共享互为条件,没有并发和共享,虚拟和异步就没有意义,故并发和共享是操作系统的两个最基本特征。
2. 操作系统的发展与分类
1)手工操作阶段
这时候还没有操作系统。
缺点:用户独占主机,资源利用率低、CPU切换依赖人工,利用率低
2)批处理阶段
① 单道批处理系统
a. 目的:解决人机矛盾及CPU和IO设备速率不匹配的矛盾
b. 特征:自动性、顺序性、单道性
② 多道批处理系统
a. 目的:为了进一步提高资源利用率和系统的吞吐量
b. 特征:多道、宏观上并行、微观上串行
【注】多道批处理系统不采用某些机制来提高某一技术方面的瓶颈问题,而是让各个组成部分尽量去“忙”,即:当一道程序因IO请求而阻塞时,CPU就立即去运行另一道程序。
c. 多道批处理系统需解决的问题:
i. 如何合理分配处理器
ii. 多道程序的内存分配问题
iii. IO设备怎么分配
iv. 如何保证多道程序的安全性和一致性
d. 批处理系统优缺点
i. 优点:CPU和资源利用率高;系统吞吐量大
ii. 缺点:用户响应时间长较长;无交互能力,用户不知道程序运行状态,也不能控制计算机
3)分时操作系统
① 原理:为了提高响应速率,将处理器的运行时间分为很短的时间片,按时间片轮流把处理器分给各个联机任务
② 特征:同时性、交互性、独立性、及时性
4)实时操作系统
① 原理:某个时间限制内,完成某些紧急任务而不需要时间片排队
② 分类:硬实时系统(飞机的飞行控制系统)、软实时系统(订票系统)
③ 特征:及时性、可靠性
5)网络操作系统
① 原理:通过网络将多台计算机有机结合
② 特点:网络中的资源共享、每台计算机通过网络通信
6)分布式操作系统
① 原理:多台计算机相互协同完成同一任务。
② 特征:系统中的任意两台计算机通过网络通信;系统中的每台计算机的地位一样,没有主从之分;每台计算机资源共享;每台计算机都是一个子系统;任何工作都可以分布在几台计算机中并行工作,系统完成。
7)个人计算机操作系统
3. 操作系统运行环境
1)运行机制
① 概念:
a. 指令
i. 概念:处理器能识别和执行的最基本的命令
ii. 分类:非特权指令、特权指令(不允许用户程序使用)
b. CPU状态(由寄存器标记)
i. 用户态(目态):此时只能执行非特权指令
ii. 核心态(管态):此时两种指令都能执行
c. 程序分类
i. 应用程序
ii. 内核程序
② 操作系统的内核结构
③ 操作系统的体系结构
分为大内核和小内核体系
2)中断和异常
① 中断机制的诞生
a. 目的:为了实现多道程序并发执行,引入了中断机制
b. 原理:发生中断就意味着需要操作系统介入,开展管理工作
② 中断的概念和作用
a. 中断发生时,CPU立即进入核心态
b. 中断发生后,当前运行的进程暂停运行,由操作系统内核对中断进行处理
c. 对于不同的中断信号,操作系统会有不同的处理
【作用】只要发生了中断,就意味着操作系统介入开展管理工作。由于操作系统的管理工作(如进程切换、分配IO设备等)需要使用特权指令,CPU要从用户态转变为核心态。中断可以是CPU从用户态切换到核心态(且是唯一途径),使操作系统获得计算机的控制权。有了中断机制,才能实现多道程序并发执行。
③ 中断的分类(根据信号的来源:CPU内部还是外部,与当前执行的指令是否有关)
a. 内中断(异常、陷入、例外):自愿中断(指令中断)、强迫中断(硬件故障或软件中断)
b. 外中断:外设请求、人工干预
④ 外中断的处理
a. 每条指令执行结束后,CPU检查是否有外部中断信号
b. 若有外部中断信号,则需要保护被中断进程的CPU环境
c. 根据中断信号类型转入相应的中断处理程序
d.处理好后,恢复原进程的CPU环境并退出中断,返回原进程下继续执行
3)系统调用
① 概念和作用
应用程序通过系统调用请求操作系统的服务。系统中的各种共享资源都由操作系统统一掌管,因此在用户程序中,凡是与资源有关的操作(如存储分配、/O操作、文件管理等),都必须通过系统调用的方式向操作系统提出服务请求,由操作系统代为完成。
这样可以保证系统的稳定性和安全性,防止用户进行非法操作。
【注】系统调用 相关处理涉及到系统资源,故需要在特权指令,因此系统调用的相关处理实在核心态下完成的
② 系统调用和库函数的区别
③ 系统调用背后的进程
a. 传递系统调用参数
b. 执行陷入指令(int -> interrupt),CPU从用户态切换到核心态
c. 执行系统调用相应的服务程序
d. 执行结束后,切换到用户态,再返回用户程序
【注】系统调用发生在用户态,系统调用的处理发生在核心态