ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

操作系统学习笔记

2021-10-04 21:33:11  阅读:490  来源: 互联网

标签:操作系统 img 转存 Typora 笔记 学习 外链 防盗链 图片


操作系统

第一章

第1.1节 操作系统概念,功能和目标

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oFbyLEoB-1633352372925)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210727093407257.png)]、

一.操作系统概念

1.定义

指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件

二.操作系统功能和目标

1.作为系统资源的管理者

(1)处理机管理

(2)存储器管理

(3)文件管理

(4)设备管理

2.作为用户和计算机硬件之间的接口

(1)命令接口:允许用户直接使用

  • 联机命令接口:用户说一句,系统做一句

  • 脱机命令接口:用户说一堆,系统做一堆

(2)程序接口(系统调用):允许用户通过程序间接使用

(3)GUI:现代操作系统中最流行的图形用户接口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qvjA8zUM-1633352372929)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210727113336494.png)]

3.作为最接近硬件的层次

1.实现对硬件机器的拓展

三.知识总结

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nrKQYBBq-1633352372930)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210727114219827.png)]

第1.2节 操作系统的特征

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hpFC3VFS-1633352372932)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210727115623044.png)]

一.并发

1.定义

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

*并行:两个或多个事件在同一时间同时发生

二.共享

1.定义

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

2.资源共享方式

(1)互斥共享方式:系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源

(2)同时共享方式:系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问

*并发性和共享性的关系

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oYEJqzJl-1633352372934)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730112229657.png)]

三.虚拟

1.定义

把一个物理上的实体变为若干个逻辑上的对应物。物理实体是实际存在的,而逻辑上对应物是用户感受到的

2.虚拟技术

(1)空分复用技术

(2)时分复用技术

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F3XcDjQb-1633352372935)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730115939673.png)]

四.异步

1.定义

在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。

2.并发性与异步性

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5c0ANe1B-1633352372936)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730120544102.png)]

五.知识回顾

并发和共享是操作系统最基本的特征

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vOJNjAzk-1633352372937)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730120747717.png)]

第1.3节 操作系统的发展与分类

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GP5T5quo-1633352372937)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730163652189.png)]

一.手工操作阶段

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vbzmWBeQ-1633352372938)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730163932880.png)]

二.批处理阶段

1.单道批处理系统

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h9b04q8G-1633352372939)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730164521111.png)]

2.多道批处理系统*

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wKvXhpsE-1633352372940)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730165600027.png)]

三.分时操作系统*

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-agY27W9o-1633352372940)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730171455242.png)]

四.实时操作系统*

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uTh9Pqnd-1633352372941)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730171628388.png)]

五.其他操作系统

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lpe2Gyfz-1633352372942)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730171722151.png)]

六.知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-64LZ7QI0-1633352372943)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730171905555.png)]

第1.4节 操作系统的运行机制,体系结构

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zT1IXPXf-1633352372944)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730172253184.png)]

一.两种指令,两种处理器,两种程序

1.指令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DRvWl4a9-1633352372945)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730175517788.png)]

2.处理器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hrDg1QkA-1633352372946)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730175702366.png)]

3.程序

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qdCARIU3-1633352372946)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730175736054.png)]

二.操作系统运行机制

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a5WPQrj7-1633352372947)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730175825560.png)]

三.操作系统内核

1.计算机系统层次结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BXn9OIa9-1633352372948)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730185051405.png)]

时钟管理,中断处理,原语的功能是最接近硬件的层次

2.操作系统内核

(1)内核定义

内核是计算机上配置的底层软件,是操作系统最基本,最核心的部分。实现操作系统内核功能的那些程序就是内核程序。

(2)内核层次结构图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-APw6lWlB-1633352372949)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730190109778.png)]

四.操作系统体系结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WhpKyhM9-1633352372950)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730191107819.png)]

1.结构示意图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zpJAYwcJ-1633352372950)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730191701029.png)]

2.划分

(1)大内核:将操作系统的主要模块都作为系统内核,运行在核心态

