# 操作系统概念
操作系统 (OS) 是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配;以提高给用户和其他软件方便的接口和环境;它是计算机系统中最基本的系统软件
- 操作系统是系统资源的资源管理者
- 向上层提供方便易用的服务
- 是最接近硬件的一层软件
操作系统的功能和目标 —— 作为系统资源的管理者
- 提供的功能
- 处理机管理
- 存储器管理
- 文件管理
- 设备管理
- 目标:安全、高效
操作系统的功能和目标 —— 向上层提供方便易用的服务
封装思想:操作系统把一些丑陋的硬件功能封装成简单易用的服务,使用户能更方便地使用计算机,用户无需关心底层硬件的原理,只需要对操作系统发出命令即可
联机命令接口
脱机命令接口
程序接口:可以在程序中进行系统调用来使用程序接口。普通用户不能直接使用程序接口,只能通过程序代码间接调用
操作系统的功能和目标 —— 作为最接近硬件的层次
- 需要实现对硬件机器的拓展
- 通常把覆盖了软件的机器称为扩充机器,又称之为虚拟机
- 操作系统对硬件的拓展:将 CPU、内存、硬盘、显示器、键盘等硬件合理地组织起来,让各种硬件能够相互协调配合,实现更多复杂的功能
# 操作系统的特征
一共四个特征:并发,共享,虚拟,异步
# 并发
并发:指两个或多个事件在同一时间间隔内发生,这些事件宏观上是同时发生的,但微观上是交替发生的。常考易混淆概念 —— 并行:指两个或多个事件在同一时刻同时发生
操作系统的并发指计算机系统中 "同时" 运行着多个程序,这些程序宏观上看是同时运行着的,而微观上看是交替运行的
操作系统就是伴随着 "多道程序激技术" 而出现的。因此,操作系统和程序并发是一起诞生的
注意 (重要考点)
单核 CPU 同一时刻只能执行一个程序,各个程序只能并发地执行
多核 CPU 同一时刻可以同时执行多个程序,多个程序可以并行地执行
# 共享
共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用
两种资源共享方式:
- 互斥共享方式
- 系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源
- 同时共享方式
- 系统中的某些资源,允许一个时间段内由多个进程 "同时" 对他们进行访问
所谓的 "同时" 往往是指宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问(即分时共享)
并发性指计算机系统同时存在多个运行着的程序
共享性是指系统中的资源可供内存中多个并发执行的进程共同使用的
并发性和共享性互为存在条件
# 虚拟
虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体 (前者) 是实际存在的,而逻辑上对应物 (后者) 是用户感受到的
虚拟技术中的 "时分复用技术"。微观上处理机在各个微小的时间段内交替着为各个进程服务
没有并发性,就谈不上虚拟性
虚拟技术:
- 空分复用技术 (如虚拟存储器技术)
- 时分复用技术 (如虚拟处理器)
# 异步
异步是指在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行并不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性
如果失去了并发性,即系统只能串行地运行各个程序,那么每个程序的执行会一贯到底。只有系统拥有并发性,才有可能导致异步性
# 操作系统的发展与分类
- 手工操作阶段
- 主要缺点:用户独占全机、人机速度矛盾导致资源利用率极低
- 批处理系统
- 单道批处理系统
- 引入脱机输入 / 输出技术 (用外危机 + 磁带完成),并由监督程序负责控制作业的输入、输出
- 主要优点:缓解了一定程度的人机速度矛盾,资源利用率有所提升
- 主要缺点:内存中仅能由一道程序运行,只有该程序运行结束之后才能调入下一道程序。CPU 有大量时间实在空闲等待 I/O 完成。资源利用率仍然很低
- 多道批处理系统(操作系统正式诞生)
- 每次往内存中读入多道程序
- 主要优点:多道程序并发执行,共享计算机资源。资源利用率大幅提升,CPU 和其他资源更能保持 "忙碌" 状态,系统吞吐量增大
- 主要缺点:用户响应时间过长,没有人机交互的功能 (用户提交自己的作业之后就只能等待计算机处理完成,中间不能控制自己的作业执行。如无法调试程序 / 无法在程序运行过程中输入一些参数)
- 单道批处理系统
- 分时操作系统
- 计算机以时间片为单位轮流为各个用户 / 作业服务,各个用户可通过终端与计算机进行交互
- 主要优点:用户请求可以被即时响应,解决了人机交互问题。允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在
- 主要缺点:不能优先处理一些紧急任务。操作系统对各个用户 / 作业都是完全公平的,循环地为每个用户 / 作业服务一个时间片,不区分任务的紧急性
- 实时操作系统
- 主要优点:能够优先处理一些紧急任务,某些紧急任务不需要时间片排队
- 在实时操作系统的控制下,计算机系统接收到的外部信号后及时进行处理,并且要在严格的时限内处理完事件。实时操作系统的主要特点是及时性和可靠性
- 硬实时操作系统:必须在绝对严格的规定时间内完成处理
- 软实时操作系统:能接受违反时间规矩
以下几种只了解:
- 网络操作系统:是伴随计算机网络的发展而诞生的,能把网络中各个计算机有机地结合起来,实现数据传送等功能,实现网络中各种资源的共享 (如文件共享) 和各台计算机之间的通信。
- 分布式操作系统:主要特点是分布性和并行性。系统中的各台计算机地位相同,任何工作都可以分布在这些计算机上,由它们执行、协同完成这个任务
- 个人计算机操作系统:如 Windows、MacOS,方便个人使用