Linux内核解读 ------ 内存篇 上 (二)

本文探讨Linux内核在启动时如何识别物理内存大小,32bit系统中用户空间和内核空间的比例,以及内存如何加入伙伴系统。介绍了内存概述,包括DDR内存的硬件角色;内存管理的三层结构;在ARM Vexpress平台中,内存大小通过DTS文件定义为1G。内核启动时解析DTS并初始化页表,以进行物理内存映射。
摘要由CSDN通过智能技术生成

物理内存初始化

  首先来考虑一下几个问题:

   1.在系统启动时,Linux内核如何知道系统中有多大的内存空间???

   2.在32bit的Linux内核当中,用户空间和内核空间之比为3:1,可以修改成2:2吗?

   3.物理内存页面如何添加到伙伴系统中,是一页一页的添加还是以2的几次幂加入呢?

1.内存概述

  从硬件角度看内存,随机存储器(RAM,Random Access Memory)是与CPU直接交换数据的内部存储器。现在ARM最常使用的是DDR的储存设备,DDR的储存是在BIOS/boot loader,它将DDR的大小传给内核,从Linux的角度来看DDR是一段物理内存空间。

2.内存管理概述

  内存管理是一个很复杂的系统,设计很多的内容。用分层来说,可以分为三个层次,分别是用户层空间,内核空间和硬件层

   上述 是内存结构框架的一个大体架构图。

3.内存大小

在ARM Linux中,各种设备的相关属性描述都是采用DTS方式来呈现(device tree source)。在ARM Vexpres平台中,内存定义在vexpress-v2P-ca9.dts文件中。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值