(2)微内核:只把最基本的功能保留在内核

五.知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ADevDqgo-1633352372951)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730192305689.png)]

第1.5节 中断和异常

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iciKTTlT-1633352372952)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730193004599.png)]

一.中断机制的诞生

1.本质

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

二.中断的概念和作用*

1.特点

(1)中断发生时,CPU立即进入核心态

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

(3)对于不同的中断信号,会进行不同的处理

2.作用

中断可以使CPU从用户态切换为核心态,使操作系统获得计算机的控制权。有了中断,才能实现多道程序并发执行。

中断是CPU从用户态进入核心态的唯一途径

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7y2e2Cfk-1633352372953)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730202401291.png)]

三.中断的分类*

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UfaPsPU1-1633352372954)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730205047986.png)]

另一种分类方式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eCQNeLMl-1633352372954)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730205156677.png)]

四.外中断处理方式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TNP5G1Zp-1633352372955)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730205937732.png)]

五.知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hC2CkksI-1633352372956)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210730210203577.png)]

第1.6节 系统调用

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MeEcl7t3-1633352372956)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801113545915.png)]

一. 什么是系统调用,有何作用

1.定义

是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务。

2.作用

应用程序通过系统调用请求操作系统的服务。系统中的各种共享资源都由操作系统掌管,因此在用户程序中,凡是与资源有关的操作(如存储分配,IO操作,文件管理等),都必须通过系统调用的方式向操作系统提出服务请求,由操作系统代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。

3.分类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LRrIJr3c-1633352372957)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801121356218.png)]

系统调用的相关处理需要在核心态下进行

二.系统调用与库函数的区别*

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GuM99Wxr-1633352372958)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801124120134.png)]

三.系统调用背后的过程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sdPnvPW0-1633352372959)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801124432176.png)]

详细解读

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XgoPtYea-1633352372959)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801124825863.png)]

传递系统调用参数—》执行陷入指令(用户态)—》执行系统调用相应服务程序(核心态)—》返回用户程序

四.知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s23hpCFB-1633352372960)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801125253420.png)]

第二章

2.1

第2.1节 进程的定义,组成,组织方式,特征

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1Et79b9h-1633352372961)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801161418002.png)]

一.进程定义

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FHD4FkGR-1633352372962)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801161953690.png)]

**1.PCB,程序段,数据段三部分构成了进程实体(进程映像)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oPgGpWmH-1633352372963)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801165910896.png)]

PCB是进程存在的唯一标志

强调动态性

二.进程的组成

进程(进程实体)由程序段,数据段,PCB三部分组成

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I7RRLS55-1633352372964)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801170402265.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dDnUuAPq-1633352372964)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801172229628.png)]

1.PCB

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tyVX0One-1633352372965)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801172106850.png)]

三.进程的组织

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zC6j1xIY-1633352372966)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801172426994.png)]

1.链接方式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wTfxSFGz-1633352372967)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801172931662.png)]

2.索引方式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g7WO7Yge-1633352372968)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801173016161.png)]

四.进程的特征

动态性,并发性,独立性,异步性,结构性

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OhFpLtat-1633352372969)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801173255153.png)]

动态性是进程最基本的特征

进程是资源分配,接受调度的基本单位

五.知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uCBOzAaO-1633352372970)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801173643593.png)]

第2.1节 进程的状态与转换

知识总览

​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7lY2h2JV-1633352372970)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801175719458.png)]

一.进程的三种基本状态

运行态,就绪态,阻塞态

就绪态表示万事俱备,只欠处理机(CPU)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gsF84aHm-1633352372971)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801180017573.png)]

二.进程的另两种状态

创建态,终止态

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ADZ4tuv2-1633352372972)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801180305643.png)]

三.进程状态的转换

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cXEwc5D0-1633352372973)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801180716514.png)]

1.运行态—》阻塞态是一种进程自身做出的主动行为

2.阻塞态—》就绪态不是进程自身能控制的,是被动行为

