网站设计中怎么做二级页面,南山网站建设乐云seo,哪个网站是做安全教育,长沙最好的装修公司排名[TOC](《Linux操作系统原理分析之存储管理#xff08;2#xff09;》#xff08;15#xff09; 5 存储管理5.4 分页存储管理5.4.1 纯分页存储管理a.页#xff08;页面#xff09;和物理块#xff08;帧#xff09;b. 页面大小c. 逻辑地址结构 5.5 存储扩充技术5.5.2 交… [TOC](《Linux操作系统原理分析之存储管理2》15 5 存储管理5.4 分页存储管理5.4.1 纯分页存储管理a.页页面和物理块帧b. 页面大小c. 逻辑地址结构 5.5 存储扩充技术5.5.2 交换技术5.5.3 虚拟存储技术虚拟存储器的基本概念 5.5.4 请求式分页存储管理 5 存储管理
5.4 分页存储管理
5.4.1 纯分页存储管理 a.页页面和物理块帧
分页存储管理把进程的地址空间划分为大小相等的片段成为页或页面。相应地内存空间也分成与页面相同大小的若干块成为物理快或帧。
b. 页面大小
页面大小通常在 512k~4k大小必须适中。Why?四个因素刘乃琦 P84 因为若页面太小一方面课时内存碎片小减少了内存碎片的总空间有利于提高内存的利用率但另一方面也会使每个进程要求较多的页面从而引起页表过长占用大量内存此外还会降低页面换进换出的效率。若选择较大的页面虽然可减少页表的长度提高页面换进换出的效率但却又会使页面 碎片增大。因此页面大小应选择适中。
页面碎片 分页方式中也会出现内存碎片它们都分布在每个作业的最后一个页面内部故称为页面碎片。
c. 逻辑地址结构
页面大小为 2101K 举例逻辑地址 5000 最多可以有 2664 页 可转换为 4*1024904
5.5 存储扩充技术
覆盖是指一个作业的若干程序段或几个作业的某些部分共享某一个存储空间。 覆盖技术的实现是把程序化分为若干个功能上相对独立的程序段按照其自身的逻辑结构使那些不会同时执行的程序段共享同一快内存区域。程序段先保存在磁盘上当有关程序段的前一部分执行结束后把后续程序调入内存覆盖前面的程序段。
覆盖不需要任何来自操作系统的特殊支持可以完全由用户实现即覆盖技术是用户程序自己附加的控制。覆盖技术要求程序员提供一个清楚的覆盖结构即程序员要把一个程序化分成不同的程序段并规定好他们的执行和覆盖的顺序。操作系统则根据程序员提供的覆盖结构完成程序段之间的覆盖。
覆盖可以有编译程序提供支持被覆盖的块是由程序员或编译程序预先在执行前确定的。总之覆盖可以从用户级彻底解决内存小装不下程序的问题。 覆盖技术要求用户清楚地了解程序的结构并制定各程序段调入内存的先后次序以及内存中可以覆盖掉的程序段的位置等。对用户是不透明的。因此通常用于系统程序的内存管理上因为系统软件设计者容易了解系统程序的覆盖结构。
例如把磁盘操作系统分为两部分一部分是操作系统中经常用到的基本部分它们常驻内存且占用固定区域另一部分是不太经常使用的部分他们存放在磁盘上当调用它们时才被调入内存覆盖区。
5.5.2 交换技术
对换——指把内存中占时不能运行的进程或暂时不用的程序和数据换出到外存上以腾出足够的内存空间把已具备运行条件的进程或进程所需要的程序和数据换入内存。
如果对换是以整个进程为单位称之为“整体对换”或“进程对换”。这种对换被广泛地应用于分时系统如果对换是以“页”或“段”为单位则分别称之为“页面对换”或“分段对换”又称为“部分对换”。这种对换方法是实现请求分页及请求分段式虚拟存储器的基础。
与覆盖技术相比交换技术的特点是交换过程对用户是透明的但需要更多的硬件支持。
5.5.3 虚拟存储技术
解决内存不足 a加内存条。 b覆盖技术、整体对换 c虚拟技术 虚拟存储器的基本概念
1 常规内存管理方式的特征
a 一次性
b 驻留性一次性和驻留性是许多不用或暂时不用的程序数据占据了大量的内存空间将使一些需要运行的作业无法装入运行。现在的问题是一次性、驻留性是否是存储器管理所必需的。
2 局部性原理
局限性时间局限性、空间局限性局部性原理principle of locality在一个作业运行的某一段时间它所访问的地址空间往往只集中在某几页 它所访问的地址空间往往只集中在某几页而不是整个程序的所有部分都具有平均的 而不是整个程序的所有部分都具有平均的访问概率这种现象称为局部性原理 这种现象称为局部性原理。
3 虚拟存储器的引入 当一个作业的地址空间很大时不能别全部装入内存但基于局部性原理允许只将当前要运行的那部分程序和数据先装入内存便启动运行其余部分仍驻留在外存上在需要时在通过调入功能和置换功能将其调入内存。
Def虚拟存储器是只具有请求调入功能和置换功能能从逻辑上对内存容量进行扩充的一种存储器系统。
在多道系统中使用虚拟存储技术不管物理内存空间多大系统都可以为每个用户的作业提供很大的独立的虚拟空间。例如 linux 操作系统中可以为每个用户作业提供高达 4G 的虚拟空间。
虚拟存储空间中的地址称为虚拟地址。虚拟地址空间大小由虚拟地址的长度决定。由于虚拟空间比物理内存的容量大的多所以系统提供的虚拟地址的长度大于主存的绝对地址的长度例如在80x86 中绝对地址是 32 位的而虚拟地址是 46 的。
4 虚拟存储器的特征 a 多次性 b 对换性 c 离散性多次性和对换性必须建立在离散分配的基础上故虚拟存储管理必须建立在离散分配系统基础上。 5.5.4 请求式分页存储管理
数据结构 数据结构——页表PMT 在请求分页系统中的页表时在分页系统的页表的基础上增加如下几项 页号 物理块号 状态位 访问字段 修改位 外存地址 状态位用于指出该页是否已调入内存 访问字段用于记录本页在一段时间内别访问的次数提供给置换机构参考 修改位表示该页在调入内存后是否被修改过由于内存中的每一页都在外存上保留一份副本因此若未被修改在置换该页时就不需要将该页写回到外存上否则必须将该页重写到外存上以保证外存中所保留的始终是最新的副本。 外存始址指出该页在外存上的地址供调入该页时使用。
2.页面淘汰算法 优化 or 最佳淘汰算法OPT淘汰将永不再使用的页面或最长时间内不再访问的页面。无法实现仅作为标准 最近最就不用算法LRU:Least Recently Used Replacement当需要置换一页面时选择在最近一段时间内最久不用地页面予以淘汰。 近似 LRU 算法——NRUnot Recently Used FIFO 算法淘汰最先进入内存的页面即在内存中驻留时间最长的页面。 缺点 a. 内存利用率不高——由于该算法基于 Cpu 按线性顺序访问的地址空间的而许多时候cpu 不是按线性顺序访问地址空间如执行循环时那些在内存中停留时间长最长的页往往是经常被访问的页。 b. 会出现异常现象——Belady 现象一般来说内存帧越多一个作业发生缺页的次数就越少。如果给一个进程分配了它所需要的全部页面则不会发生缺页现象但 Belady 举出了反例例如使用 FIFO 算法时在未给进程或作业分配足它所需要的页面时有时会发生分配的页面数越多缺页次数反而增加的奇怪现象。这种现象称为 Belady 现象。