博客
关于我
进程虚拟地址空间
阅读量: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

你可能感兴趣的文章
MySQL_西安11月销售昨日未上架的产品_20161212
查看>>
Mysql——深入浅出InnoDB底层原理
查看>>
MySQL“被动”性能优化汇总
查看>>
MySQL、HBase 和 Elasticsearch:特点与区别详解
查看>>
MySQL、Redis高频面试题汇总
查看>>
MYSQL、SQL Server、Oracle数据库排序空值null问题及其解决办法
查看>>
mysql一个字段为空时使用另一个字段排序
查看>>
MySQL一个表A中多个字段关联了表B的ID,如何关联查询?
查看>>
MYSQL一直显示正在启动
查看>>
MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
查看>>
MySQL万字总结!超详细!
查看>>
Mysql下载以及安装(新手入门,超详细)
查看>>
MySQL不会性能调优?看看这份清华架构师编写的MySQL性能优化手册吧
查看>>
MySQL不同字符集及排序规则详解:业务场景下的最佳选
查看>>
Mysql不同官方版本对比
查看>>
MySQL与Informix数据库中的同义表创建:深入解析与比较
查看>>
mysql与mem_细说 MySQL 之 MEM_ROOT
查看>>
MySQL与Oracle的数据迁移注意事项,另附转换工具链接
查看>>
mysql丢失更新问题
查看>>
MySQL两千万数据优化&迁移
查看>>