不连续分配

Posted juanzhi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不连续分配相关的知识,希望对你有一定的参考价值。

基本分页存储管理方式

  基本地址变换过程

  1)页号和页内偏移量

  2)页号和页表长度比较,判断是否越界

  3)页表项地址 = 页号 x 页表项长度 + 页表起始地址;根据页表项地址取出内容,是物理块号。

  4)物理地址 = 物理块号 x 页面大小 +  页内偏移量

  快表

  传统的地址变换过程需要两次访存:1)访问页表  2)根据地址取内容

  TLB:联想寄存器。根据页号和TLB,能直接得到物理块号。

基本分段存储管理方式

  为了考虑程序员和用户,可以把用户进程分段,段内连续,段间不要求连续。

  地址变换过程

  1) 逻辑地址分为段号S 和段内偏移量 w

  2) 段号和段表长度比较,判断是否越界

  3)段表项地址 = 段号 x 段表项长度 + 段表起始地址 。

   段表:段号  段长 本段在主存中的位置。

    根据段表项地址,实际上拿到的是段表中的段号,然后找到了段长,比较段长和 段内偏移量,是否越界中断

  4)从段表中取出本段在主存中的起始位置 b ,最终物理地址 E = b + w。

 

   

  

  

以上是关于不连续分配的主要内容,如果未能解决你的问题,请参考以下文章

不连续分配

Linux 内核 内存管理内存管理架构 ③ ( Linux 内核中的内存管理模块 | 页分配器 | 不连续页分配器 | 内存控制组 | 硬件设备内存管理 | MMU | 页表缓存 | 高速缓存 )

内存连续分配管理方式

Linux 内核 内存管理内存管理架构 ③ ( Linux 内核中的内存管理模块 | 页分配器 | 不连续页分配器 | 内存控制组 | 硬件设备内存管理 | MMU | 页表缓存 | 高速缓存 )

[转]JVM堆和栈的区别

JVM内存分配