Linux mm_struct基础
来源:互联网 发布:python运行程序 编辑:程序博客网 时间:2024/05/17 06:45
每一个任务都有一个mm_struct,他应该表示出一个task和内存相关的所有的信息;
1.每一个任务都有几个vm区域,例如:text,data,bss,brk,stack,open file,anon file,这些区域需要有的元素:虚拟地址空间,他们是通过一个tree来管理的;以及还有保存了这些段的信息(开始地址,结束地址等)
2.每个用户空间的task因为和物理地址不是简单的线性对应关系,所以需要一个中介去根据虚拟地址寻找物理地址,就是页表
3.task是由一个可执行文件装载进入后创建的,所以需要保存可执行文件的信息;
4.还需要进行一些内存相关统计的信息,例如物理内存占用多少,虚拟地址空间占用多少
5.对上述内存资源的管理,物理内存是由伙伴系统和slab等管理的,那么还有另外一个要素:虚拟地址空间的管理(增删改查)
每一个vm区域也有不同情形,当一个虚拟地址存在时,它可能的情况:1.物理内存(页表来转换)2.映射的文件(address space来管理)3.匿名文件(就是没有后备存储器动态创建的文件例如堆,栈,通过页表来管理)4.非线性映射(目前没有研究)5.物理地址可能被swap了(交换缓冲区来管理)6.还没有分配物理地址
0 0
- Linux mm_struct基础
- mm_struct
- mm_struct
- mm_struct
- mm_struct
- mm_struct
- Linux之内存管理mm_struct
- Linux内存描述符mm_struct初窥
- Linux进程地址管理之mm_struct
- Linux进程地址管理之mm_struct
- linux 内存地址空间管理 mm_struct
- Linux进程地址管理之mm_struct
- Linux进程地址管理之mm_struct
- Linux进程地址管理之mm_struct
- Linux源码解析-内存描述符(mm_struct)
- 剖析mm_struct
- mm_struct简介
- linux进程地址空间mm_struct结构体中mm_user和mm_count的疑问
- Android属性动画(一):ValueAimator和ObjectAnimator的基本使用
- Java常用快捷键
- Java中的多线程
- HTTP协议
- 二维码扫描登录
- Linux mm_struct基础
- SEO:我对原创文章的几点看法
- MYSQL查询一段时间
- sed 工具简介
- SharedPreferences存储与读取
- Redis键时间老化的测试
- 数组
- tomcat下多应用log4j冲突:Web app root system property already set to different value
- ubus数据结构和接口介绍