本文最后更新于 2024-03-23,欢迎来到我的Blog! https://www.zpeng.site/

第一章、操作系统概述

1. 操作系统的功能

(1)操作系统作为系统资源的管理者

  • 文件管理(在文件目录中找到QQ.exe)。

  • 存储器管理(将QQ.exe加入到内存中)。

  • 处理器管理(对应的进程被CPU处理)。

  • 设备管理(QQ视频将摄像头设备分配给进程)。

(2)操作系统作为用户和计算机硬件之间的接口

  • 命令接口:允许用户直接使用

  • 程序接口:允许用户通过程序间接使用

  • GUI:图形用户接口。

命令接口和程序接口

(3)操作系统作为最接近硬件的层次

操作系统最接近硬件

2. 操作系统的特征

操作系统的特征:共享、并发、虚拟、异步。

其中共享和并发是两个最基本的特征,二者互为存在条件

并发:两个或多个事件在同一时间间隔内完成。这些事件在宏观上是同时发生的,但在微观上是交替发生的。

并行:指两个或多个事件在同一时刻同时发生。

共享:就是资源共享,指的是系统中的资源可供内存中多个并发执行的进程共同使用。

共享

并发和共享的关系:不可分割,相互依存,没有并发就无共享,没有共享也就无并发。

并发和共享

虚拟:并发性决定了实际上内存只有4G,但是在用户看来,计算机可用的内存远远大于4G。

并发决定虚拟,没有并发就没有虚拟

虚拟

异步:多个线程处理同一个资源类,资源有限,不能同时满足两个线程的要求,会发生阻塞。

并发决定异步,没有并发就没有异步

异步

3. 操作系统发展和分类

3.1. 手工操作阶段

手工操作阶段

3.2. 单道批处理阶段

单道批处理阶段

3.3. 多道批处理阶段

多道批处理阶段

为什么多道批处理技术资源利用率大幅提升?

3.4. 分时操作系统

分时操作系统

3.5. 实时操作系统

实时操作系统

4. OS运行机制和体系结构

OS运行机制和体系结构

4.1. 运行机制

指令:C语言代码 ----> 翻译成"机器语言指令"(一条高级语言的代码翻译过来可能会对应多条指令)。

简单来说,"指令"就是让处理器(CPU)能识别、执行的最基本命令

(1)两种指令

  • 特权指令:不允许用户程序使用(例如:内存数据全部清零)。

  • 非特权指令:普通的加、减、乘、除指令。

(2)CPU两种处理状态

  • 用户态(目态):此时CPU只能执行非特权指令

  • 核心态(管态):此时CPU可以执行特权指令和非特权指令

(3)两种程序

  • 内核程序:操作系统的内核程序是系统的管理者,既可以执行特权指令,也可以执行非特权指令,运行在核心态

  • 应用程序:为了保证系统的安全运行,普通的应用程序只能执行非特权指令,运行在用户态

4.2. 操作系统内核

操作系统内核

操作系统内核是计算机上配置的底层软件,是操作系统最基本,最核心的部分

内核程序:实现操作系统内核功能的那些程序就是内核程序。

操作系统内核

4.3. 操作系统体系结构

大内核和微内核

5. 中断和异常

中断和异常

5.1. 中断的作用

中断本质:发生中断就意味着需要操作系统介入,开展管理工作

中断的特点

  1. 当中断发生时,CPU立即进入核心态

  2. 当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理。

  3. 对于不同的中断信号,操作系统会进行不同的处理。

中断和用户态、核心态的关系?

5.2. 中断的分类

中断的分类

另一种分类

5.3. 外中断的处理过程

外中断的处理过程

6. 系统调用

6.1. 系统调用的概念

系统调用

6.2. 系统调用的分类

系统调用的分类

6.3. 系统调用与库函数

系统调用与库函数

第二章、进程管理

1. 进程的概念

(1)进程的组成

进程:进程又称为进程实体,由程序段、数据段、程序控制块(PCB)组成

进程

进程的组成

(2)进程的组织

进程的组织

(3)进程的特征

进程特征

2. 进程的状态和转换

2.1. 三种基本状态

进程的状态

进程的另外两种状态

  • 新建态:进程正在被创建,操作系统为进程分配资源、初始化PCB。

  • 终止态:进程正在从系统中撤销,操作系统会回收进程拥有的资源、撤销PCB。

2.2. 进程状态的转换

进程状态的转换

3. 进程控制

进程控制:进程控制的主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程转换等功能。一句话,进程控制就是实现进程状态间的转换

(1)如何实现进程控制

进程控制

原语

原语的执行必须是一气呵成,不可中断

进程控制会导致进程状态的切换。无论哪个原语,要做的无非三类事情:

  • 更新PCB中的信息(如修改进程状态标志、将运行环境保存到PCB、从PBC恢复运行环境):

    • 所有的进程控制原语一定会修改进程状态标志。

    • 剥夺当前运行进程的CPU使用权必然需要保存其运行环境。

    • 某进程开始运行前必然要恢复其运行环境。

  • 将PCB插入合适的队列。

  • 分配/回收资源。

4. 进程通信

进程通信:进程之间的信息交换。

进程是分配系统资源的基本单位,因此各个进程拥有的内存地址空间相互独立

进程通信

4.1. 共享存储

共享存储

4.2. 管道通信

-

4.3. 消息传递