内存之分页机制

标签: 分页 分段 重定位
5人阅读 评论(0) 收藏 举报
分类:

背景知识

 逻辑地址:指程序的地址空间,与内存的真实物理地址无关。

物理地址(绝对地址):是数据在内存中的实际地址。

分页

思想

将进程的逻辑地址空间和真实内存地址空间划分为大小相等、固定的若干块。在进程中叫做页,内存空间中叫做页框,二者大小相等。进程由许多页构成,每页映射到内存中的一个页框中,操作系统为每个进程维护单独的页表,页表中的每个页表项存放页到页框的映射关系,这样进程可离散地存放于内存中,有效提高了内存利用率。

分页中的逻辑地址:由(页号,偏移量)组成。

分页中的物理地址:由(页框号,偏移量)组成。

分页机制

基址寄存器存放页表的起始地址,将虚拟地址中的页号与基址寄存器中内容相加,得到该虚拟地址所在页对应在内存中的页框号,再将页框号与偏移量相加,就得到对应的物理地址。具体原理如下:


图1 分页机制图

分段

(同理)

查看评论

详解Windows内存分页机制

原文链接: http://bbs.pediy.com/showthread.php?t=135274 标 题: 【原创】详解Windows内存分页机制 作 者: 莫灰灰 时 间: 2011-06-...
  • qiaoli278141408
  • qiaoli278141408
  • 2015-03-14 13:53:07
  • 1305

Linux分页机制之分页机制的实现详解--Linux内存管理(八)

日期 内核版本 架构 作者 GitHub CSDN 2016-09-01 Linux-4.7 X86 & arm gatieme LinuxDeviceDrive...
  • gatieme
  • gatieme
  • 2016-09-01 20:08:51
  • 4004

内存管理与分页机制

一、问题提出:我们经常会使用malloc()以及free()函数进行堆区内存申请与释放。那么你是否会这样做:int * p = malloc(0);/*malloc分配了0个字节吗,如果是那么p指向谁...
  • Apollon_krj
  • Apollon_krj
  • 2016-12-25 12:25:44
  • 1893

Linux内核源码分析--内存管理(一、分页机制)

最开始的地方是在head汇编中,如果看boot中那三个汇编的应该记得(那三个汇编还是比较重要的)。首先是分页机制,在CR0的第31位(PG位)置1表示开启分页机制,顺便也介绍下其他几个控制寄存器:CR...
  • YuZhiHui_No1
  • YuZhiHui_No1
  • 2015-01-22 16:30:52
  • 2882

分页机制_改变地址映射关系

关键是页目录页表初始化  和PSwitch中的切换 PageDirBase0      equ    200000h PageTblBase0      equ    201000h PageDir...
  • didihe1988
  • didihe1988
  • 2013-10-07 11:05:08
  • 645

Linux分页机制之分页机制的演变--Linux内存管理(七)

日期 内核版本 架构 作者 GitHub CSDN 2016-09-01 Linux-4.7 X86 & arm gatieme LinuxDeviceDrive...
  • gatieme
  • gatieme
  • 2016-09-01 20:01:31
  • 2913

分页机制(个人理解)

1.概述:   分页机制是80X86 内存管理机制的第二部分。它在分段机制的基础上完成了虚拟(逻辑)地址到物理地址转换的过程。分段机制把逻辑地址转换成线性地址,而分页机制则把线性地址转换成物理地址。 ...
  • liutianshx2012
  • liutianshx2012
  • 2016-09-01 12:17:00
  • 1790

深入理解计算机系统-之-内存寻址(六)--linux中的分页机制

[注意] 如果您当前使用的系统并不是linux,或者您的系统中只有一份linux源码,而您又期待能够查看或者检索不同版本的linux源码 可以使用 http://lxr.free-e...
  • gatieme
  • gatieme
  • 2016-02-27 19:38:59
  • 2495

关于内存的分段与分页机制

分段机制:   在8086时期,寄存器是16位,无法存放20位的物理地址,为了解决这问题,人们提出了分段机制,分段机制就是将内存分段,每段大小64kb(正好由16位表示),在段寄存器中放入段基址,然...
  • Scythe666
  • Scythe666
  • 2016-07-15 14:49:29
  • 2608

深入详解保护模式下的内存分页机制

386及更高型号处理器使用内存分页机制,这使得同一个线性地址可以被映射为多个物理地址,这种映射是通过分页单元这一特殊的硬件电路实现的。通常程序中所使用的线性地址是由链接器帮我们产生的,而操作系统通过维...
  • qq308845474
  • qq308845474
  • 2015-10-04 11:52:32
  • 802
    个人资料
    持之以恒
    等级:
    访问量: 1万+
    积分: 617
    排名: 8万+