进程的虚拟地址空间划分
来源:互联网 发布:淘宝发布宝贝没有规格 编辑:程序博客网 时间:2024/06/05 17:14
虚拟地址 (virtual address): CPU启动保护模式后,程序运行在虚拟地址空间中。注意,并不是所有的“程序”都是运行在虚拟地址中。CPU在启动的时候是运行在实模式的,Bootloader以及内核在初始化页表之前并不使用虚拟地址,而是直接使用物理地址的。
每一个进程被给予它的非常私有的虚拟地址空间。对于32位的进程,地址空间是4G因为一个32位指针能够有从0x00000000到0xffffffff之间的任意值。这个范围允许指针有从4294967296个值的一个,覆盖了一个进程的4G范围。对于64位进程,地址空间是16eb因为一个64位指针能够指向18,446,744,073,709,551,616个值中的一个,覆盖一个进程的16eb范围。这是十分宽广的范围。
因为每一个进程接受它的自己的私有地址空间,当在一个进程中的线程正在运行,线程能够访问仅仅属于它的进程的内存。属于所有其他进程的内存被隐藏并且对运行的线程来说无法访问。
进程的虚拟地址空间的划分
栈空间:存放的是局部变量,函数形参,自动变量
特点:先进后出
管理权限:系统
生命周期:所在函数被调用结束 在栈空间的变量如果没有初始化,系统随机赋值
堆空间:malloc ralloc calloc分配的空间
特点: 先进先出
管理权限:用户
未初始化的全局变量为0
数据段:bss:保存未初始化的全局变量
rodata:常量,不可以做修改的
./data:静态数据区,初始化的全局变量,static修饰变量
代码段
0 0
- 进程的虚拟地址空间划分
- 进程虚拟地址空间的划分
- 进程的虚拟地址空间4G划分
- 进程的虚拟地址划分
- 内存虚拟地址空间的划分空间
- 进程的虚拟地址空间
- 进程的虚拟地址空间
- 进程的虚拟地址空间
- 进程的虚拟地址空间
- 进程的虚拟地址空间
- 进程的虚拟地址空间
- 进程的虚拟地址空间
- 进程的虚拟地址空间
- 进程的虚拟地址空间
- 进程的虚拟地址空间
- 进程的虚拟地址空间
- 进程的虚拟地址空间
- 进程的虚拟地址空间
- python中执行shell命令的几种方式
- 用react+redux编写一个页面小demo
- 用JDK自带的包来解析XML文件(DOM+xpath)
- Hibernate4注解方法
- 【bzoj4553】【Tjoi2016】【Heoi2016】【序列】【树套树】【线段树套线段树】
- 进程的虚拟地址空间划分
- [深入理解Android卷二 全文-第四章]深入理解PackageManagerService
- 系统限流实践 - 接入层限流(上)
- contacts(通讯录)数据库
- PowerDesigner和Navicat for mysql的基础使用心得
- java打印二维数组
- Perl语言学习(Perl安装+编辑第一个程序)
- 关闭 linux下的umask( )函数、setsid( )函数
- hdu 1019 Least Common Multiple