惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
爱范儿
爱范儿
T
The Exploit Database - CXSecurity.com
量子位
T
Tailwind CSS Blog
T
Threatpost
The GitHub Blog
The GitHub Blog
AWS News Blog
AWS News Blog
云风的 BLOG
云风的 BLOG
K
Kaspersky official blog
P
Proofpoint News Feed
博客园 - 司徒正美
L
LangChain Blog
T
Threat Research - Cisco Blogs
C
CERT Recently Published Vulnerability Notes
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
S
Secure Thoughts
The Last Watchdog
The Last Watchdog
Spread Privacy
Spread Privacy
H
Hacker News: Front Page
T
Troy Hunt's Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Google DeepMind News
Google DeepMind News
W
WeLiveSecurity
A
Arctic Wolf
Apple Machine Learning Research
Apple Machine Learning Research
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
P
Proofpoint News Feed
T
Tor Project blog
T
The Blog of Author Tim Ferriss
I
Intezer
P
Privacy & Cybersecurity Law Blog
美团技术团队
N
Netflix TechBlog - Medium
博客园_首页
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Vulnerabilities – Threatpost
Application and Cybersecurity Blog
Application and Cybersecurity Blog
G
Google Developers Blog
Attack and Defense Labs
Attack and Defense Labs
T
Tenable Blog
月光博客
月光博客
Stack Overflow Blog
Stack Overflow Blog
J
Java Code Geeks
腾讯CDC
Microsoft Security Blog
Microsoft Security Blog
A
About on SuperTechFans
Last Week in AI
Last Week in AI

小竹の笔记本

【考研】考研数学小题&大题做题纸PDF分享 - AI科研 编程 读书笔记 【阅读】《性心理学》各章节个人摘录 - AI科研 编程 读书笔记 【阅读】《悉达多》各章节个人摘录 - AI科研 编程 读书笔记 【操作系统】第一章 计算机系统概述 知识点与错题总结 - AI科研 编程 读书笔记 【Linux】腾讯云轻量应用服务器测评(北京 上海 4C4G5M) - AI科研 编程 读书笔记 【计算机组成原理】第七章 输入/输出系统 知识点与错题总结 - AI科研 编程 读书笔记 【日常】2026年5月复盘&6月规划 - AI科研 编程 读书笔记 【计算机组成原理】第六章 总线 知识点与错题总结 - AI科研 编程 读书笔记 【计算机组成原理】第五章 中央处理器 知识点与错题总结 - AI科研 编程 读书笔记 【阅读】《自卑与超越》各章节个人摘录 - AI科研 编程 读书笔记 【计算机组成原理】第四章 指令系统 知识点与错题总结 - AI科研 编程 读书笔记 【计算机组成原理】第三章 存储系统 知识点与错题总结 - AI科研 编程 读书笔记 【计算机组成原理】第二章 数据的表示和运算 知识点与错题总结 - AI科研 编程 读书笔记 【日常】2026年4月复盘&5月规划 - AI科研 编程 读书笔记 【计算机组成原理】第一章 计算机系统概述 知识点与错题总结 - AI科研 编程 读书笔记 【数据结构】第八章 排序 知识点与错题总结 - AI科研 编程 读书笔记 【阅读】《娱乐至死》各章节个人摘录 - AI科研 编程 读书笔记 【数据结构】第七章 查找 知识点与错题总结 - AI科研 编程 读书笔记
【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记
3592869.7W+ · 2026-06-25 · via 小竹の笔记本

我整理了操作系统第二章关于进程与线程的核心知识点,涵盖进程的概念、状态转换、进程控制与通信,以及线程的实现方式(用户级与内核级)和多线程模型。我梳理了进程调度的常见算法,包括FCFS、SJF、HRRN、时间片轮转和多级反馈队列,并对各算法的适用场景与特点进行了对比。此外,我归纳了同步与互斥的实现方法,包括软件方法、硬件方法、信号量机制及管程,以及生产者-消费者、读者-写者、哲学家进餐等经典问题。最后,我总结了死锁的概念、预防、避免(银行家算法)和检测解除策略,并记录了相关课后错题。

