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

进程管理

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

同步

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

死锁

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

内存管理

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

文件管理

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

用于动态分区的位图


动态分区的主要关注点是跟踪所有空闲和分配的分区。 但是,操作系统为此任务使用以下数据结构。

  • 位图
  • 链表

位图是存储细节最少见的数据结构。 在这个方案中,主存储器被分成分配单元的集合。 根据该过程的需要,可以将一个或多个分配单元分配给过程。 但是,分配单元的大小是由操作系统定义的,并且从不更改。 虽然分区大小可能会有所不同,但分配大小是固定的。

操作系统的主要任务是跟踪分区是空闲的还是空闲的。 为此,操作系统还管理另一个称为位图的数据结构。

分配单元中的进程或空洞由位图的标志位表示。 在下面显示的图像中,为分配单元的每一位定义了一个标志位。 但是,这并不是一般情况,它取决于操作系统,对于多少位分配单元,它想要存储标志位。

如果在分配单元中的相邻位上存在连续存在的过程,则将标志位设置为1,否则将其设置为0

位图中的一串0表示相对分配单元中有一个孔,而1的字符串表示相对分配单元中的过程。

使用位图的缺点

  1. OS必须为位图分配一些内存,因为它存储了有关分配单元的详细信息。 大量的内存不能用于加载任何进程,因此降低了多进程的程度以及吞吐量。在上图中,分配单位是4位,即0.5位。 这里,位图的1位表示1位的分配单位。

    1个分配单元的大小= 4位
    位图大小= 1 /(4 + 1)=总内存的1/5。
    

    因此,在这个位图配置中,总内存的1/5被浪费了。

  2. 要识别内存中的任何空洞,操作系统需要在位图中搜索0字符串。 这种搜索花费了大量的时间,这使得系统在一定程度上效率低下。


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)