操作系统之分页储存管理(复习的同学进)

这里的概念非常多,那么我们来理一下这里的概念吧

知识点

首先分为两部分用户进程内存
区域

内存

将内存空间分为大小相等的块,每一块称之为页框(内存块),把每一块的编号称之为页框号(内存块号)

用户进程

将用户进程的地址空间分为与页框大小相等的块,称之为页面(页),每个页面的编号称之为页号

页表

在这里插入图片描述

  1. 操作系统为每个进程创建一个页表
  2. 每一页(页面)对应一个页表项,每个页表项长度相等(页表长度=页面个数s,每项的位数=内存号范围所站的字节 页面大小4KB 物理内存大小2MB,内存号范围=221/212=2^9B 为2个字节)
  3. 每个页表项由页号和内存号组成
  4. 页表记录页面和内存块之间对应的关系
    图片来源于互联网

计算

事前准备

在这里插入图片描述
页号:逻辑地址/页面长度

页内偏移量:逻辑地址%页面长度

物理地址=起始地址+页内偏移量

页面长度 为 2^20B 可以得出:

  1. 页内偏移量的位数是20位
  2. 内存块的大小为2^20B(内存块=页面)

逻辑地址长度为2^30B , 页面长度为2^20B,可以得出:

  1. 页号的位数是10位

对上面的在变个型 有M位页号代表什么,有N位页内偏移量代表什么

  1. M 代表 有2^M个页面 . N 代表有N页面大小为2^N B

基本地址变换机构

基本地址变换机构可以借助页表将进程的逻辑地址转化为物理地址

  1. 计算 页号 和 页内偏移量
  2. 判断页号P 是否大于等于 页表长度M P>=M 则产生越界中段
  3. 页表中页号P所对应的页表地址=页表起始地址+P*页表项长度,从该地址中取出内存块号 b
  4. 物理地址=b*页面大小+页内偏移量

例题
在这里插入图片描述

引入快表

  • 页表又称为慢表。
  • 快表又称联想寄存器 TLB 是一种访问速度很快的高速缓冲储存器
  • 引入块表后,快表可储存访问过的页面,及内存块号,之后就可以直接通过快表访问物理地址对应的内存单元,因为只访问了一次内存,所以可以节省访问时间(不用快表则需两次访问内存,访问页表一次,访问内存单元一次

在这里插入图片描述
注意使用快表后的时间计算

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章