系统架构师-操作系统基础知识
操作系统基础知识
操作系统的定义
操作系统是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统的主要功能是管理计算机系统的资源,提供用户与计算机硬件之间的接口,为应用程序提供运行环境。
操作系统的作用如下:
- 通过资源管理,提高计算机系统的效率
- 改善人机界面,向用户提供友好的工作环境
操作系统的分类
- 单用户操作系统
- 批处理操作系统
- 分时操作系统
- 实时操作系统
- 网络操作系统
- 分布式操作系统
- 嵌入式操作系统
操作系统的特征
- 并发性
concurrency
- 共享性
sharing
- 虚拟性
virtual
- 不确定性
no-determinacy
操作系统的功能
- 进程管理
- 存储管理
- 文件管理
- 设备管理
- 作业管理
处理机与进程管理
进程的定义及其分类
- 进程是程序的一次执行,该程序可以和其他程序并发执行。 进程通常由程序、数据和进程控制块(
PCB
)组成。 - 进程和程序的区别为:程序是静态的指令序列,进程是为执行该程序的线程而保留的资源集。
- 进程的分类
- 系统进程
- 用户进程
- 父进程
- 子进程
进程的状态及其转换
- 进程的状态
- 就绪态
- 运行态
- 阻塞态
- 进程的三态模型
就绪态、运行态、阻塞态
- 五态模型
新建态、就绪态、运行态、阻塞态、终止态
- 五态模型
进程互斥与同步以及P,V操作
- 进程互斥:进程之间的竞争关系
- 临界资源
CR
:一次只允许一个进程访问的资源 - 临界区:访问临界资源的代码段。互斥临界区的管理规则是:有空即进、无空则等、有限等待、让权等待。
- 进程同步:进程之间的协调工作
- 信号量:是一个整型变量,可以对其进行两种操作:P操作和V操作。
- P,V操作:
- P操作:
P(S)
,表示申请资源,S=S-1,若S<0,则进程进入等待队列。- P操作可以如下过程表示:
1
2
3
4
5
6
7P(S) {
S--;
if (S < 0) {
// 将进程插入等待队列
wait(S);
}
}
- P操作可以如下过程表示:
- V操作:
V(S)
,表示释放资源,S=S+1,若S<=0,则唤醒等待队列中的一个进程。- V操作可以如下过程表示:
1
2
3
4
5
6
7V(S) {
S++;
if (S <= 0) {
// 将进程从等待队列中移除
signal(S);
}
}
- V操作可以如下过程表示:
- P操作:
- 利用P,V操作实现进程的互斥:
1
2
3
4
5semaphore mutex = 1;
P(mutex) {
// 临界区
}
V(mutex); - 利用P,V操作实现进程的同步:
1
2
3
4
5
6
7
8
9
10semaphore full = 0;
semaphore empty = 1;
// 生产者
P(empty);
// 生产者生产产品
V(full);
// 消费者
P(full);
// 消费者消费产品
V(empty);
进程通信与管程
- 进程通信:进程之间的信息交换,根据内容可分为控制信息的交换和数据的交换。
- 管程:是由一些共享数据,一组过程以及对共享数据进行操作的一组原语组成的软件模块。管程的特点是:只允许一个进程进入管程,其他进程必须等待。
进程调度与死锁
- 进程调度:是指操作系统根据一定的算法,将就绪队列中的进程调度到处理机上执行。调度方式分为可剥夺和不可剥夺。
- 进程调度的目标是:提高系统的吞吐量、减少系统的响应时间、提高系统的公平性。
- 进程调度的算法有:先来先服务、短作业优先、高响应比优先、时间片轮转(
round robin
)、多级反馈队列等。 - 死锁:是指两个或多个进程因争夺资源而造成的一种僵局。死锁的产生条件是:互斥、请求保持、不可剥夺、环路等待。
- 死锁的处理方法有:鸵鸟策略(不理睬策略)、死锁预防(破坏死锁产生的四个条件之一)、死锁避免(精心分配资源,动态回避死锁)、死锁检测与解除。
线程
- 线程是进程的一部分,是进程中的一个实体,是被操作系统独立调度和分派的基本单位。
- 线程的特点是:独立调度、独立栈、独立寄存器、共享数据、共享地址空间。
- 线程的优点是:提高程序的并发性、提高程序的响应速度。
存储管理
存储器的发展方向是:容量大、速度快、价格低、可靠性高。
存储管理的概念
- 存储器是计算机系统中的一种重要资源,是计算机系统中的数据存储设备。
- 存储器的分类
- 按存储介质分类:半导体存储器、磁盘存储器、光盘存储器
- 按存取方式分类:随机存储器、顺序存储器
- 按存储容量分类:主存储器、外存储器
- 存储器的层次结构
- 寄存器
- 高速缓存
- 主存储器
- 外存储器
- 逻辑地址:用户程序编译后,每个目标模块以0为基地址进行的顺序编址,他不是主存储器的实际地址。
- 物理地址:指主存储器中的实际地址。
- 存储空间:逻辑地址空间(地址空间)是逻辑地址的集合,物理地址空间(存储空间)是物理地址的集合。
地址重定位
- 地址重定位是指将用户程序的逻辑地址转换为物理地址的过程。
- 地址重定位的方式有:静态重定位、动态重定位。静态重定位是指在装入时将逻辑地址转换为物理地址,动态重定位是指在执行时将逻辑地址转换为物理地址。
存储管理的功能
- 主存储器的分配与回收
- 提高存储器的利用率
- 存储保护
- 存储扩充
存储器的管理方式
- 分区存储管理
- 分页存储管理
- 分段存储管理
- 段页式存储管理
- 虚拟存储管理
设备管理
计算机系统中,输入输出设备、辅存设备和终端设备统称为外部设备。
设备管理的任务是:提供对外部设备的访问、提供对外部设备的控制、提供对外部设备的分配。
设备管理的目标是:提高设备的利用率,为用户提供方便统一的界面。
设备管理的主要功能是:设备分配和释放、记录设备的状态、缓冲区管理、设备处理调度。
设备的分类
- 按设备的使用特性分类:存储设备、输入/输出设备、终端设备和脱机设备
- 资源分配角度分类:独占设备、共享设备、虚拟设备
- 按设备的从属关系分类:系统设备、用户设备
- 按数据的组织方式分类:块设备(
Block Device
)、字符设备(Character Device
) - 按数据传输速率分类:低速设备、中速设备、高速设备
- 按输入/输出对象分类:人机通信设备、机机通信设备
- 按是否可交互分类:交互设备、非交互设备
设备管理的主要技术
- 中断技术
- DMA技术(
Direct Memory Access, 直接存储器访问
) - 缓冲技术
- 虚拟设备与
SPOOLING
技术(Simultaneous Peripheral Operation On-Line, 外围设备联机
)
设备管理软件
- 设备驱动程序
- 中断处理程序
- 与设备无关的系统软件
- 用户层I/O软件
数据传输控制方式
- 程序控制方式
- 中断方式
- DMA方式
- 通道方式
磁盘调度算法
- 先来先服务(
FCFS
) - 最短寻道时间优先(
SSTF
) - 扫描算法(
SCAN
)
文件管理
文件是具有符号名的,在逻辑上具有完整意义的一组信息项的集合。
文件管理系统是操作系统中对文件进行统一管理的一组软件和相关数据的集合。
文件系统的功能:按名存取、统一用户接口、并发访问和控制、安全性控制、优化性能、差错恢复。
文件的类型
- 按文件性质和用途分类:系统文件、用户文件、库文件
- 按文件的安全属性分类:只读文件、可读写文件、可执行文件和不保护文件
- 按文件的组织方式分类:普通文件、目录文件、特殊文件(
设备文件
) - 按信息的保存期限分类:永久文件、临时文件、档案文件
- 按信息流向分类:输入文件、输出文件、输入/输出文件
文件的结构和组织
- 文件的结构是指文件的组织形式。
- 文件的逻辑结构:有结构的记录文件、无结构的字符流文件
- 文件的物理结构:连续结构、链接结构、索引结构、多个物理块的索引表
文件的访问方法
- 顺序访问
- 随机访问
文件存储设备管理
- 文件的存储空间分配
- 文件的存储空间回收
- 常用的空闲空间管理方法有:位示图法、索引法、链接法
文件控制块和文件目录
- 文件控制块(
FCB
):是文件系统中用来描述文件的数据结构。 - 文件目录:是文件控制块的有序集合。常见的文件目录结构有:一级目录结构、两级目录结构、多级目录结构。
文件的使用
- 文件的打开和关闭
- 文件的读写
- 文件的共享和保护
作业管理
作业管理和作业控制
- 作业由程序、数据和作业说明书组成。
- 作业管理程序是用来控制作业的进入、执行和撤销的一组程序。
- 作业可采用脱机和联机两种控制方式。
- 作业控制块(
JCB
):是操作系统中用来描述作业的数据结构。
作业状态及转换
- 作业的状态有:提交状态、后备状态、执行状态、完成状态。
作业调度及其常用调度算法
- 作业调度是完成从后备状态到执行状态的转变及从执行状态到完成状态的转变。
- 作业调度的算法有:先来先服务、短作业优先、高响应比优先、优先级调度、均衡调度。
用户界面
- 用户界面是计算机中实现用户与计算机通信的软、硬件的总称。
网络操作系统
网络操作系统
- 网络操作系统(
NOS
)是使网络中各计算机能方便而有效地共享网络资源,为网络用户提供所需的各种服务的软件和有关规则的集合。
网络操作系统的特征
- 硬件独立性
- 多用户支持
- 支持网络实时程序及其管理功能
- 多种客户端支持
- 提供目录服务
- 支持多种增值服务
网络操作系统的分类
- 网络操作系统的分为:集中模式、客户机/服务器模式、对等模式(
P2P
) - 目前流行的网络操作系统有:
UNIX
、Linux
、Windows
、NetWare
等。
常见操作系统简介
- Unix操作系统: Unix操作系统是一种多用户、多任务的分时操作系统。
- Windows操作系统: Windows操作系统是一种图形用户界面的操作系统。
- Linux操作系统: Linux操作系统是一种开放源代码的操作系统。
系统架构师-操作系统基础知识
https://muchen.fun/passages/系统架构师-操作系统基础知识/