3.不能由阻塞态直接转换为运行态,也不能由就绪态直接转换为阻塞态(因为进入阻塞态是进程主动请求的,必然需要进程在运行时才能发出这种请求)

四.知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TATM3cGP-1633352372974)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801181259402.png)]

第2.3节 进程控制

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZuZeokhC-1633352372974)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801202757996.png)]

一.进程控制

1.定义

就是要实现进程状态转换

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6Qlcg6pr-1633352372975)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801203041300.png)]

2.如何实现进程控制

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dqDBBMGz-1633352372976)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801203829161.png)]

问题

某一个进程把它的PCB从一个队列放置到另一个队列中,但没有把PCB中的状态标志改成相应的新的状态。这种情况是很危险的,极有可能导致系统错误。

解决方法

用原语实现进程控制。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BbVlOWsZ-1633352372977)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801204552553.png)]

关开中断指令权限非常大,所以是只允许在核心态下执行的特权指令 。

二.进程控制相关的原语

1.原语做的事

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

a.所有的进程控制原语一定都会修改进程状态标志

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

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

(2)将PCB插入合适的队列

(3)分配/回收资源

2.进程的创建

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IKynloiT-1633352372978)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801214136997.png)]

3.进程的终止

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tAANC0DJ-1633352372979)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801214649900.png)]

4.进程的阻塞和唤醒

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lrUWHYo8-1633352372979)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801214804985.png)]

阻塞和唤醒要成对出现

5.进程的切换

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y83Wfqpo-1633352372980)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801214950277.png)]

知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cFLgPCks-1633352372981)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801215210289.png)]

第2.4节 进程通信

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EddHu473-1633352372981)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801215332060.png)]

一.什么是进程通信

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G66AyRuG-1633352372982)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801221650725.png)]

进程通信就是指进程之间的信息交换

二.进程通信—共享存储

两个进程对共享空间的访问必须是互斥的(互斥访问通过操作系统提供的工具实现)

1.基于数据结构的共享

2.基于存储区的共享

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-07NYuo7T-1633352372983)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801222507702.png)]

三. 进程通信—管道通信

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7pDvoPJG-1633352372983)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801223207761.png)]

1.管道只能采用半双工通信,某一时间段内只能实现单向的传输。如果要实现双向同时通信,则要设置两个管道

2.各进程要互斥地访问管道。

3.数据以字符流形式写入管道,当管道写满时,写进程的write()系统调用将被阻塞,等待读进程将数据取走。当读进程将数据全部取走后,管道变空,此时读进程的read()系统调用将被阻塞

4.如果没写满,就不允许读。如果没读空,就不允许写。

5.数据一旦被读出,就从管道中抛弃,这就意味着读进程最多只能有一个,否则可能会有读错数据的情况。

四.进程通信—消息传递

进程间的数据交换以格式化的消息(Message)为单位。进程通过操作系统提供的“发送消息/接收消息”两个原语进行数据交换。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dSXQVPLT-1633352372984)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801231340689.png)]

1.直接通信方式

2.间接通信方式

五.知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QI6CIBBf-1633352372985)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210801231546151.png)]

第2.5节 线程概念,多线程模型

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yv88XW9e-1633352372985)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802094209292.png)] 一.什么是线程,为什么引入线程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8GG0NKpw-1633352372986)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802094807917.png)]

线程是一个基本的CPU执行单元,也是程序执行流的最小单元

二.引入线程后的变化

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CJgryL56-1633352372987)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802100713760.png)]

三.线程的属性

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N8sC9qgb-1633352372988)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802101043317.png)]

四.线程的实现方式*

1.用户级线程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vzK6ZyWG-1633352372988)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802102826203.png)]

(1)用户级线程由应用程序通过线程库实现。

(2)所有的线程管理工作都由应用程序负责(包括线程切换)。

(3)用户级线程中线程切换在用户态下即可完成,无需操作系统干预。

(4)在用户看来,是有多个线程。但在操作系统内核看来,意识不到线程的存在(用户级线程对用户不透明,对操作系统透明)。

2.内核级线程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BZSCQTg2-1633352372989)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802105614475.png)]

