Linux内存管理--系列文章壹——用户态内存分布

一、引子

作者、我在上班闲着没事的时候,看了一些关于Linux内存管理和程序装载、链接的文章,然后自己就总结出了一些东西。
本系列文章一方面将资料中的长篇大论总结到最少、以方便可以直接找到答案,一方面也是方便面试的时候可以吹牛逼。
Linux的内存管理模块是Linux内核中最复杂、最大的一块了。本系列将分为四方面来讲述:
1.程序在内存中分区,
2.ELF文件如何装载、加载,
3.内存管理的硬件架构分类,
4.内存空间管理。

二、内存分类

首先要先了解内存有几种,才能更好的了解内存管理。
1.物理内存
物理内存(Physical memory)是相对于虚拟内存而言的。物理内存指通过物理内存条而获得的内存空间。
常见的物理内存规格有2G、4G等,现如今随着计算机硬件的发展,已经出现8G、16G甚至更高容量的内存规格。
在应用中,自然是顾名思义,物理上,真实存在的插在主板内存槽上的内存条的容量的大小。
看计算机配置的时候,主要看的就是这个物理内存。
2.虚拟内存
	虚拟内存是计算机系统内存管理的一种技术。
	它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),
	而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。
	大多数操作系统都使用了虚拟内存,如Windows家族的“虚拟内存”;Linux的“交换空间”等。

本系列文章的前两方面如无特殊说明都是说虚拟内存。

三、程序在内存中分区

计算机按CPU位数不同可分为8位系统、32位系统、64位系统。本次介绍目前最常用的32位和64位系统的内存分区。
虚拟内存又分为用户态内存和内核态内存。

3.1用户态内存

3.1.1 32位系统

32位理论上最大能够使用的内存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值