ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

操作系统—王道考研学习笔记 <3.1_6> 分页存储管理

2021-06-19 13:32:54  阅读:273  来源: 互联网

标签:存储管理 12 3.1 物理地址 地址 内存 页表 页面 考研


对应课程视频链接 : 王道考研—操作系统 — 分页存储管理

分页存储管理的先导知识:
非连续固定分区分配在这里插入图片描述
导入正式概念:
在这里插入图片描述
注意:
(1)进程可以被分块,内存也可以被分块
(2)内存块 = 物理块 = 页框 = 页帧,是内存上的结构
(3)而对于进程来说,进程被分成的原单位为页面(页),且每个页面有页号,页号从0开始

在这里插入图片描述
动态重定位:
将进程放入内存时不着急计算物理地址,当需要调用时再计算物理地址,利用了重定位寄存器,重定位需要硬件支持
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
注意:二进制换算的一些小tips
(1)2的多n次方化成十进制数就是1后跟n个0,如2为10,8为1000,1024为1后跟10个0,4096为1后跟12个0
(2)2的n次方 - 1 为 n个1,如4095为 (2^12 -1) = 12个1

理解:
该题中共32位,页面大小位2的12次方,故页内地址由12位二进制数表示,共可有2^12=4096个基本存储单元(地址), 故0号页的逻辑地址空间应该是0~4095
在这里插入图片描述

  • 前20位即代表了页号,注意!要找到是该页号的起始地址而不是整个进程的零号页的起始地址,因为进程页面在内存块中的位置分配大概率不是连续的!所以要找的是具体页号对应的内存中的起始物理地址

  • 后12位代表了偏移量,所以当找到了该页号对应的起始地址x,则用x+后12位(页内偏移量)即可计算出其真实物理地址
    在这里插入图片描述
    在这里插入图片描述


页表:
系统会为每一个进程建立一个页表,而进程中的每一个页(面)都会对应页表中的一个页表项
在这里插入图片描述

  • 前面的总结到:
    计算机知道了一个页的逻辑地址和页面大小就可以很快的计算出其页号和页内偏移量

  • 注意:
    注意页表中 页号代表的是进程的页面的页号,块号代表的是内存的内存块号
    在这里插入图片描述
    在这里插入图片描述

注意理解:
何为页表项?
在这里插入图片描述
在这里插入图片描述

何为页表项长度?

  • 由于页表中页号是”隐式“的,故页表中的每一个页表项只是内存块号,页表项长度即表示块号所需要的二进制位数(bit(能表示1位二进制位)->Byte(能表示八位二进制位)为单位)

为何页表中页号可以是"隐式"的?

  • 这一部分完全讨论的是页表,因为页表也被存储在内存当中,而且页表中页表项的存储一定是连续的
  • 故只要知道:
    (1)页表存放在内存中的起始地址X
    (2)页表项大小M
    (3)目标页号N的物理起始地址D
    则可以知道具体是哪个页号,即N = (D-X)/M

反向思考
若是已知页号N求该页在内存中的起始物理地址X:
则有 目标页号物理始址 D = X + N * M,(N * M即页号*页表项长度)

需要格外注意而不要混淆的是:

  • 这里的操作只是为了在内存的页表中去目标页号对应页表项的内存地址中,取出那 M字节(页表项长度)的内存块号,得到了这个块号,才会去相应内存块查找页面的内容或计算逻辑地址相应的物理地址
  • 虽然页表的存储是连续的,但是页面的存储是离散的。故对于页面的物理地址计算不能采用页表那种找出整个页表的首地址就计算的方法,一定要找到具体某个页面的首地址而不是整个页面集合(进程)的首地址。

在这里插入图片描述

注意:
该总结图中“如何实现地址转换”的一栏没有考虑到页表的问题,或者说是在第二步缺省了。若是考虑页表的问题,具体的步骤应如下:

分页式存储管理由逻辑地址计算物理地址(考虑页表)

  1. 根据逻辑地址计算出页号
  2. 根据页面大小K和内存大小C算出页表项长度M,即基于K这样的页面大小来划分内存块,则最大内存块/物理块/页框/页帧号最少需要用多少位二进制数来表示
  3. 根据页表的起始地址X 以及页表项长度M 算出页号对应页表项在内存的起始地址 D=X + N*M
  4. 去内存地址为D的地方取出该页号对应页面在内存中存储的内存块号U
  5. 将内存块号U * 页面大小K(也就是根据页面大小K而划分的内存块大小) 得到 具体页面在内存中的物理起始地址begin
  6. 逻辑地址 % 页面大小 = 偏移量offset
  7. 到现在终于可以得出一个进程的逻辑地址在内存中的物理地址 = 物理始址begin + 偏移量offset

标签:存储管理,12,3.1,物理地址,地址,内存,页表,页面,考研
来源: https://blog.csdn.net/weixin_47826078/article/details/118052273

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有