Linux进程内存映射
来源:互联网 发布:jira 7源码 编辑:程序博客网 时间:2024/05/21 09:18
对于进程的内存映射,总是一知半解,记得几个月前面试一家公司问:画出linux下程序运行的内存映射图。
来源:http://duartes.org/gustavo/blog/post/anatomy-of-a-program-in-memory
内核区,1GB,用户代码不能直接访问,只能通过系统调用执行。
栈,可变大小,一般为8MB,同时栈顶有对应进程的结构体,所以,栈空间小于实际设置的大小。栈从上至下增长,所以如果栈溢出,则会破坏进程结构体。
内存映射区,也就是mmap实现的,负责将文件映射到内存,这样就可以直接访问,不需要通过read,而是直接通过指针访问。
堆,由下而上增长,malloc负责调用。
BSS段,未初始化的全局或者静态变量,在这里会被初始化为0.
data段,数据段,已经初始化的全局或者静态变量。
text段,可执行代码。
这里展示了一个更复杂的问题就是如果指针被初始化为一个字符串,那么字符串将保存在text段。如果是数值,那么就只保存在data段。
- Linux进程内存映射
- Linux进程内存映射
- Linux进程通信-内存映射
- Linux 进程通信 内存映射技术
- Linux进程间通信--内存映射
- linux 进程间通信-内存映射
- 程序、进程、内存映射
- 程序、进程、内存映射
- 进程的内存映射
- 内存_进程内存映射
- linux 内存映射2 内核/用户进程间通信
- 0.11 Linux内核 内存映射与进程结构
- Linux进程间通信—— 内存映射
- 内存映射实现进程通讯
- Linux内存映射: mmap
- Linux 内存映射
- Linux内存映射: mmap
- Linux内存映射
- Symbian OS 文件服务器(五)
- Python字符编码检测 -- chardet
- Redis加Node.js的全文搜索引擎 Reds在Ubuntu下面 的安装
- Ascii
- rails server error
- Linux进程内存映射
- Linux下的IPC-信号量的使用
- 程序设计之四:猜数字(C)
- Android自动测试之monkeyrunner工具
- 创业型公司或发展中公司请不要随意给员工开空头支票~~!!!
- 模块静态编译到内核和编译成模块实例
- 2011各大知名IT公司校园招聘研发类薪资待遇概述
- 平时收集的SQL用法
- 【数学建模集训系列】眼科病床安排问题——优先级调度