首页计算机计算机软件计算机操作系统 07 第六章 存储管理(1).pptx

07 第六章 存储管理(1).pptx

页数:69页文件大小:403.8 KB来源: 计算机操作系统ppt课件

本课件从存储管理的五大功能入手,讲解内存分区与静态等长、动态异长两类分配方法,随后展开分页、分段与段页式存储管理方式,说明地址映射机构、快表与存储保护的实现要点。

第六章存储管理章节目录页,列出存储管理的功能、内存资源管理、存储管理方式等6个小节
6.1 存储管理功能,内/外存管理采用相同或相似的管理技术;存储分配
6.1.1 存储分配,分配/去配对象
查看本课件的文字版(共 69 页,供检索与复制)

第1页:第六章存储管理

  • 6.1 存储管理的功能
  • 6.2 内存资源管理
  • 6.3 存储管理方式
  • 6.4 外存储器管理技术
  • 6.5 虚拟存储系统
  • 6.6 系统举例

第2页:6.1 存储管理功能

  • 内存/外存的管理;
  • 内/外存管理采用相同或相似的管理技术;
  • 功能
    • 存储分配
    • 存储共享
    • 存储保护
    • 存储扩充
    • 地址映射

第3页:6.1.1 存储分配

  • 存储分配/去配
    • 记录内/外存资源的使用情况:分配表、空闲表;
    • 分配/去配对象
    • 内存、外存(相同方法) ;
    • 分配/去配时刻进程创建、撤销、交换、长度变化(栈溢出, execl)

第4页:6.1.2 存储共享

存储共享多个进程共用内存的相同区域;(物理空间有相交的部分)
目的
(1)节省内存;(2)相互通信;
内容
(1)代码共享;(2)数据共享。

第5页:6.1.3 存储保护

  • 存储保护
    • 防止地址越界;
    • 防止操作越权;
  • 存储保护以硬件为主、软件辅助
    • 发生越界或非法操作时,硬件产生中断信号。

第6页:6.1.4 存储扩充

  • 存储扩充
    • 内存、外存结合,虚拟存储体系;
    • 速度接近内存,容量相当外存。

第7页:6.1.5 地址映射

  • 地址映射:逻辑地址=>物理地址地址映射通常由软件与硬件结合实现。
  • 硬件支持
    • 基址寄存器(base)
    • 限长寄存器(limit)
    • 快表
  • 使用上述寄存器完成地址映射过程;不能正常完成地址映射时产生中断。
  • 完成地址映射的硬件机构称为存储管理部件。用户进程存储管理部件物理内存逻辑地址物理地址

第8页:6.2 内存资源管理

  • 6.2.1内存分区
  • 分区时刻
    • 静态分区:系统初始化时分;
    • 动态分区:申请时分。
  • 分区大小
    • 等长分区: 2i
    • 异长分区:依程序,程序单位,对象大小。
  • 分配形式
    • 静态+等长(页式、段页式) ;
    • 动态+异长(段式、界地址)。

第9页:6.2.2 内存分配

  • 静态等长分区的分配
    • 分配策略:分配几个等长区域;
    • 分区表示:
    • 位示图(字位映象图) ;
    • 空闲页面表;
    • 空闲页面链。
  • 动态异长分区的分配
    • 最先适应(First Fit) ;
    • 下次适应(Next Fit)
    • 最佳适应(Best Fit) ;
    • 最坏适应(Worst Fit)。

第10页:6.2.2.1 静态等长分区的分配

(1)位示图(bit map)用一个bit代表一页状态,0:空闲,1:占用。01……..1………001第n-1页第n-2页第Pa页………第2页第1页第0页分配:按页号从小到大查位示图,找到为0的位改为1,返回页号。去配:把页号对应的bit置为0。

第11页:6.2.2.1 静态等长分区的分配设位示

