博客
关于我
进程虚拟地址空间
阅读量:389 次
发布时间:2019-03-05

本文共 627 字,大约阅读时间需要 2 分钟。

1.PCB内存管理结构:

img

PCB对内存的管理结构,页表指针 + List<段信息>。
一次内存的分配其实就是分配逻辑地址更改段信息,逻辑地址的合法性也是通过这个结构检测的。

2.页表结构 radix tree:

image-20210427171856361

物理地址需要和虚拟地址建立映射管理,假设映射关系为 物理地址 = f(虚拟地址)。那么页表就是函数f()。 页表使用radix tree结构。

3.页表项结构:

img

4.内存查找过程:

img

计算机指令使用的是虚拟地址,虚拟地址是连续的更容易管理使用。物理内存存储在页表中计算机中的一块硬件接收来自虚拟内存的请求,然后访问页表以找到数据的物理内存位置。这种硬件称为内存管理单元(MMU)或动态地址转换(DAT)单元。为了使数据访问尽可能快,MMU存储了一个在一个名为translation lookaside buffer的表中,有有限数量的常用映射。如果地址不在TLB中,MMU将直接访问页表。它扫描表直到找到地址。然后将地址返回到TLB。如果虚拟内存和物理内存之间没有映射,产生一个缺页中断,中断处理函数检测是否是合法的地址,如果合法分配内存、读取数据填充内存、建立映射。

如果分配内存时内存不足,那么会进行swap,根据策略将内存中的数据写到磁盘上。下次操作内存时,产生缺页中断再重新都会内存。

时,产生缺页中断再重新都会内存。

https://blog.csdn.net/qq_38410730/article/details/81036768

你可能感兴趣的文章
logstash mysql 准实时同步到 elasticsearch
查看>>
Luogu2973:[USACO10HOL]赶小猪
查看>>
mabatis 中出现&lt; 以及&gt; 代表什么意思?
查看>>
Mac book pro打开docker出现The data couldn’t be read because it is missing
查看>>
MAC M1大数据0-1成神篇-25 hadoop高可用搭建
查看>>
mac mysql 进程_Mac平台下启动MySQL到完全终止MySQL----终端八步走
查看>>
Mac OS 12.0.1 如何安装柯美287打印机驱动,刷卡打印
查看>>
MangoDB4.0版本的安装与配置
查看>>
Manjaro 24.1 “Xahea” 发布!具有 KDE Plasma 6.1.5、GNOME 46 和最新的内核增强功能
查看>>
mapping文件目录生成修改
查看>>
MapReduce程序依赖的jar包
查看>>
mariadb multi-source replication(mariadb多主复制)
查看>>
MariaDB的简单使用
查看>>
MaterialForm对tab页进行隐藏
查看>>
Member var and Static var.
查看>>
memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
查看>>
memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
查看>>
Memcached:Node.js 高性能缓存解决方案
查看>>
memcache、redis原理对比
查看>>
memset初始化高维数组为-1/0
查看>>