1.进程与线程

1.进程的概念

程序是静态的可执行文件;进程是动态的程序的一次执行过程。

进程的信息放在进程控制块(PCB)中;PCB是进程存在的唯一标志。

2.进程的组成、特征

图片[1] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[2] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

进程实体(进程映像)由PCB、程序段和数据段组成。

引入进程实体的概念后,可把进程定义为:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。

图片[3] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[4] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

3.进程的状态与转换、进程的组织

3.1.进程的状态

图片[5] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[6] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[7] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[8] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

3.2.进程状态的转换图

图片[9] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[10] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

3.3.进程的组织方式

①链式

图片[11] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

按照进程状态将PCB分为多个队列,阻塞态可能根据阻塞类型细分。操作系统持有指向各个队列的指针。

②索引

图片[12] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

根据进程状态的不同建立索引表,操作系统持有指向各个索引表的指针。

4.进程控制

图片[13] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

原语的执行具有原子性,通过“关中断指令”暂时屏蔽外部中断信号,通过“开中断指令”恢复。这两个是特权指令(只让内核程序使用)。

进程的创建过程

图片[14] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

进程的终止过程

图片[15] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

进程的阻塞和唤醒(成对使用)过程

图片[16] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

进程的切换过程

图片[17] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[18] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[19] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

5.进程通信

5.1.进程通信

为什么进程通信(IPC)需要操作系统支持?进程是分配系统资源的单位(包括内存地址空间),因此各进程拥有的内存地址空间相互独立。

图片[20] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

共享存储

图片[21] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[22] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

消息传递

图片[23] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[24] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[25] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

管道通信

图片[26] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[27] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[28] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

5.2.信号

图片[29] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[30] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[31] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[32] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[33] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[34] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

6.线程

6.1.线程的概念和特点

图片[35] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

没有线程时,系统中各个程序只能串行执行。有的进程可能需要“同时”做很多事,而传统的进程只能串行地执行一系列程序。所以引入了“线程”,来增加并发度。引入线程后,线程成为了程序执行流的最小单位。

图片[36] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

线程是一个基本的 CPU 执行单元,也是程序执行流的最小单位。引入线程之后,不仅是进程之间可以并发,进程内的各线程之间也可以并发,从而进一步提升了系统的并发度,使得一个进程内也可以并发处理各种任务(如 QQ 视频、文字聊天、传文件)引入线程后,进程只作为除 CPU 之外的系统资源的分配单元(如打印机、内存地址空间等都是分配给进程的)。

图片[37] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[38] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

6.2.线程的实现方式和多线程模型

图片[39] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[40] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

1.用户级线程由应用程序通过线程库实现,所有的线程管理工作都由应用程序负责(包括线程切换);

2.用户级线程中,线程切换可以在用户态下即可完成,无需操作系统干预;

3.在用户看来,是有多个线程。但是在操作系统内核看来,并意识不到线程的存在。”用户级线程”就是”从用户视角看能看到的线程”。

4.优缺点

优点:用户级线程的切换在用户空间即可完成,不需要切换到核心态,线程管理的系统开销小,效率高。

缺点:当一个用户级线程被阻塞后,整个进程都会被阻塞,并发度不高。多个线程不可在多核处理机上并行运行。

图片[41] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

1.内核级线程的管理工作由操作系统内核完成。

2.线程调度、切换等工作都由内核负责,因此内核级线程的切换必然需要在核心态下才能完成。

3.操作系统会为每个内核级线程建立相应的 TCB(Thread Control Block,线程控制块),通过 TCB 对线程进行管理。”内核级线程”就是”从操作系统内核视角看能看到的线程”

4.优缺点

优点:当一个线程被阻塞后,别的线程还可以继续执行,并发能力强。多线程可在多核处理机上并行执行。

缺点:一个用户进程会占用多个内核级线程,线程切换由操作系统内核完成,需要切换到核心态,因此线程管理的成本高,开销大。

图片[42] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[43] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[44] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[45] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

6.3.线程的状态与转换

