计算机操作系统基础笔记 操作系统有哪些状态( 八 )


(2)从PTR中得到页表首址,然后检索页表,查找指定页面对应的页框号;
(3)用页框号乘以页面大小获得其对应的起始 地址,并将其送入物理地址的高端 。
(4)将页内偏移量送入物理地址低端,形成完整的物理地址 。
快表为了提高地址变换速度,为进程页表设置一个专用的高速缓冲存储器,称为快表 TLB(Translation Lookaside Buffer),或联想存储器(Associative Memory) 。专门保存当前进程最近访问过的一组页表项 。
Δ\” role=\”presentation\” style=\”box-sizing: border-box; position: relative;\”>ΔΔ地址变换过程(快表)根据逻辑地址中的页号 ,查找快表中是否存在对应的页表项 。
若快表中存在该表项,称为命中(hit),取出其中的页框号,加上页内偏移量 ,计算出物理地址 。
若快表中不存在该页表项 ,称为命中失败 ,则再查找页表,找到逻辑地址中指定页号对应的页框号 。同时,更新快表,将该表项插入快表中 。并计算物理地址.
访问内存的有效时间 EAT定义:从进程发出指定逻辑地址的访问请求,经过地址变换,再到内存中找到对应的物理单元并取出数据,所花费的总时间 。
多级页表存储大页表,① 采用离散分配方式来解决难以找到一块连续的大内存空间的问题,(即引入两级页表),② 只将当前需要的部分页表项调入内存,其余的 页表项仍驻留在磁盘上,需要时再调入 。
对于要求连续的内存空间来存放页表的问题:
可将页表进行分页,并离散地将各个页面分别存放在不同的物理块中,
同样也要为离散分配的页表再建立一张页表,称为外层页表(Outer Page Table),在每个页表项中记录了页表分页的物理块号 。
反置页表(1)IPT是为主存中的每一个物理块建立一个页表项并按照块号排序;
(2)该表每个表项包含正在访问该物理块的进程标识、页号及特征位,用来完成主存物理块到访问进程的页号的转换 。
地址转换过程(反置页表)逻辑地址给出进程标识和页号,用它们去比较 IPT, 若整个反 置 页表中未能找到匹配的页表项 , 说明该页不在主存, 产生请求调 页中断 , 请求操作系统调入;否则,该表项的序号便是物理块号,块号加上位移,便形成物理地址 。
Δ\” role=\”presentation\” style=\”box-sizing: border-box; position: relative;\”>ΔΔ分页存储管理的优点

  • 减少碎片
  • 程序不必连续存放,便于装入
  • 便于管理
  • 能实现动态链接
分页存储管理的缺点
  • 程序必须全部装入内存,才可以运行
  • 操作系统必须为每一个任务都维护一张页面,开销比较大,简单的页面结构已经不能满足要求,必须设计更复杂的结构,如:多级页表结构、哈希页表结构、反置页表
分段式存储管理
  1. 方便编程
    模块化程序设计的分段结构
  2. 分段共享
    段是信息的逻辑单位,可以为共享过程建立一个独立的段,更便于实现程序和数据的共享 。
  3. 分段保护
    对内存中的信息的保护,同样也是对信息的逻辑单位进行保护 。采用分段存储管理,对实现保护,将是更有效和方便 。
  4. 动态链接
    程序运行时,先将主程序所对应的目标程序装入内存并启动运行,当运行过程中又需要调用某段时,才将该段调入内存并进行链接 。
  5. 动态增长
    在实际使用中,往往有些段,特别是数据段会随着程序的运行不断增大,而这种增长事先并不知晓会增长到多大,采用其它存储管理方式是难以应付的,而分段存储管理却能较好的解决这一问题 。
分段系统的基本原理
  1. 分段
    作业地址空间按逻辑信息的完整性被划分为若干个段;段内的地址空间是连续的 。实现分段管理的关键在于,如何保证分段 (二维)地址空间中的一个作业在线性(一维)的存储空间中正确运行 。也就是说,如何把分段地址结构变换成线性的地址结构,和分页管理一样,可采用动态重定位技术,即通过地址变换机构来实现 。
  2. 段表
    为每个分段分配一个连续的分区,而进程中的各个段可以离散地移入内存中不同的分区中 。实现从逻辑段到物理内存区的映射 。每个表项(段描述子)至少有三个数据项:段长、主存起始地址和存取控制 。

    推荐阅读