(1)内核级线程管理工作都由操作系统内核完成,线程调度,切换等工作都由内核负责,因此内核级线程的切换要在核心态下完成。

3.组合方式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o7NzFYdU-1633352372990)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802110140134.png)]

操作系统只“看得见”内核级线程,因此只有内核级线程才是处理机分配的单位

五.多线程模型*

1.多对一模型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2DI612ef-1633352372991)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802114035926.png)]2.一对一模型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PpWZBYdz-1633352372991)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802114139149.png)]

3.多对多模型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nrGOVqxZ-1633352372992)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802114223668.png)]

知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GanwCDkO-1633352372993)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802114410106.png)]

2.2

第2.6节 处理机调度的概念,层次

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j5XDMsHu-1633352372994)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802114514611.png)]

一.调度的三个层次

1.高级调度

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WNfpLvW3-1633352372995)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802155015829.png)]

(1)高级调度(作业调度)。

(2)每个作业只调入一次,调出一次。

(3)高级调度主要是指调入的问题,因为只有调入的时机需要操作系统来确定 ,但调出的时机必然是作业运行结束才调出

2.中级调度

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SgAqcEfR-1633352372995)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802161108000.png)]

(1)暂时调到外存等待的进程状态为挂起状态。

(2)中级调度(内存调度),就是要决定将哪个处于挂起状态的进程重新调入内存。

(3)一个进程可能会被多次调出,调入内存,因此中级调度发生的频率比高级调度更高。

补充知识:七状态模型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iIA0hyqU-1633352372996)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802162303005.png)]

3.低级调度

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c2d4VjhS-1633352372997)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802162549800.png)]

(1)低级调度(进程调度),主要任务是按照某种方法和策略从就绪队列中选取一个进程,将处理机分配给它。

(2)进程调度的频率很高,一般几十毫秒一次。

4.三种调度的联系,对比

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZKzbdlSU-1633352372998)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802163311290.png)]

知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J5hyafL3-1633352372999)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802163434931.png)]

第2.7节 进程调度的时机,切换与过程,调度方式

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yPBT14QD-1633352373000)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802172739401.png)]

一.进程调度的时机

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yxny9uiA-1633352373001)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802173126130.png)]

进程调度(低级调度),就是按照某种算法从就绪队列中选择一个进程为其分配处理机。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MJ7K5O5i-1633352373002)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802173618753.png)]

进程在操作系统内核程序临界区中不能进行调度与切换

二.进程调度的方式

由当前运行的进程是否可以被强行剥夺处理机资源来分为以下两种

1.非剥夺调度方式(非抢占方式)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F75gBhV5-1633352373003)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802174215951.png)]

2.剥夺调度方式(抢占方式)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tVEsOoKP-1633352373005)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802174226258.png)]

三.进程的切换与过程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nCEqUsLl-1633352373005)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802174442798.png)]

进程的切换过程主要完成了:

1.对原来运行进程各种数据的保存

2.对新的进程各种数据的恢复

进程切换是有代价的,过于频繁地进行进程调度,切换,会使整个系统效率降低。

知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QlX3tvSQ-1633352373006)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802174903045.png)]

第2.8节 调度算法的评价指标

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cn6Yfed3-1633352373007)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802201805478.png)]

一.CPU利用率

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C1Ptr3XV-1633352373008)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802202146193.png)]

二.系统吞吐量

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vajsDScE-1633352373009)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802202758348.png)]

三.周转时间

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GOVKL3pa-1633352373010)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802203040144.png)]

带权周转时间

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zWmX977G-1633352373011)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802203602124.png)]

四.等待时间

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SI9DpsQe-1633352373012)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802204535897.png)]

五.响应时间

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fW2aLAo2-1633352373012)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802204712740.png)]

知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7eswwf2Y-1633352373013)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802204856105.png)]

第2.9节 调度算法—先来先服务,最短作业优先,最高响应比优先

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V3431fUs-1633352373014)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210802205636040.png)]

