Linux子系统之【内存管理】
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.内存回收了解过吗?
Linux子系统之【内存管理】的更多相关文章
- Linux内核之内存管理
Linux内核之内存管理 Linux利用的是分段+分页单元把逻辑地址转换为物理地址; RAM的某些部分永久地分配给内核, 并用来存放内核代码以及静态内核数据结构; RAM的其余部分称动态内存(dyna ...
- Linux内核笔记--内存管理之用户态进程内存分配
内核版本:linux-2.6.11 Linux在加载一个可执行程序的时候做了种种复杂的工作,内存分配是其中非常重要的一环,作为一个linux程序员必然会想要知道这个过程到底是怎么样的,内核源码会告诉你 ...
- 24小时学通Linux内核之内存管理方式
昨天分析的进程的代码让自己还在头昏目眩,脑子中这几天都是关于Linux内核的,对于自己出现的一些问题我会继续改正,希望和大家好好分享,共同进步.今天将会讲诉Linux如何追踪和管理用户空间进程的可用内 ...
- Linux内核笔记——内存管理之slab分配器
内核版本:linux-2.6.11 内存区和内存对象 伙伴系统是linux用于满足对不同大小块内存分配和释放请求的解决方案,它为slab分配器提供页框分配请求的实现. 如果我们需要请求具有连续物理地址 ...
- Linux内核之内存管理完全剖析
linux虚拟内存管理功能 ? 大地址空间:? 进程保护:? 内存映射:? 公平的物理内存分配:? 共享虚拟内存.实现结构剖析 (1)内存映射模块(mmap):负责把磁盘文件的逻辑地址映射到虚拟地 ...
- linux内核--内核内存管理
如题目所示,为什么要称作“内核内存管理”,因为内核所需要的内存和用户态所需要的内存,这两者在管理上是不一样的. 这篇文章描述内核的内存管理,用户态的内存管理在以后的文章中讲述. 首先简单的说明一下下面 ...
- linux与C内存管理机制
转自知乎专栏:https://zhuanlan.zhihu.com/p/51855842?utm_source=wechat_session&utm_medium=social&utm ...
- Linux kernel学习-内存管理【转】
转自:https://zohead.com/archives/linux-kernel-learning-memory-management/ 本文同步自(如浏览不正常请点击跳转):https://z ...
- 关于linux kernel slab内存管理的一点思考
linux kernel 内存管理是个很大的话题,这里记录一点个人关于slab模块的一点思考总结. 有些书把slab介绍成高速缓存,这会让人和cache,特别是cpu cache混淆,造成误解.sla ...
- Linux kernel学习-内存管理
转自:https://zohead.com/archives/linux-kernel-learning-memory-management/ 本文同步自(如浏览不正常请点击跳转):https://z ...
随机推荐
- Respecting causality is all you need for training physics-informed neural networks
未发表 本篇工作时关于连续时间的PDE.也是从因果关系的角度入手,最近看过几篇该作者的工作.(简而言之就是从初始条件方向开始训练) 目前的PINN框架缺乏尊重物理系统演化所固有的时空因果结构.因此,作 ...
- Vulnhub 靶场 HMS?: 1
Vulnhub 靶场 HMS?: 1 前期准备: 靶机地址:https://www.vulnhub.com/entry/hms-1,728/ 攻击机ip:192.168.147.190 靶机ip:19 ...
- R7-1 求10个点到原点的距离和
R7-1 求10个点到原点的距离和 分数 15 全屏浏览题目 切换布局 作者 张高燕 单位 浙大城市学院 求10个点到原点的距离和.输入10个点的坐标,计算并输出这些点到原点的距离和.定义函数dist ...
- SpringBoot 配置内部tomcat https双向验证
1.在application.properties或者application.yml配置文件中加入 server: port: 8443 ssl: key-store: classpath:xxxx. ...
- CF319D 题解
题意 传送门 给你一个字符串 \(S\),要求你每次找到一个最短的并且最左边的形如 \(XX\)(即由两个相同的字符串拼接而成)的子串,然后把这个字符串从 \(XX\) 变成 \(X\).问无法操作后 ...
- 打卡node day05 mongodb
1.安装 [官网]https://www.mongodb.com/download-center/community?jmp=nav 配置环境变量 配置完环境变量坚持是否成功 在所在位置新建文件夹 启 ...
- HTTP请求报文(请求行,请求头,请求体)
HTTP协议 1.简介 HTTP协议(Hyper Text Transfer Protocol,超文本传输协议),是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的 ...
- ABAP 报表的两种下钻功能
在报表开发中往往会由需求要求跳转,SAP中提供了一些下钻的方式. 这里主要介绍两种 submit 和 call transaction submit 引用的是报表名称,以自开发报表居多 call tr ...
- ORACLE 创建只读用户
create user cxuser01 identified by test123 default tablespace USERS temporary tablespace TEMP; --创建 ...
- 如何利用python的xlrd模块读取日期格式的Excel
经常使用python操作Excel,就会遇到各种坑,比如,有时候你读取到的某一单元格的数据,你预想的结果本来应该是这样的,但是它却是这样的,真是很蛋疼.于是你会找各种解决办法,去解决这个问题!所以鄙人 ...