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

进程管理

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

同步

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

死锁

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

内存管理

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

文件管理

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

查找最佳页面大小


我们已经看到,较大的页表会导致额外的开销,因为必须将该表分成页面,然后将其存储到主内存中。

我们担心的是执行进程而不是执行页表。 页表为执行过程提供了支持。 页面越大,开销越高。

例如,我们知道 -

页面大小=页面表中的页面条目数量一个页面条目的X大小
下面来看一个例子,
虚拟地址空间= 2 GB = 2 X 2 ^ 30字节
页面大小= 2 KB = 2 X 2 ^ 10字节
页表中的页数=(2 X 2 ^ 30)/(2 X 2 ^ 10)= 1 M页

将会有100万页这是相当大的数字。 但是,尝试使页面大小更大,例如:2MB。

然后,页表中的页数=(2 X 2 ^ 30)/(2 X 2 ^ 20)= 1K页。

如果比较两种情况,可以知道页面大小与页面大小成反比。

在分页中,最后一页总会有浪费。 如果虚拟地址空间不是页面大小的倍数,那么将剩余一些字节,并且必须将整个页面分配给那些许多字节。 这只是一个开销。

让我们考虑一下,

页面大小= 2 KB
虚拟地址空间= 17 KB
然后页数 = 17 KB / 2 KB

页数将为9,但第9页只包含1个字节,剩余的页面将被浪费。

一般来说,

如果页面大小= p个字节
项目大小= e字节
虚拟地址空间= S字节
然后,开销:O =(S / p)X e +(p / 2)

平均而言,虚拟空间中浪费的页面数量为p / 2(总页数的一半)。

因为,最小的开销,

∂O/∂p = 0   
-S/(p^2) + ½ = 0  
p = √ (2.S.e) bytes

因此,如果页面大小为√(2.S.e)字节,则开销将很小。


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)