一.先来先服务(FCFS)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pmrfCMwg-1633352373015)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210803114423655.png)]

二.短作业优先(SJF)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qavi5LHp-1633352373016)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210803122747255.png)]

注意点

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CXi4wQFc-1633352373017)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210803122545215.png)]

三.高响应比优先(HRRN)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FvtIWzgC-1633352373017)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210803123412190.png)]

知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xq6uv9Hz-1633352373018)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210803123617551.png)]

第2.10节 调度算法—时间片轮转,优先级调度,多级反馈队列

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-56pekpOM-1633352373019)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210805165752464.png)]

一.时间片轮转(RR)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TwFzLaRX-1633352373020)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210805171458048.png)]

注意点

时间片太大会导致退化为先来先服务算法,且增加进程响应时间

时间片太小导致进程切换过于频繁,系统花大量时间用于进程切换,导致实际进程执行时间比例减少

二.优先级调度算法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4fwhD7QX-1633352373021)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210807103608694.png)]

补充

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-InwaV1bH-1633352373022)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210807103415353.png)]

三.多级反馈队列

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dpKexyeK-1633352373023)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210807104450841.png)]

知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pqCkMDln-1633352373024)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210807110540007.png)]

2.3

第2.11节 进程同步,进程互斥

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K33XKaVg-1633352373025)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210807115733178.png)]

一.什么是进程同步

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qR5X4Roa-1633352373026)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210807115815632.png)]

二.什么是进程互斥

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iePoiJMd-1633352373027)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210807120115499.png)]

遵循原则

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I1ZOs1x2-1633352373028)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210807140552920.png)]

知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RuvWun1N-1633352373028)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210807120755154.png)]

第2.12节 进程互斥的软件实现方法

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SCU657Fs-1633352373029)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210807135945547.png)]

一.单标志法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XzZ0yWX2-1633352373030)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210807140354930.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7lpijGpB-1633352373030)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210807140416864.png)]

违背”空闲让进“原则

二.双标志先检查法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kdQrGD4m-1633352373031)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210808203155618.png)]

违背“忙则等待”原则

三.双标志后检查法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aRQBGjKw-1633352373032)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210808204103001.png)]

解决了“忙则等待”问题,但是又违背了“空闲让进”和“有限等待”原则

四.Peterson算法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TBAkoA3z-1633352373032)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210810120731904.png)]

遵循了“空闲让进”,“忙则等待”,“有限等待”的原则,但是未遵循“让权等待”的原则

知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q5g1dnSM-1633352373033)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210810121210586.png)]

第2.13节 进程互斥的硬件实现方法

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LwkiBtZM-1633352373034)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210810121324020.png)]

一.中断屏蔽方法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uvp70Tcn-1633352373034)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210810122006792.png)]

二.TestAndSet指令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XAia0bJE-1633352373035)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210810122428209.png)]

三.Swap指令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E9mGX13k-1633352373036)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210810122719160.png)]

知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cYYmZQWm-1633352373036)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210810122755280.png)]

第2.14节 信号量机制

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rxtjDQzl-1633352373037)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210811202427765.png)]

一.信号量机制

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LBoEUwJ8-1633352373038)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210811202922813.png)]

信号量其实就是一个变量(可以是一个整数,也可以是更复杂的记录型变量),可以用一个信号量来表示系统中某种资源的数量。

1.整型信号量

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-067BsTKE-1633352373039)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210811211115787.png)]

存在的问题:不满足“让权等待”原则,会发生忙等

2.记录型信号量

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vZn5C53L-1633352373039)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210811215503588.png)]

注意

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0fAH667b-1633352373040)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210811220721510.png)]

知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0pSF0ZFl-1633352373041)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210811220951388.png)]

第2.15节 用信号量机制实现进程互斥,同步,前驱关系

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jsSMHTs0-1633352373041)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210811221118274.png)]

一.信号量机制实现进程互斥

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wDvkTx8U-1633352373042)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210812100927489.png)]

**注意:**对不同的临界资源需要设置不同的互斥信号量。