(bit map)定义如下:#define N 1024char bitmap[N] ;对任意页号Pa,对应数组bitmap[ ]的数组元素bitmap[K]的第几位?解:设Pa=8×K+R则Pa对应bitmap[K]的第R位。

第12页:6.2.2.1 静态等长分区的分配空闲页

(2)空闲页面表:页面个数首页面号…………4120………………占用120页121页122页123页占用……内存分配/去配:需修改空闲页面表。特点:可以分配连续页面。DMA要求

第13页:6.2.2.1 静态等长分区的分配

(3)空闲页面链:占用占用占用head空闲页面链结构分配/去配:调整链表。特点:节省空间。(不适合外存管理)

第14页:6.2.2.1 静态等长分区的分配(续)

  • 6.2.2.2动态异长分区的分配常用于界地址存储管理和段式存储管理。空闲区长度空闲区首址……......sizeaddress…………0……空闲区表
  • 初始时一个连续空闲区;
  • 空闲区首址由小到大;
  • 长度= 0为表尾。分配:按分配策略调整表项;去配:把去配的空间插入表中,可能需要合并空闲区。

第15页:6.2.2.2 动态异长分区的分配

(1)最先适应算法(First Fit) :空闲区长度空闲区首址641283225625610240…………空闲区表空闲区表:首址递增排列;申请:取第一个可满足区域;优点:尽量使用低地址空间,高区保持大空闲区域。缺点:可能分割大空闲区。如申请32将分割第一个区域。

第16页:6.2.2.2 动态异长分区的分配(续)

(2)下次适应算法(Next Fit) :空闲区长度空闲区首址641283225625610240…………空闲区表空闲区表:首址递增排列;申请:从上次分配空闲区域的下一个位置开始查找第一个可满足的区域;优点:减少查表时间开销;空闲区分布均匀。缺点:可能分割大空闲区。

第17页:6.2.2.2 动态异长分区…(续3)

(3)最佳适应算法(Best Fit) :空闲区长度空闲区首址322566412825610240…………空闲区表空闲区表:空闲区长度递增排列;申请:取最小可满足区域;优点:尽量使用小空闲区,保持大空闲区域。缺点:容易形成碎片fragment。如申请30将留下长度为2的空闲区。

第18页:6.2.2.2 动态异长分区的分配

(4)最坏适应算法(Worst Fit) :空闲区长度空闲区首址256102464128322560…………空闲区表空闲区表:空闲区长度递减排列。申请:取最大可满足区域。优点:防止形成碎片。缺点:分割大空闲区。

第19页:6.2.2.2 动态异长分区的分配(续)

例: UNIX存储分配-First Fit(见13章p384-13.4.2 )最先适应算法,空闲区首址递增排列define CMAPSIZ 100define SMAPSIZ 100struct map//存储资源表结构{ char *m_size;char *m_addr;};struct map coremap[CMAPSIZ];//内存资源表struct map swapmap[SMAPSIZ];//外存资源表

第20页:6.2.2.2 动态异长分区…(续3)

int malloc (mp, size )//存储分配函数struct map *mp;{ register int a ;register struct map *bp ;for (bp = mp; bp-> m_size ; bp ++)if ( bp-> m_size >= size ){ a= bp-> m_addr ; bp-> m_addr += size ;if (( bp-> m_size-= size ) == 0)//当前块=sizedo { bp ++;//do循环压缩size=0的存储表项(bp-1)-> m_addr = bp-> m_addr ;} while((bp-1)->m_size = bp-> m_size);return(a);//分配成功,返回分配存储块的首地址}return(0);//分配不成功,返回0}存储分配函数:mp=coremap内存分配swapmap外存分配

第21页:6.2.2.2 动态异长分区

