操作系统 第四章 内存离散分配 分页--笔记*1

基本分页存储管理方式

在这里插入图片描述

概念
内存划分成多个小单元,每个单元K大小,称(物理)作业也按K单位大小划分成片,称为页面
为了找到被离散分配到内存中的作业,记录每个作业各页映射到那个物理块 ,形成页面映射表,简称页表
页表记录的是页号到物理块号的地址映射

假如要找到作业A,找到页表(通过PCB,页表位置记录在PCB中)–>根据页表找到物理快

页表实际存放的位置是内存(或者页表寄存器中)

在这里插入图片描述

地址的处理方式连续方式下,每条指令用基地址+偏移地址则可找到物理地址

在这里插入图片描述

由上图可以看出:页面大小为8B(8条指令),则页内地址需要三位二进制数来表示,作业大小32B,32/8=4,则需要4个块,所以在地址中取后三位表示页内地址,(四个页面需要2个二进制位表示,所以再取倒数45位作为块地址),括号中只是举个例子因为并不一定是连续存储,但是原理就是如此,除去后三位其余的表示块号,例如上图中第三页存到了第七个块中,则它的块号为111(页号与块号的映射关系存在页表中)
在这里插入图片描述

规律
作业相对地址在分页下不同位置的数有一定的意义结构:
页号+页内地址(即页内偏移)
关键的计算是:根据系统页面大小找到不同意义二进制位的分界线。
从地址中分析出页号后,地址映射只需要把页号改为对应物理块号,偏移不变,即可找到内存中实际位置。

**注意:**一作业所有指令在用户地址空间是顺序编址

举例说明
在这里插入图片描述

在这里插入图片描述
答:页面大小4K=2^12,所以需要12位二进制数来表示页内地址,作业大小32K,32/4=8,所以需要八页(即8个块),需要三个二进制数表示。

在这里插入图片描述
这里的页表的大小是指存块号占的地址

访问内存的有效时间

进程发出逻辑地址的访问请求,经过地址变换,到内存中找到对应的实际物理地址单元并取出数据,所需花费的总时间,称为内存的有效访问时间EAT(effective access time)

设访问一次内存时间为t,则基本分页机制下EAT=2t
:因为操作一条指令需要访问内存两次

减少第1步访问内存的时间。增设一个具有“并行查询”能力的高速缓冲寄存器,称为“快表”,也称“联想寄存器”(Associative memory),IBM系统称为TLB(Translation Look aside Buffer)。
此时:设一次查找访问快表时间为t’ ,则
EAT= at’ + (1-a)(t’+t) + t
= 2t +t’ -t
a

两者比较:
在这里插入图片描述

在这里插入图片描述

两级页表

在这里插入图片描述

理解
当页表中的项太多,会存在一个页表放不下的情况(毕竟页表也是存在内存中,当内存的一个块放不开页表,就会将一个页表分开放入两个块中,为了能找到这两个页表的位置,就引入了二级页表,又称为外表用来存放页表分开后的位置)

如图:

在这里插入图片描述

理解:
外页号的取值同前边页号的取值一样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值