28、Linux内存分配与硬件管理全解析

Linux内存分配与硬件管理全解析

一、预留高内存地址

在分配连续内存区域时,有一种简单的方法是在物理内存末尾预留一块区域(而bigphysarea是在物理内存开头预留)。要实现这一目的,需要向内核传递命令行选项来限制内核管理的内存量。例如,在一个实际有128MB RAM的系统中,可以使用 mem=126M 来预留2MB内存。之后在运行时,设备驱动程序可以分配和使用这块内存。

(一)allocator模块

O’Reilly FTP站点上发布的示例代码中的allocator模块,提供了一个分配接口,用于管理Linux内核未使用的高内存。

(二)优缺点分析

优点 缺点
无需修改官方内核源代码 每次更改系统的RAM数量时,都必须更改传递给内核的命令行选项
高内存不能用于某些任务,如ISA设备的DMA缓冲区,这使得allocator在某些情况下不适用

二、向后兼容性

自Linux 2.0内核发布以来,Linux内存管理子系统发生了巨大变化,但编程接口的变化相对较小且易于处理。

(一)函数变化情况

  1. kmalloc和kfree :在L
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值