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

你可能感兴趣的文章
mysql5.7示例数据库_Linux MySQL5.7多实例数据库配置
查看>>
MySQL8.0.29启动报错Different lower_case_table_names settings for server (‘0‘) and data dictionary (‘1‘)
查看>>
MySQL8修改密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
查看>>
MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案
查看>>
mysql8的安装与卸载
查看>>
mysqlbinlog报错unknown variable ‘default-character-set=utf8mb4‘
查看>>
mysqldump 导出中文乱码
查看>>
mysqldump备份时忽略某些表
查看>>
mysqldump实现数据备份及灾难恢复
查看>>
mysqlreport分析工具详解
查看>>
MySQL一个表A中多个字段关联了表B的ID,如何关联查询?
查看>>
MYSQL一直显示正在启动
查看>>
MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
查看>>
MySQL万字总结!超详细!
查看>>
Mysql下载以及安装(新手入门,超详细)
查看>>
MySQL中B+Tree索引原理
查看>>
mysql中cast() 和convert()的用法讲解
查看>>
mysql中datetime与timestamp类型有什么区别
查看>>
mysql中floor函数的作用是什么?
查看>>
MySQL中group by 与 order by 一起使用排序问题
查看>>