进程生成虚拟地址空间,有堆地址,由于是虚拟地址,所以没有做内存碎片化处理,只是在虚拟内存不够的时候调用brk,进行堆大小的调整,然后申请到虚拟内存是页,同MMU映射到物理地址,然后并不是每个页都预先加载有对应的物理地址,在使用过程使用到没有加载物理地址的页面,会触发缺页中断,操作系统会找到空闲物理地址给对应的页面。—所以开发过程要防止触发过多的缺页中断
相关文章
- 浏览器输入URL按回车后都经历了什么?
- 访问了一次百度网页,你都经历了什么?https及tcp协议揭秘
- 156天!我从华为外包月薪5K到转岗正式员工月薪15K,究竟经历了什么?
- (转)失败和拒绝,也是一种肯定 找工作时,我四处碰壁这一段经历对自己职业生涯的帮助最大。为什么? "因为这些挫折让我的脸皮变厚了 如果你不是每天被人拒绝,那就说明你的人生目标不够远大 所谓成功,就是不停地经历失败,并且始终保持热情
- 从认证到调度,K8s 集群上运行的小程序到底经历了什么?
- 观点丨从闭源到开源,我所在的软件研发团队经历了什么?
- [转载]有了 malloc/free 为什么还要 new/delete ?
- 请求数据包从发送到接收,都经历了什么?
- 高质量C++编程之(7.8 有了malloc/free 为什么还要new/delete ?7.9 内存耗尽怎么办?)
- 从来往到钉钉,从技术Leader到产品负责人,陶钧到底经历了什么?