![](https://img-blog.csdnimg.cn/20201116110700976.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
操作系统
根据王道考研《操作系统》编写的学习笔记,供自己复习使用。
Yuyakeee
这个作者很懒,什么都没留下…
展开
-
2.4.4 死锁的处理策略(检测和解除)——操作系统笔记
文章目录1. 死锁的检测2. 死锁的解除 1. 死锁的检测 为了能对系统是否已发生了死锁进行检测,必须: ① 用某种数据结构来保存资源的请求和分配信息 ② 提供一种算法,利用上述信息来检测系统是否已进入死锁状态 算法: ① 在资源分配图中,找出既不阻塞又不是孤点的进程 Pi(即找出一条有向边与它相连,且该有向边对应资源的申请数量小于等于系统中已有空闲资源数量。如下图中,R1没有空闲资源,R2有一个空闲资源。若所有的连接该进程的边均满足上述条件,则这个进程能继续运行直至完成,然后释放它所占有的原创 2020-11-16 20:21:58 · 124 阅读 · 0 评论 -
2.4.3 避免死锁(银行家算法)——操作系统笔记
文章目录1. 什么是安全序列2. 银行家算法3. 总结 1. 什么是安全序列 所谓安全序列,就是指如果系统按照这种序列分配资源,则每个进程都能顺利完成。只要能找出一个安全序列,系统就是安全状态。当然,安全序列可能有多个。 比如:银行家借钱: 如果分配了资源之后,系统中找不出任何一个安全序列,系统就进入了不安全状态。这就意味着之后可能所有进程都无法顺利的执行下去。 如果系统处于安全状态,就一定不会发生死锁。如果系统进入不安全状态,就可能发生死锁。 因此在分配资源之前预先判断是否会进入不安全状态,就是“银原创 2020-11-16 11:00:52 · 294 阅读 · 0 评论 -
2.4.2 预防死锁——操作系统笔记
文章目录1. 破坏互斥条件2. 破坏不剥夺条件3. 破坏请求和保持条件4. 破坏循环等待条件 主要思想:破坏其中的一个或者几个死锁的必要条件 1. 破坏互斥条件 互斥条件:只有对必须互斥使用的资源的争抢才会导致死锁。 如果把只能互斥使用的资源改造为允许共享使用,则系统不会进入死锁。比如:SPOOLing技术 缺点:并不是所有的资源都可以改造成可共享使用的资源。 2. 破坏不剥夺条件 不剥夺条件:进程所获得的资源在未使用完之前,不能由其他进程强行夺走,只能主动释放。 方案一:当某个进程请求新的资源得不原创 2020-11-15 21:00:10 · 65 阅读 · 0 评论 -
2.4.1 死锁的基本概念——操作系统笔记
文章目录1. 什么是死锁2. 死锁产生的必要条件3. 什么时候会发生死锁4. 死锁的处理策略 1. 什么是死锁 各进程互相等待对方手里的资源,导致各进程都阻塞,无法向前推进的现象。 2. 死锁产生的必要条件 产生死锁必须同时满足以下四个条件 互斥条件:只有对必须互斥使用的资源的争抢才会导致死锁。 不剥夺条件:进程所获得的资源在未使用完之前,不能被剥夺。 请求和保持条件:进程已经保持了至少一个资源,但又提出了新的资源请求,而该资源又被其他进程占有,此时请求进程被阻塞,但又对自己已有的资源保持不放。 循原创 2020-11-15 20:34:37 · 108 阅读 · 0 评论 -
2.3.3 进程同步与互斥经典问题——操作系统笔记
文章目录1. 生产者消费者问题(1)问题描述(2)问题分析(3)具体实现2. 多生产者-多消费者问题(1)问题描述 1. 生产者消费者问题 (1)问题描述 系统中有一组生产者进程和一组消费者进程,生产者进程每次生产一个产品放入缓冲区,消费者进程每次从缓冲区中取出一个产品并使用。(注: 这里的“产品”理解为某种数据) 生产者、消费者共享一个初始为空、大小为n的缓冲区 只有缓冲区没满时,生产者才能把产品放入缓冲区,否则必须等待 只有缓冲区不空时,消费者才能从中取出产品,否则必须等待 缓冲区是临界资源,各进程原创 2020-11-15 19:43:21 · 414 阅读 · 0 评论 -
2.3.2 信号量机制——操作系统笔记
文章目录1. 信号量机制2. 信号量机制实现进程互斥3. 信号量机制实现进程同步4. 信号量机制实现前驱关系 1. 信号量机制 用户进程可以通过使用操作系统提供的一对原语来对信号量进行操作。 信号量其实就是一个变量(可以是一个整数,也可以是更复杂的记录型变量),可以用一个信号量来表示系统中某种资源的数量。 一对原语:wait(S)和signal(S),简称为P、V操作。 整型信号量 记录型信号量 整型信号量的缺陷是存在“忙等”问题,记录型信号量用记录型数据结构表示的信号量 2. 信号量机制原创 2020-11-14 20:15:57 · 251 阅读 · 0 评论 -
2.3.1 进程的同步与互斥——操作系统笔记
文章目录1. 进程的互斥、同步2. 进程互斥的软件实现方法3. 进程互斥的硬件实现方法4. 信号量机制 1. 进程的互斥、同步 进程具有异步性的特征,异步是指,各并发执行的进程以各自独立的、不可预知的速度向前进。 什么是进程同步 同步亦称直接制约关系,多个进程因为需要在某些位置上协调它们的工作次序而产生的制约关系。 什么是进程互斥 一个时间段内只允许一个进程使用的资源称为临界资源。对临界资源的访问,必须互斥的进行。互斥亦称间接制约关系。进程互斥指一个进程访问某临界资源时,另一个想要访问该临界资源的原创 2020-11-14 20:06:33 · 198 阅读 · 0 评论 -
2.2 处理机的调度——操作系统笔记
文章目录1. 三层调度2. 进程调度3. 调度算法的评价指标4. 调度算法 1. 三层调度 调度层级 要做什么 调度发生在 频率 对进程状态的影响 高级调度(作业调度) 从后备队列中选择合适的作业将其调入内存,并为其创建进程 外存->内存(面向作业) 最低 无->创建态->就绪态 中级调度(内存调度) 从挂起队列中选择合适的进程将其数据调回内存,并为其创建进程 外存->内存(面向进程) 中等 挂起态->就绪态 低级调度(进程调度) 从就绪队列中选择一个原创 2020-11-14 17:18:25 · 163 阅读 · 0 评论 -
2.1 进程与线程——操作系统笔记
1. 进程 进程是能独立运行、独立获得资源的基本单位 (1) 进程的组成 进程控制块PCB(Process Control Block): 1. 进程描述信息:进程标识符PID、用户标识符UID 2. 进程控制和管理信息:CPU磁盘网络使用情况、进程状态(运行、阻塞…) 3. 资源分配清单:正在使用的文件、内存区域、I/O设备 4. 处理机相关信息:寄存器的值 程序段: 程序的代码(指令序列) 数据段: 运行过程中产生的数据 (2) 进程的异步性 (3) 进程状态 进程的五态 进程的状态转换图 进原创 2020-11-14 17:11:56 · 69 阅读 · 0 评论