图片[46] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[47] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

2.进程调度

1.调度的概念和层次

图片[48] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[49] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[50] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[51] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[52] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[53] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[54] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

2.进程调度

2.1.进程调度的时机、切换与过程、方式

图片[55] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[56] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[57] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[58] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[59] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[60] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[61] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

2.2.调度器和闲逛进程

图片[62] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[63] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[64] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

3.调度的目标(调度算法的评价指标)

图片[65] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[66] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[67] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[68] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[69] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[70] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[71] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[72] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

4.调度算法

4.1.先来先服务、最短作业优先、最高响应比优先

图片[73] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

先来先服务(FCFS)

图片[74] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[75] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

短作业优先(SJF)

图片[76] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[77] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[78] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

最短剩余时间优先(SRTN)

SJF/SPF的抢占式版本

图片[79] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[80] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

高响应比优先(HRRN)

图片[81] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[82] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

小总结

图片[83] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

4.2.时间片轮转、优先级、多级反馈队列

图片[84] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

时间片轮转(RR)

图片[85] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[86] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[87] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[88] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[89] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

优先级调度算法

图片[90] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[91] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[92] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[93] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

多级反馈队列调度算法(MLFQ)

图片[94] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[95] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

小总结

图片[96] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

4.3.多级队列调度算法

图片[97] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

5.多处理机调度

图片[98] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[99] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[100] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[101] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[102] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[103] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[104] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

3.同步与互斥

1.同步与互斥的基本概念

图片[105] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[106] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[107] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[108] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[109] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

2.进程互斥的实现方法

2.1.软件实现

图片[110] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[111] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[112] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

注意这里 turn=1 不是说 P0 知道下一个要用的是 P1,而是一种规则。这样轮流访问。这种必须“轮流访问”带来的问题是,如果此时允许进 入临界区的进程是PO,而 PO一直不访问临界区,那么虽然此时临界区空闲,但是并不允许P1访问。 因此,单标志法存在的主要问题是:违背“空闲让进”原则。

图片[113] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[114] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[115] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[116] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

2.2.硬件实现

图片[117] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[118] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[119] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[120] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[121] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

3.互斥锁

图片[122] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[123] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

4.信号量

4.1.信号量机制

图片[124] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[125] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[126] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[127] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[128] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[129] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[130] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

4.2.用信号量实现进程互斥、同步、前驱关系

图片[131] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[132] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[133] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[134] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[135] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[136] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

5.进程同步互斥问题

5.1.生产者-消费者问题

图片[137] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[138] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[139] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[140] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[141] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

5.2.多生产者-多消费者问题

图片[142] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[143] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[144] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

为什么不需要mutex也行?

图片[145] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[146] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[147] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[148] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

5.3.读者-写者问题

图片[149] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[150] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[151] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

如何实现“写优先”

图片[152] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[153] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

5.4.哲学家进餐问题

图片[154] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[155] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[156] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[157] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[158] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[159] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

6.管程

图片[160] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[161] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

管程很类似于面向对象编程中的类(Class)

图片[162] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[163] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[164] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[165] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

4.死锁

1.死锁的概念

图片[166] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[167] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

在并发环境下,各进程因竞争资源而造成的一种互相等待对方手里的资源,导致各进程都阻塞,都无法向前推进的现象,就是”死锁”发生死锁后若无外力干涉,这些进程都将无法向前推进。

图片[168] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[169] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[170] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[171] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

2.死锁的处理策略

图片[172] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

2.1.预防死锁

图片[173] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[174] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[175] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[176] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[177] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[178] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

2.2.避免死锁

图片[179] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[180] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[181] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

银行家算法

图片[182] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[183] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[184] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[185] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[186] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[187] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

2.3.死锁的检测与解除

图片[188] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[189] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[190] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[191] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[192] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本
图片[193] - AI科研 编程 读书笔记 - 【操作系统】第二章 进程与线程 知识点与错题总结 - AI科研 编程 读书笔记 - 小竹の笔记本

  此处内容已隐藏,请评论后刷新页面查看.