P、V操作必须成对出现。

二.信号量机制实现进程同步

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QUl84Rv9-1633352373043)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210812101356616.png)]

操作步骤

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xfMvk5ZN-1633352373043)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210812101900839.png)]

分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FGF8Eaj3-1633352373044)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210812110811859.png)]

三.信号量机制实现前驱关系

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uOelbteF-1633352373045)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210812111318369.png)]

每一对前驱关系都是一个进程同步问题

知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YYsTwLbo-1633352373045)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210812113227460.png)]

第2.16节 生产者、消费者问题

问题描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6TnRaRUh-1633352373046)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210812170424952.png)]

问题分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v1w3CxXt-1633352373047)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210812170121577.png)]

1.能否改变相邻P、V操作的顺序

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bSQxshs4-1633352373047)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210814142317495.png)]

实现互斥的P操作一定要在实现同步的P操作之后

V操作不会导致进程阻塞,因此两个V操作顺序可以交换

2.生产者生产产品,消费者消费产品者两操作能否放在P、V操作之内

逻辑上看是可以的,但会导致临界区的代码量变大,导致进程间的并发度降低

知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bCb8ei3P-1633352373048)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210902233738129.png)]

第2.17节 多生产者,多消费者问题

问题描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wafLYXaA-1633352373049)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210902234128641.png)]

问题分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SGskBgsM-1633352373050)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210903193328431.png)]

如何实现

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rP3UuCSh-1633352373051)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210903194405704.png)]

提问:可不可以不用互斥信号量

答:是可以的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q39AwpBb-1633352373051)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210903194645144.png)]

原因是

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VUwtNTMd-1633352373052)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210903194727660.png)]

结论:如果缓冲区大于1,就必须专门设置一个互斥信号量mutex来保证互斥访问缓冲区

等于1时,有可能不需要设置互斥信号量

知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R5TSNx28-1633352373053)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210903195231697.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tjuSYu3s-1633352373053)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210903195712701.png)]

第2.18节 吸烟者问题

问题描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IzzaICKn-1633352373054)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210905211316567.png)]

问题分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vJaH4VDg-1633352373055)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210905211743521.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cZxaaz9C-1633352373056)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210905212601030.png)]

如何实现

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FmXAi4ZK-1633352373056)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210905213207765.png)]

知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C52xImoP-1633352373057)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210905214419686.png)]

第2.19节 读者-写者问题

问题描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DTqCLWPR-1633352373057)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210905215536278.png)]

问题分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iBihEkhv-1633352373058)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210905220820301.png)]

如何实现

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oQNjho3w-1633352373059)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210905224339702.png)]

存在问题

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ltv06uA2-1633352373060)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210905224502827.png)]

解决办法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oJgWZhZh-1633352373060)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210905231131908.png)]

知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8PSMuxqk-1633352373061)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210905231513522.png)]

“写进程饥饿”解决办法:新增加了一个W的互斥信号量,并且在合适的位置对其进行PV操作

第2.20 哲学家进餐问题

问题描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZYsceRi7-1633352373061)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210906215641966.png)]

问题分析

以下会有可能导致死锁

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-22fby2IZ-1633352373062)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210906215841801.png)]

解决办法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xgjy8TPZ-1633352373063)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210906220230266.png)]

办法三

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hoJFpzIT-1633352373063)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210906220836932.png)]

代码实现

​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6RvTfi0h-1633352373064)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210906222410156.png)]

对于要求的3的条件,其实并不严谨

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zsXZonrB-1633352373065)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210906222906931.png)]

知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DFX9UCEU-1633352373066)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210906223022214.png)]

关键在于解决进程死锁

第2.21节 管程

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v6Zpr1zC-1633352373066)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210906225505258.png)]

一.为什么要引入管程

信号量机制存在的问题:编写程序困难、易出错

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D06Y58Ea-1633352373067)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210906230012561.png)]

二.管程的定义和基本特征

1.组成

(1)局部于管程的共享数据结构说明

(2)对该数据结构进行操作的一组过程

