# Ch1
计算机系统自下而上可以大致分为硬件、操作系统、应用程序、用户
OS 管理各种硬件,为应用程序提供基础,充当计算机硬件与用户之间的中介,是计算机系统中最基本的系统软件
# 基本概念
# 操作系统的功能
- 管理计算机系统资源
处理机管理(进程 / 线程管理)、存储器管理、设备管理、文件管理,向用户提供接口 - 作为用户与硬件系统之间的接口
- 命令接口(联机控制方式和脱机控制方式)
- 联机命令接口也称为交互式命令接口,由一组键盘操作命令组成
- 脱机命令接口也称批处理命令接口,由一组作业控制命令组成
- 程序接口
- 由一组系统调用组成
- 实现了对计算机资源的补充
虚拟机
# 操作系统的特征
最基本的两个:并发与共享
- 并发
多道程序交替运行(和并行不一样) - 共享
- 互斥共享
- 同时访问
- 虚拟
- 异步
# 发展历程
# 手工操作阶段(无操作系统)
# 批处理阶段
- 单道批处理
单道程序
- 自动性:一批作业自动地逐个运行
- 顺序性:顺序进入内存、顺序运行
- 单道性:内存中仅有一道程序运行,一道程序运行完才换入下一道
- 多道批处理
多道,宏观上并行,微观上串行
- 多道:内存中同时存放多道相互独立的程序
- 宏观上并行
- 微观上串行:轮流占有 CPU,交替执行
缺点:用户响应时间长,不提供人机交互能力,用户既不能了解自己的程序的运行情况,又不能控制计算机
# 分时操作系统
分时技术指将运行时间分成时间片,轮流分配处理器
分时操作系统指多个用户通过终端同时共享一台主机,将 CPU 时间划分为很短的时间片,并以轮转的方式将这些时间片分配给各个用户或任务,从而实现多用户共享计算机资源
特征:
- 同时性:也称多路性,多个用户可以同时使用
- 交互性:用户可以与计算机进行交互(区别于批处理系统)
- 独立性:用户可以独立运行,互不干扰
- 及时性:用户请求可以在很短时间内获得响应
缺点: - 上下文切换带来系统开销。
- 若用户过多,响应时间可能变长。
- 系统复杂度高,需要良好的内存管理和调度算法
# 实时操作系统
分为硬实时系统(必须在绝对截止时间前完成,否则会导致灾难性后果)和软实时系统(希望在时限内完成,偶尔超时可容忍,影响用户体验但不致命)
主要特点: 及时性和可靠性
# 网络操作系统和分布式计算机系统
网络操作系统是指在独立计算机上运行的操作系统,它通过网络连接其他计算机,实现资源共享(如文件、打印机等),但每台计算机仍保持独立控制(常见的客户端 / 服务器模式)
分布式系统是由多台独立计算机通过网络互联,协同工作,对外表现为一个单一、统一的系统。用户感觉不到多台机器的存在。系统中任意两台计算机通过通信方式交换信息;每台计算机都具有同等的地位,没有主机从机;每台计算机上的资源为所有用户共享;系统中的任意台计算机可以构成一个子系统,还能重构;人和网工作都可以分布在机台计算机上。主要特点:分布性和并行性
# 个人计算机操作系统
# 操作系统的运行环境
# 处理器运行模式
在计算机系统中,CPU 执行两种程序:内核程序和用户自编程序
特权指令:不允许用户直接使用的指令,不如 I/O 指令、关中断指令、内存清零指令、修改 PSW 等
非特权指令:允许用户直接使用的指令
在具体实现上,将 CPU 的运行模式划分为用户态和内核态
大多数操作系统的内核包括:
- 时钟管理
- 中断机制
- 原语
操作系统内核中执行的一个不可分割的、原子性的基本操作。它是一段用机器指令编写的程序,在执行过程中不能被中断,必须一次性执行完毕,具有原子性、不可中断性、运行在内核态
定义原语的直接方法是关中断
常见的有 P 操作(wait 操作)和 V 操作(signal 操作)、创建进程原语、撤销进程原语、消息发送原语、消息接收原语、资源申请和释放原语 - 系统控制的数据结构及处理
比如