不连续分配
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 | 页表缓存 | 高速缓存 )