易截截图软件、单文件、免安装、纯绿色、仅160KB

探索 Linux 内存模型

文章来源:http://www.ibm.com/developerworks/cn/linux/l-memmod/index.html
级别: 初级
Vikram Shukla (vikshukl@in.ibm.com), 软件工程师, IBM
2006 年 2 月 23 日
在这篇 Linux® 内存模型指南中,我们将学习如何构建和管理内存方面的基础知识。本指南介绍了内存控制单元、分页模型方面的内容,并详细介绍了物理内存区域方面的知识。
理解 Linux 使用的内存模型是从更大程度上掌握 Linux 设计和实现的第一步,因此本文将概述 Linux 内存模型和管理。
Linux 使用的是单一整体式结构 (Monolithic),其中定义了一组原语或系统调用以实现操作系统的服务,例如在几个模块中以超级模式运行的进程管理、并发控制和内存管理服务。尽管出于兼容性考虑,Linux 依然将段控制单元模型 (segment control unit model) 保持一种符号表示,但实际上已经很少使用这种模型了。
与内存管理有关的主要问题有:
虚拟内存的管理,这是介于应用程序请求与物理内存之间的一个逻辑层。
物理内存的管理。
内核虚拟内存的管理/内核内存分配器,这是一个用来满足对内存的请求的组件。这种对内存的请求可能来自于内核,也可能来自于用户。
虚拟地址空间的管理。
交换和缓存。
本文探讨了以下问题,可以帮助您从操作系统中内存管理的角度来理解 Linux 的内幕:
段控制单元模型,通常专用于 Linux
分页模型,通常专用于 Linux
物理内存方面的知识
虽然本文并没有详细介绍 Linux 内核管理内存的方法,但是介绍了有关整个内存模型的知识以及系统的寻址方式,这些介绍可为您进一步的学习提供一个框架。本文重点介绍的是 x86 架构,但本文中的知识对于其他硬件实现同样适用。
x86 内存架构
在 x86 架构中,内存被划分成 3 种类型的地址:
逻辑地址 (logical address) 是存储位置的地址,它可能直接对应于一个物理位置,也可能不直接对应于一个物理位置。逻辑地址通常在请求控制器中的信息时使用。
线性地址 (linear address) (或称为 平面地址空间)是从 0 开始进行寻址的内存。之后的每个字节都可顺序使用下一数字来引用(0、1、2、3 等),直到内存末尾为止。这就是大部分非 Intel CPU 的寻址方式。Intel® 架构使用了分段的地址空间,其中内存被划分成 64KB 的段,有一个段寄存器总是指向当前正在寻址的段的基址。这种架构中的 32 位模式被视为平面地址空间,不过它也使用了段。
物理地址 (physical address) 是使用物理地址总线中的


相关文档:

linux内核的PAE后缀

yum update 更新系统之后,内核版本出现了两种,一种是PAE,另外一种并没有PAE。
何谓PAE呢?全称:Physical Address Extension
其实就是使32位系统支持超过4G内存,最大可达64G内存。
对于Linux来说,内核从2.6版本开始全面支持PAE[3]
,这使得在32位的机器上可以访问64GB的内存。启用了PAE的Linux内核还需要同样支持P ......

linux下apache+php安装常见问题


linux下apache+php安装常见问题
configure: error: Unable to find libgd.(a|so)
如果使用的是ubuntu或debian就很简单了,直接sudo apt-get install apache2 libapache2-mod-php5 php5 php5-gd 就基本上搞定,但是用源代码安装还是很麻烦~
wget http://www.boutell.com/gd/http/gd-2.0.11.tar.gz
tar zxvf gd-2.0.11 ......

linux系统信息查看 基本命令

最近看了一些Linux命令行的文章,在系统信息查看方面学到不少命令。想起以前写过的一篇其实Linux这样用更简单,发现这些系统信息查看命令也可以总结出一篇小小的东西来了。
另外这里还有非常多的命令,可以作为参考。
系统
# uname -a             &n ......

linux中的outb、outw、inb、inw

在linux的驱动程序中,都会使用大量的outb、outw、inb、inw等等宏来访问硬件或寄存器。这些宏的定义都在相应处理器体系下的include\asm目录下的io.h中定义。追究下去,这些宏最终就是一个volatile变量的的赋值:
      #define __arch_putb(v,a)      (*(volatile unsi ......

PHP5在Linux下安装


Linux下安装PHP5的主要步骤:
1.下载php5;地址:http://cn.php.net/downloads.php
2.解压软件包后进入该目录
(转者注:
可能会需要先解压php-5.*.tar.bz2 ,先执行bzip2 -d php-5.*tar.bz2

tar -xvf php-5.*.tar.gz
cd php-5.*
3.php安装mysql的模块的一些准备工作
ln -s /usr/local/mysql/lib/mysql /usr/l ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号