mfree (mp, size, aa)struct map *mp;{ register struct map *bp ; register int t , a ; a = aa ;for (bp = mp; bp-> m_addr<=a && bp->m_size !=0; bp ++);if (bp >mp && (bp-1)->m_addr+(bp-1)->m_size == a){(bp-1)->m_size =+ size;//与前项存储块合并if (a+size == bp-> m_addr)//判断与后项存储块是否相连{ (bp-1)->m_size += bp->m_size;//再与后项存储块合并while (bp->m_size)//删除后项存储块表项{ bp++;(bp-1)-> m_addr = bp-> m_addr ;(bp-1)->m_size = bp-> m_size ;}}存储释放算法:mp=coremap释放内存swapmap释放外存

第22页:6.2.2.2 动态异长分区(续)

}else//是存储表项的第一项或不与前项存储块相连{ if (a+size == bp->m_addr && bp->m_size)//与后项存储块相连?{ bp-> m_addr-= size;

第23页:6.2.3 碎片与紧凑紧凑

(Compaction):移动占用区域,使所有空闲区域连成一片(开销很大)。20KB操作系统空间0 KB10KB空闲区域20 KB30KB进程p1空间30 KB10KB空闲区域60 KB20KB进程p2空间70 KB10KB空闲区域90 KB紧凑前20KB操作系统空间0 KB30KB进程p1空间20 KB20KB进程p2空间50 KB30KB空闲区域70 KB紧凑后思考:如何编写紧凑算法(程序)?

第24页:6.3 存储管理方式无虚拟功能的存储管理

  • :
  • 单一连续区存储管理
  • 页式存储管理
  • 段式存储管理
  • 段页式存储管理

第25页:6.3 存储管理方式无虚拟功能…(续)

6.3.1单一连续区存储管理也叫单对界存储管理方式:(首地址,长度)限制一个进程只占有一个连续内存区域。1.基本原理(1)内存空间划分:动态异长;(2)进程空间划分:一个进程一个区域,逻辑地址0~L-1 ;(3)进程空间与内存空间对应关系(可以浮动) :0 :L-1 :b :b+L-1 :L…………进程空间内存空间

第26页:6.3.1 单一连续区存储管理

  • (4)所需表目
  • ①内存分配表:可以在PCB中;
  • ②空闲区域表:array of ( addr , size )。(5)所需寄存器:①1个首址寄存器b:保存运行进程起始地址;②1个限长寄存器l :保存运行进程长度。

第27页:6.3.1 单一连续区存储管理(续)

  • (6)地址映射:σ: (a)→(b+a)∪{Ω}0:L-1:b:b+L-1:L…………进程空间内存空间限长寄存器首址寄存器Lb…………<逻辑地址>……………………<物理地址>…………a越界中断CMP+b+a步骤:
  • ①由程序确定逻辑地址a ;
  • ②a与L比较判断是否越界,不满足: 0≤a≤L-1,越界;
  • ③a与b相加得到物理地址。

第28页:6.3.1 单一连续区存储管理(续3)

  • 2.双对界:允许一个进程占有两个连续的内存区域。
    • 代码区域:首址寄存器、限长寄存器;
    • 数据区域:首址寄存器、限长寄存器;
    • UNIX :代码I空间、数据D空间。
  • 3.交换与重定位
    • 交换:换入(swap-in)/换出(swap-out) ;滚入(roll-in)/滚出(roll-out) ;交换的基本单位为整个进程。
    • 重定位:换入程序需重定位。
    • 可重定位程序:程序编址与内存存放位置无关;
    • 浮动程序:满足重定位要求的程序,如0起始编址。

第29页:6.3.1 单一连续区存储管理(续4)

  • 4.覆盖技术:将较大程序装入较小进程空间的技术,最大限度提高内存利用率。
    • 只将全局代码和数据静态装入内存,其它部分动态装入;
    • 后装入的成分重复使用先装入成分所使用的存储区,即覆盖先装入的成分;
    • 用户编写覆盖驱动程序,无需操作系统支持。

第30页:6.3.1 单一连续区存储管理(续5)

例[覆盖技术]:四遍扫描的编译程序符号表公共例程覆盖驱动程序覆盖区50 KB…………内存Pass130 KBPass250 KBPass425 KBPass340 KB

第31页:6.3.2 页式存储管理页式存储管理

  • (paging):一个进程占多个等长、连续内存空间;无碎片。1.基本原理⑴内存空间划分:
    • 页框:静态等长,长度2i;
    • 页框号:所有页框由0开始依次编号;
    • 页内地址:页框内单元由0开始依次编址。具体为:0~2i-1例如:内存容量为2n,则共有2n-i个页框。则页框编号为0~2n-i-1;第k个页框的起始地址为k×2i。

第32页:6.3.2 页式存储管理

2i第0页0×2i2i第1页1×2i…………2i第k页k×2i…………2i第2n-i-1页(2n-i-1)×2i内存空间划分n位地址码=页框首址+页内地址=页框号×2i+页内地址=页内地址页框号i位n-i位物理地址

第33页:6.3.2 页式存储管理(续)

6.3.2页式存储管理⑵进程空间划分:静态等长,2i,称为一个逻辑页面。2i第0页0×2i2i第1页1×2i…………2i第k页k×2i…………2i第l-1页(l-1)×2i进程空间划分=逻辑页首址+页内地址=逻辑页号×2i+页内地址=页内地址逻辑页号i位n-i位逻辑地址

第34页:6.3.2 页式存储管理(续3)

6.3.2页式存储管理⑶进程空间与内存空间对应关系:页面连续,页框可能不连续。第3页第2页第1页第0页进程空间……第79页第78页……第47页……第18页……内存空间

第35页:6.3.2页式存储管理⑷所需表目

6.3.2页式存储管理⑷所需表目
页表
页框号18477978逻辑页号0123
总页表
系统一个,记录页框使用情况两种结构:表、链。⑸所需寄存器
页表首址寄存器
系统一个。b
页表长度寄存器
系统一个。l
快表
系统一组。页框号逻辑页号…………fp…………l=4

第36页:6.3.2页式存储管理⑹地址映射

  • 6.3.2页式存储管理⑹地址映射: (p, d)→(f, d)∪{→}逻辑地址(p, d)→物理地址(f, d) :S1:由指令产生逻辑地址(p, d) ;(L=p*2i+d)S2:由p查快表得页框号f,转S3;如查不到:
  • ①p与l比较,判别是否越界:不满足: 0≤ p ≤ l–1 ,越界中断;
  • ②由p和b查页表得f;
  • ③parbegin(p,f)→快表,如满淘汰一个。f与d合并得物理地址(f, d)。parendS3:f与d合并得物理地址(f, d)。

第37页:6.3.2 页式存储管理

页表长度寄存器页表首址寄存器bl页框号……f……逻辑页号0…p…l-1进程标识pid……页表长度l页表首址b……页表进程控制块PCB页框号逻辑页号…………fp…………快表TLBdp页内地址页号逻辑地址df页内地址页框号物理地址页式存储管理地址映射快表未查到p

第38页:6.3.2 页式存储管理(续)

页表长度寄存器页表首址寄存器bl页框号……f……0逻辑页号l-1…p…页表进程控制块PCB页框号逻辑页号…………fp…………快表TLBdp页内地址页号逻辑地址df页内地址页框号物理地址Cmp p:lb+p页式存储管理地址映射fp6.3.2页式存储管理进程标识pid……页表长度l页表首址b

第39页:有效访问时间Effective Acc…

有效访问时间Effective Access Time : EAT6.3.2页式存储管理EAT =快表命中率×(快表访问时间+内存访问时间)+快表不中率×(快表访问时间+2×内存访问时间) ns例:快表命中率98%,快表访问时间20ns,内存一次访问时间100ns,则EAT =98%→(20+100)+2%→(20+200)= 122 ns

第40页:6.3.2 页式存储管理

  • 2.多级页表提出背景:内存空间和进程空间的快速增加,单级页表需要很大连续内存空间。例如:232位进程地址空间(4G),页长占212(4K),进程拥有的页面最多可达220,即系统需要提供连续的220个页表表项空间。解决策略:减少页表所占连续内存空间。
    • 二级或多级页表:外页表,内页表
    • 栈的预留空间(没有页框相对应)

第41页:6.3.2 页式存储管理(续)

01102320……95102……309498……512010230102301023…………20……95……102……309……498……512……Outer-pagetablePage tableMemory外页表对应hole的表项没有对应的内页表,访问hole表项动态建立内页表二级页表

第42页:6.3.2 页式存储管理(续3)

  • 6.3.2页式存储管理二级页表的地址映射:dpjpi
  • Logical address structure :10 bits10 bits12 bitsPage offsetPi : outer page table index ;Pj : page table displacement .Page number
  • address translation scheme :dp2p1Logical address......……Outer-pagetablep1......f……Page tablep2......Physicaladdress……memoryd

第43页:6.3.2 页式存储管理(续4)

6.3.2页式存储管理采用二级页表结构时,逻辑地址由外层页号pi,外层页内地址pj,页内地址d三部分构成。若给定一个逻辑地址空间的地址为A,系统页面大小为L,页表项的长度为N,则pi, pj和d的计算公式如下:pi = int [ int [A/L] / N ]pj = int [A/L] mod Nd = A mod L对前述二级页表结构, L=212, N=210

第44页:6.3.2 页式存储管理(续5)

  • 4级页表有效访问时间
  • EAT=快表命中率→(快表访问时间+内存访问时间)+快表不中率→(快表访问时间+5→内存访问时间) ns例[4级页表]:快表命中率98%,快表访问时间20ns,内存访问时间100ns,则EAT = 98%→(20+100)+2%→(20+500)ns=128ns

第45页:6.3.2 页式存储管理(续6)

  • 传统页表面向进程空间
    • 每个进程逻辑页面有一表项;
    • 当进程空间很大时,页表很大。
  • 反置页表面向内存空间
    • 系统只设置一个反置页表,为所有进程所用。
    • 反置页表大小固定;
    • 每个内存页框一个表项,表项序号即为页框号;
  • 3.反置页表inverted page table

第46页:6.3.2 页式存储管理(续7)

反置页表工作原理:……<内存访问>……dppid逻辑地址ppid程序0f…df物理地址反置页表……………………df个页框d物理内存

第47页:6.3.2 页式存储管理(续8)

  • 速度问题
  • 反置页表查找
    • 由表头起始,平均为表长度的一半;
    • 速度慢。
  • 解决方案:散列技术
    • 在反置页表中增加冲突计数和空闲标志;(进程号,逻辑页号)为关键字,通过Hash函数确定进程反置页表首项位置。
    • 为进一步提高速度,快表缓冲。

第48页:6.3.2 页式存储管理(续9)

6.3.2页式存储管理采用散列技术的反置页表地址映射逻辑地址dppid空闲冲突计数逻辑页号进程………...12ppid…………进程散列函数fdf物理地址采用散列技术的反置页表物理内存

第49页:6.3.2 页式存储管理(续10)

  • 6.3.3段式存储管理segmentation1.基本原理⑴内存空间划分
  • 动态划分成异长区域,每个区域称作一个物理段;
  • 物理段:段首址,段内地址(由0开始编址) ;
  • 物理地址:段首址+段内地址;段内地址段号⑵进程空间划分
  • 静态划分成异长区域,每个区域称作一个逻辑段;
  • 逻辑段:程序单位,如主程序,子程序,数据区,模块;
  • 段号:每个进程有多个逻辑段,从0开始依次编号;
  • 逻辑段的段内地址从0开始编址;
  • 逻辑地址:

第50页:6.3.3 段式存储管理占用空闲占用空闲

140 KB100 KB130 KB60 KB20 KB50 KB0 KB内存空间划分……调用[X]段入口E......访问[DATA]段A单元……调用[Y]段入口F……主程序段: [main]段号=0050KB-1......……F: …………子程序段: [Y]段号=2030KB-1………E:…………子程序段: [X]段号=3040KB-1………A: …………子程序段: [DATA]段号=1030KB-1…进程空间

第51页:6.3.3 段式存储管理占用空闲…(续)

6.3.3段式存储管理⑶进程空间与内存空间对应关系进程P段[main]段号=0进程P段[data]段号=1进程P段[Y]段号=2进程P段[X]段号=3050KB-100030KB-140KB-130KB-1……………………………………………………120 KB390 KB480 KB810 KB50 KB30 KB30 KB40 KB120 KB220 KB60 KB300 KB

第52页:6.3.3 段式存储管理占用空闲

6.3.3段式存储管理⑷所需表目①段表:段长段首址段号50 KB120 KB030 KB390 KB130 KB480 KB240 KB810 KB3②空闲表:系统一个array of (addr,size)长度首地址120 KB0 KB220 KB170 KB60 KB420 KB300 KB510 KB

第53页:6.3.3 段式存储管理占用空闲(续)

  • 6.3.3段式存储管理⑸所需寄存器
  • ①段表首址寄存器一个:
  • ②段表长度寄存器一个:
  • ③快表:系统一组bl段长度段首址段号………………l’b’s

第54页:逻辑地址(s, d)→物理地址(b’+…

  • 逻辑地址(s, d)→物理地址(b’+ d) :S1:由指令产生逻辑地址(s, d) ;S2:由s查快表得b’和l’,如查到转S3;否则:
  • ①s与l比较,判别是否越界:不满足: 0≤ s ≤ l–1 ,越界中断;
  • ②由s和b查段表得b’和l’,parbegin
    • d与l’比较,不满足:0≤d≤l’-1 ,越界;b’+d得物理地址。
    • (s,b’,l’)→快表,如快表满淘汰一个;parendS3:d与l’比较,不满足:0≤d≤l’-1 ,越界;S4:b’+d得物理地址。6.3.3段式存储管理⑹地址映射:: (s, d)→( b’+ d )∪{→}

第55页:6.3.3 段式存储管理段长段首址

l’b’…………段号0…s…l-1进程标识pid……段表长度l段表首址b……段表进程控制块PCB段长段首址段号…………l’b’s…………快表TLB段式存储管理地址映射偏移段号逻辑地址dscmp物理地址b’+d+段表长度reg段表首址regbl若快表查不到s

第56页:6.3.3 段式存储管理段长段首址(续)

l’b’…………段号0…s…l-1进程标识pid……段表长度l段表首址b……段表进程控制块PCB段长段首址段号…………l’b’s…………快表TLB段式存储管理地址映射l’b’s偏移段号逻辑地址dscmp物理地址b’+d+段表长度reg段表首址regbl+cmp

第57页:6.3.3 段式存储管理

2.段的共享与保护⑴段的共享:不同进程的段号Spi和Spj对应同一个段的段首址和段长即可实现不同进程对段的共享。段长度段首址…………l’b’…………P1段表……si段号段长度段首址…………l’b’…………P2段表……sj段号……共享段……b’:l’内存空间

第58页:6.3.3段式存储管理⑵段的保护

6.3.3段式存储管理⑵段的保护:不同进程对共享段的访问权限不同,需要在段表中加上访问权限。访问权限段长度段首址EWR…………………………101l’b’…………………………段表的改进……s段号访问权限段长度段首址段号EWR…………………………101l’b’s…………………………快表的改进

第59页:6.3.3段式存储管理共享段表

6.3.3段式存储管理共享段表:系统1个,记录所有共享段。main1子程序X子程序Y……datamain2data子程序Y子程序X首址段长度P10段号P21234首址段长度0段号123段表其它段首址段长度共享计数段名2X2Y2data共享段表●●●main1XDataYmain2●●●主存

第60页:6.3.3 段式存储管理

段式管理页式管理二维地址空间一维地址空间段是逻辑单位页是物理单位段的大小可变页的大小固定对用户可见对用户透明有碎片无碎片便于共享、保护通常不共享页式管理和段式管理的比较:

第61页:6.3.3 段式存储管理(续)

  • 段式优于页式便于共享和保护
  • 页式优于段式消除“碎片”问题
  • 段页式:结合二者优点
    • 每个进程包含若干段;
    • 每个段包含若干页。6.3.4段页式存储管理segmentation with paging

第62页:6.3.4 段页式存储管理

1.基本原理⑴内存空间划分(同页式)静态等长, 2i,称为一页框;物理地址== (f,d)。页内地址页框号n-i位i位⑵进程空间划分一个进程→若干个逻辑段;一个逻辑段→若干个逻辑页面;逻辑地址==(s,p,d)。段号页内地址逻辑页号i位j位n-i-j位

第63页:6.3.4 段页式存储管理(续)

⑶进程空间与内存空间对应关系6.3.4段页式存储管理第0页第1页第2页第0页第1页第2页第0页第1页第0段第1段第2段……第11页第12页……第28页第29页……第84页……第90页……第96页……第99页……进程空间内存空间

第64页:6.3.4 段页式存储管理(续3)

  • ⑷所需表目6.3.4段页式存储管理
  • ①段表:页表长度页表首址段号……0………l’b’S……………l-1②页表:每个段一个。页架号……f……
  • ③总页表:系统一个,记录和管理内存页面。结构:位示图、表、链。逻辑页号0…p…l’-1

第65页:6.3.4 段页式存储管理(续4)

6.3.4段页式存储管理⑸所需寄存器
①段表首址寄存器一个:保存正运行程序段表首址。
②段表长度寄存器一个
保存正运行程序段表长度。
③快表
系统一组(快段表+快页表)bl页框号逻辑页号段号………………fps

第66页:6.3.4 段页式存储管理(续5)

  • 逻辑地址(s, p, d)→物理地址(f, d) :S1:由指令产生逻辑地址(s, p, d) ;S2:由(s, p)查快表得页框号f,如查到转S3;否则:
  • ①s与l比较,判别是否越界,不满足: 0≤s≤l-1,越界;
  • ②由s和b查段表得(b’, l’);
  • ③由p与l’比较判断是否越界,不满足:0≤p≤ l’-1,越界;
  • ④由b’与p查页表得f,parbegin(s,p,f)→快表,如快表满淘汰一个;由f与d合并得物理地址(f, d);parendS3:由f与d合并得物理地址。⑹地址映射:: (s, p, d)→(f, d)∪{→}

第67页:6.3.4 段页式存储管理页表长页表首址

l’b’…………段号0…s…l-1进程标识pid……段表长度l段表首址b……段表进程控制块PCB页框号页号段号…………fps…………快表TLB段页式存储管理地址映射段表长度reg段表首址regbldps偏移段号逻辑地址页号df页框号……f……逻辑页号0…p…l’-1页表物理地址偏移页框号若快表查不到(s,p)

第68页:6.3.4 段页式存储管理页表长…(续)

l’b’…………段号0…s…l-1进程标识pid……段表长度l段表首址b……段表进程控制块PCB页框号页号段号…………fps…………快表TLB段页式存储管理地址映射fps段表长度reg段表首址regbldps偏移段号逻辑地址页号df页框号……f……逻辑页号0…p…l’-1页表cmp+cmp+物理地址偏移页框号

第69页:6.3.4 段页式存储管理

2.段的共享与保护段页式存储管理的段的共享与保护与段式存储管理类似。

顶部目录