1.内存管理的意义?
内存是进程运行的地方,相当于是战场。完善的机制能让进程多快好省地运行。
2.原始内存管理是怎么样的?
- 简陋(直接运行在物理内存上)、不安全(无隔离,无权限)
缺点:容易出错,进程吞吐量小。
3.内存分段管理
4.怎样能够确定一个内存段的范围?
段基址和段限长确定了一个内存段的范围。
5.段权限分为几种?
两种
- 有特权 : 内核权限
- 无特权 : 用户权限
6.怎么让进程不能再随意访问内核?
首先内存中分为了代码段和只读数据段和读写数据段
然后内核(数据段...)为特权段
进程(数据段...) 为 用户段
用户端无权访问内核段-- 简易地实现进程与内核隔离
7.内存访问的安全性怎么体现?
进程(用户段)无权执行敏感指令(内核权限)
分段后不能越界访问。
8.分段机制为什么不能禁止?
8.MMU是什么
硬件的内存管理单元
9.页面是谁在创建和维护?
内核
10.每个进程拥有自己的一套页表?
是的
每个进程都拥有一个自己的页表,在linux中,有一个页目录数组,这是分页机制的最高层,每个进程的页表对应其中的一个页目录项,通过cr3寄存器可以访问。
11.内核页表和进程页表的区别?
参看博客:[]:https://blog.csdn.net/weixin_43836778/article/details/123132998
11.每个进程拥有自己的一个虚拟内存空间?
12.虚拟内存空间有多少个内核空间和用户空间?
13.虚拟内存空间如何解决物理内存空间不足的问题?
14.页表机制是怎样的?
15.mmap的底层具体实现或者原理是什么?
16.物理地址与虚拟地址之间如何转换?
17.虚拟地址占用4G,意味着物理内存也占用着4G吗?
18.了解过伙伴系统吗?
19.内存回收了解过吗?
本文来自博客园,作者:快乐过了阈值,转载请注明原文链接:https://www.cnblogs.com/black-worrior-2000/p/16649968.html
墨愁前路无知己,天下谁人不识君。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现