×
操作系统教程操作系统的定义和功能操作系统的类型

进程管理

与进程有关的时间操作系统CPU调度操作系统调度算法操作系统FCFS调度操作系统FCFS护航效果操作系统FCFS与开销操作系统最短作业优先(SJF)调度预测SJF进程的CPU突发时间最短剩余时间优先(SRTF)调度算法循环调度算法循环调度算法示例最高响应比下(HRRN)调度最高响应比下(HRRN)调度示例优先级调度非抢占式优先级调度抢先式优先级调度

同步

进程同步简介临界区问题锁定变量机制测试集锁定机制优先级反转开启可变或严格的交替方式感兴趣变量机制帕特森(Peterson)解决方案同步机制无需等待睡眠和唤醒信号量介绍计算信号量的问题计算信号量的问题二进制信号量或互斥量

死锁

死锁简介处理死锁的策略死锁预防避免死锁避免死锁使用RAG进行死锁检测死锁检测和恢复

内存管理

内存管理简介固定分区动态分区压缩(碎片整理)用于动态分区的位图链表动态分区分区算法分页技术分页技术实例二进制地址基础知识物理和逻辑地址空间页表从页表映射到主内存页表项查找最佳页面大小虚拟内存后备缓冲器按需分页转换页表页面替换算法Belady异常分段分页与分段比较分段的分页

文件管理

文件的属性文件上的操作文件访问方法目录结构一级目录两级目录树型结构目录非循环图结构化目录文件系统文件系统结构主引导记录(MBR)磁盘中的数据结构内存中的数据结构目录实现目录实现连续分配链表分配文件分配表索引分配链接索引分配索引节点空闲空间管理磁盘调度

死锁简介


每个进程都需要一些资源来完成它的执行。 但是,该资源是按顺序授予的。

  • 该进程请求一些资源。
  • 如果可用,操作系统会授予资源,否则请等待进程。
  • 该过程使用它并在完成时释放。

死锁是每个计算机进程等待分配给另一个进程的资源的情况。在这种情况下,由于它所需的资源不被执行,因此其他进程也在等待其他资源被释放。

假设有三个进程P1,P2和P3。有三种不同的资源R1,R2和R3。 R1分配给P1,R2分配给P2,R3分配给P3。

过了一段时间后,P1要求P2正在使用R1。 P1停止执行,因为它不能在没有R2的情况下完成。 P2也需要P3正在使用的R3。 P2也停止执行,因为没有R3就不能继续执行。 P3也要求R1使用P1,因此P3也停止执行。

在这种情况下,三个流程之间正在形成一个循环。没有一个进程正在进行,它们都在等待。由于所有进程都被阻止,计算机变得无响应。

饥饿和死锁的区别

编号 死锁 饥饿
1 死锁是一种没有进程被阻塞而没有进程继续的情况 饥饿是低优先级进程被阻止并且高优先级进程继续进行的情况。
2 死锁是一个无限的等待。 饥饿是漫长的等待,但不是无限的。
3 每个死锁始终是一个饥饿。 每一个饥饿不一定是死锁。
4 请求的资源被其他进程阻塞。 请求的资源不断被更高优先级的进程使用。
5 当相互排斥,保持和等待,同时不发生抢占和循环等待时,发生死锁。 它由于不受控制的优先权和资源管理而发生。

死锁的必要条件

相互排斥

资源只能以互斥方式共享。 这意味着,如果两个进程不能同时使用相同的资源。

保持并等待

进程等待一些资源,同时持有另一个资源。

没有抢先
原定的过程将一直执行到完成。 调度程序不能同时调度其他进程。

循环等待
所有进程都必须以循环方式等待资源,以便最后一个进程正在等待第一个进程持有的资源。


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)