Linux内存空间的分配
1、Linux内存空间
a. Linux的内存空间有4G的进程地址空间,包括用户空间与内核空间。用户空间分配了3G,而内核空间分配了1G。用户进程通常情况下只能访问用户空间的虚拟地址,不能访问内核空间的虚拟地址。只有用户进程进行系统调用的情况下(代表用户进程在内核态执行),才能够访问到内核空间。
b.用户空间对应进程,所以每当进程切换,用户空间就会跟着变化。而内核空间是由内核负责映射,它并不会跟着进程变化,是固定的。内核空间地址有自己对应的页表,用户进程各自有不同的页表。
c.为了保护数据的安全,每个进程的用户空间都是完全独立、互不影响。
2、Linux内存空间分布图
3、各个地址空间的数据
栈:保存局部变量、函数形参、自动变量。
堆:保存由malloc、ralloc、calloc分配空间的变量。
bss段:保存未初始化或初始化为0的全局变量。
rodata段:在全局数据里保存常量。
data段(静态数据区):保存初始化不为0的全局变量或者static修饰的变量。
代码段:保存代码。
4、各地址空间的特点
栈:栈的权限是由系统决定的。数据具有先进后出、后进先出的特点。如果定义了一个未初始化的局部变量,那么它的值是一个随机值。
堆:堆的权限是由用户决定的,用户通过malloc、rolloc、calloc分配地址空间,并使用free()函数能够释放空间。数据具有先进先出、后进后出的特点。
bss段:如果定义了一个未初始化的全局变量,那么它的值为0。
rodata段:保存常量,常量的值是不允许被修改的。
data段:如果定义了一个未初始化的静态全局变量,那么它的值为0。
代码段:保存代码。
Linux内存空间的分配相关推荐
- Linux 内存的延迟分配
Linux 内存的延迟分配 Linux内存的延迟分配就是在你未使用内存(均值物理内存)的时候,操作系统是不会真正的分配物理内存的, 比如 int *p = (int*)malloc(1024 * 10 ...
- UGA由哪几部分组成和PGA上内存空间的分配与回收的方式
一.UGA由哪几部分组成? 由上述图片可知, 一个会话里如果处理的是SQL语句,那么在shared pool中就有该SQL语句对应的Shared Areas,该Shared Areas的类型为Sh ...
- PGA内存空间的分配与回收
一.UGA由哪几部分组成? 由上述图片可知, 一个会话里如果处理的是SQL语句,那么在shared pool中就有该SQL语句对应的Shared Areas,该Shared Areas的类型为Sh ...
- linux内存分配 连续 足够,linux内存池能分配连续物理内存吗
中. size参数: 内核是基于页技术分配内存,以最佳的利用系统的RAM. linux处理内存分配的方法是:创建一系列的内存对象池,每个池的内存大小事固定的,处理分配请求时,就直接在包含足够大的内存块 ...
- Linux内存管理(六): 分配物理内存alloc_pages
基于Linux 5.10, 体系结构是aarch64 上文介绍了linux对物理内存的描述,本篇介绍linux下物理页面的分配函数alloc_pages 1.API接口 alloc_pages是内核中 ...
- Linux内存管理 (4)分配物理页面
专题:Linux内存管理专题 关键词:分配掩码.伙伴系统.水位(watermark).空闲伙伴块合并. 我们知道Linux内存管理是以页为单位进行的,对内存的管理是通过伙伴系统进行. 从Linux内存 ...
- Linux内存管理--物理内存分配【转】
转自:http://blog.csdn.net/myarrow/article/details/8682819 1. First Fit分配器 First Fit分配器是最基本的内存分配器,它使用bi ...
- 六、操作系统——内存管理的概念(空间的分配与回收、空间的扩充、地址转换、存储保护)
一.概述 二.操作系统作为系统资源的管理者,当然也需要对内存进行管理,要管些什么呢? 1. 内存空间的分配与回收 连续分配:指为用户进程分配的必须是一个连续的内存空间. 1. 单一连续分配 在单一连续 ...
- 11 操作系统第三章 内存管理 内存的基本知识 内存管理 内存空间扩充 连续分配管理方式
文章目录 1 内存概念 1.1 内存作用 1.2 逻辑地址VS物理地址 1.3 装入的三种方式 1.3.1 绝对装入 1.3.2 可重定位装入 1.3.3 动态重定位装入 1.4 链接的三种方式 1. ...
最新文章
- UA MATH567 高维统计IV Lipschitz组合11 社区发现 Spectral Clustering容许的最大随机噪声
- 基于python的FFT演示程序
- 求助关于exchange2010使用手册
- accept 返回0_从0开始理解Vite的主要新特性(一)
- 2018年全国多校算法寒假训练营练习比赛(第一场)C. 六子冲(模拟)
- Lecture 3:动态规划
- html自动登录网页,简单网页登陆代码html
- 华为服务器系统图标,华为云 服务器图标 visio
- Python 猜数字小游戏 (带闯关关卡)
- 1415-2结对分组情况
- cesium获取模型高度_180套经典夹具设计方案(附详解+模型),原来夹具设计这么简单!...
- 重新理解创业——一个创业者的途中思考
- 前端案例:像素鸟小游戏(js+dom操作,完整代码,附案例素材)
- win7系统安装 cygwin 的详细步骤
- js新打开页面隐藏地址栏 window.open+iframe
- mysql 中 in 的用法
- Java计算两年后的前一天yyyyMMdd
- 华硕主板B85-PRO GAMER关机后鼠标、键盘仍亮着问题的解决办法
- 反町隆史和松岛菜菜子
- 2006年统计的国内外的一些机器视觉公司汇总