(3)对局部于管程的共享数据设置初始值的语句

(4)管程有一个名字

*2.特征

(1)局部于管程的数据只能被局部于管程的过程所访问

(2)一个进程只有通过调用管程内的过程才能进入管程访问共享数据

(3)每次仅允许一个进程在管程内执行某个内部过程

三.用管程解决生产者消费者问题

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-euVzPslV-1633352373068)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210906233351778.png)]

文字解释

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VRSX6gps-1633352373069)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210906233822699.png)]

四.JAVA中类似于管程的机制

synchronized 关键字

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aLx0Hd7k-1633352373069)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210906234000459.png)]

知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6586R2mb-1633352373070)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210906234140278.png)]

2.4

第2.22节 死锁的概念

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PzhfOK9p-1633352373071)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210906234312240.png)]

一.什么是死锁

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MGUdTjuA-1633352373071)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210908213723217.png)]

二.死锁、饥饿、死循环的区别

1.死锁

各进程互相等待对方手里的资源,导致各进程都阻塞,无法向前推进的情况

2.饥饿

由于长期得不到想要的资源,某进程无法向前推进的现象。比如在短进程优先(SPF)算法中,若有源源不断的短进程到来,则长进程将一直得不到处理机,从而发生长进程“饥饿”

3.死循环

某进程执行过程中一直跳不出某个循环的现象。有时是因为程序逻辑Bug导致,有时是程序员故意设计

4.三者联系

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n3F4tHMq-1633352373072)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210908220005571.png)]

三.死锁产生的必要条件

产生死锁必须同时满足四个条件,缺一不可

1.互斥条件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TaDoPBZp-1633352373072)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210908220149915.png)]

2.不剥夺条件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T5qOPuDu-1633352373073)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210908220258867.png)]

3.请求和保持条件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ci2cx3yR-1633352373074)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210908220401566.png)]

4.循环等待条件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DZ9sNTp6-1633352373075)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210908220555982.png)]

四.什么时候会发生死锁

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GkzZA9HG-1633352373077)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210908220902258.png)]

五.死锁的处理策略

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l5ICvWlD-1633352373077)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210908221041325.png)]

知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X8VvVVmv-1633352373078)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210908221152421.png)]

第2.23节 死锁的处理策略-预防死锁

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5c4MQe04-1633352373079)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210908221313312.png)]

一.破坏互斥条件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V45J3yyD-1633352373080)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210911092144387.png)]

二.破坏不剥夺条件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XAzxm5Q7-1633352373080)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210911093138727.png)]

三.破坏请求和保持条件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rLe60VFI-1633352373081)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210911093700512.png)]

四.破坏循环等待条件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F3Sil1a7-1633352373085)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210911094259386.png)]

知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TN0YnNRe-1633352373087)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210911095103441.png)]

第2.24节 死锁的处理策略-避免死锁

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IcpQ0dvi-1633352373088)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210911095410940.png)]

一.安全序列

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m38KJAip-1633352373089)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210911110051780.png)]

二.安全序列、不安全状态、死锁的联系

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w77h9YEw-1633352373089)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210911110434985.png)]

三.银行家算法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CUhFGyb5-1633352373090)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210911153818291.png)]

1.核心思想

在进程提出资源申请时,先预判此次分配是否会导致系统进入不安全状态。如果会进入不安全状态,就暂时不答应这次请求,让该进程先阻塞等待。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pwUrmvEw-1633352373091)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210911154355713.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UOmpywEA-1633352373092)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210911165447116.png)]

2.代码实现

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6IJEGQmZ-1633352373093)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210911171332778.png)]

知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eINc41sc-1633352373095)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210913233129188.png)]

1.银行家算法步骤

(1)检查此次申请是否超过了之前声明的最大需求数

(2)检查此时系统剩余的可用资源是否还能满足这次请求

(3)试探着分配,更改各数据结构

(4)用安全性算法检查此次分配是否会导致系统进入不安全状态

第2.25节 死锁的处理策略-检测和解除

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lOLAo0Ib-1633352373096)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210913234205720.png)]

