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

你可能感兴趣的文章
nnU-Net 终极指南
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>
NO 157 去掉禅道访问地址中的zentao
查看>>
no available service ‘default‘ found, please make sure registry config corre seata
查看>>
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
查看>>
no connection could be made because the target machine actively refused it.问题解决
查看>>
No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
查看>>
No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
查看>>
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
查看>>
No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
查看>>
No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
查看>>
No module named 'crispy_forms'等使用pycharm开发
查看>>
No module named 'pandads'
查看>>
No module named cv2
查看>>
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>
No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
查看>>
No new migrations found. Your system is up-to-date.
查看>>
No qualifying bean of type XXX found for dependency XXX.
查看>>
No qualifying bean of type ‘com.netflix.discovery.AbstractDiscoveryClientOptionalArgs<?>‘ available
查看>>