一.死锁的检测

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zeVXsQeL-1633352373096)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210913234444445.png)]

为了能对系统是否发生死锁进行检测

1.用某种数据结构来保存资源的请求和分配信息

2.提供一种算法,利用上述信息来检测系统是否已进入死锁状态

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Mr1JaUwx-1633352373097)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210913235212402.png)]

1.检测死锁的方法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ijpIdqnO-1633352373098)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210913235829805.png)]

二.死锁的解除

并不是系统中所有的进程都是死锁状态,用死锁检测算法化简资源分配图后,还连着边的那些检测就是死锁进程。

1.解除死锁的方法

(1)资源剥夺法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GSwMW4XH-1633352373099)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210914000228249.png)]

(2)撤销进程法(终止进程法)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O7AyfRF0-1633352373099)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210914000304846.png)]

(3)进程回退法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yxnf2S6z-1633352373100)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210914000322628.png)]

2.该对谁解除

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZvFLy9pU-1633352373101)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210914000447067.png)]

知识回顾

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1kR9IJMB-1633352373101)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210914000552039.png)]

第三章

3.1

第3.1节 内存的基础知识

知识总览

死锁的处理策略-避免死锁

知识总览

[外链图片转存中…(img-IcpQ0dvi-1633352373088)]

一.安全序列

[外链图片转存中…(img-m38KJAip-1633352373089)]

二.安全序列、不安全状态、死锁的联系

[外链图片转存中…(img-w77h9YEw-1633352373089)]

三.银行家算法

[外链图片转存中…(img-CUhFGyb5-1633352373090)]

1.核心思想

在进程提出资源申请时,先预判此次分配是否会导致系统进入不安全状态。如果会进入不安全状态,就暂时不答应这次请求,让该进程先阻塞等待。

[外链图片转存中…(img-pwUrmvEw-1633352373091)]

[外链图片转存中…(img-UOmpywEA-1633352373092)]

2.代码实现

[外链图片转存中…(img-6IJEGQmZ-1633352373093)]

知识回顾

[外链图片转存中…(img-eINc41sc-1633352373095)]

1.银行家算法步骤

(1)检查此次申请是否超过了之前声明的最大需求数

(2)检查此时系统剩余的可用资源是否还能满足这次请求

(3)试探着分配,更改各数据结构

(4)用安全性算法检查此次分配是否会导致系统进入不安全状态

第2.25节 死锁的处理策略-检测和解除

知识总览

[外链图片转存中…(img-lOLAo0Ib-1633352373096)]

一.死锁的检测

[外链图片转存中…(img-zeVXsQeL-1633352373096)]

为了能对系统是否发生死锁进行检测

1.用某种数据结构来保存资源的请求和分配信息

2.提供一种算法,利用上述信息来检测系统是否已进入死锁状态

[外链图片转存中…(img-Mr1JaUwx-1633352373097)]

1.检测死锁的方法

[外链图片转存中…(img-ijpIdqnO-1633352373098)]

二.死锁的解除

并不是系统中所有的进程都是死锁状态,用死锁检测算法化简资源分配图后,还连着边的那些检测就是死锁进程。

1.解除死锁的方法

(1)资源剥夺法

[外链图片转存中…(img-GSwMW4XH-1633352373099)]

(2)撤销进程法(终止进程法)

[外链图片转存中…(img-O7AyfRF0-1633352373099)]

(3)进程回退法

[外链图片转存中…(img-yxnf2S6z-1633352373100)]

2.该对谁解除

[外链图片转存中…(img-ZvFLy9pU-1633352373101)]

知识回顾

[外链图片转存中…(img-1kR9IJMB-1633352373101)]

第三章

3.1

第3.1节 内存的基础知识

知识总览

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qaTEFx4H-1633352373102)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20210914000756455.png)]

标签:操作系统,img,转存,Typora,笔记,学习,外链,防盗链,图片
来源: https://blog.csdn.net/qq_45979007/article/details/120608111

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有