首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux基础>经验技巧>正文

探索Linux 操作系统内存模型和管理

http://www.oklinux.cn  2006-01-01  来源: www-128.ibm.com  Vikram Shukla   会员收藏  游客收藏  【 】 

理解 Linux 设计的第一步

在这篇 Linux? 内存模型指南中,我们将学习如何构建和管理内存方面的基础知识。本指南介绍了内存控制单元、分页模型方面的内容,并详细介绍了物理内存区域方面的知识。

理解 Linux 使用的内存模型是从更大程度上掌握 Linux 设计和实现的第一步,因此本文将概述 Linux 内存模型和管理。

Linux 使用的是单一整体式结构 (Monolithic),其中定义了一组原语或系统调用以实现操作系统的服务,例如在几个模块中以超级模式运行的进程管理、并发控制和内存管理服务。尽管出于兼容性考虑,Linux 依然将段控制单元模型 (segment control unit model) 保持一种符号表示,但实际上已经很少使用这种模型了。

与内存管理有关的主要问题有:

●虚拟内存的管理,这是介于应用程序请求与物理内存之间的一个逻辑层。

●物理内存的管理。

●内核虚拟内存的管理/内核内存分配器,这是一个用来满足对内存的请求的组件。这种对内存的请求可能来自于内核,也可能来自于用户。

●虚拟地址空间的管理。

●交换和缓存。

本文探讨了以下问题,可以帮助您从操作系统中内存管理的角度来理解 Linux 的内幕:

●段控制单元模型,通常专用于 Linux

●2分页模型,通常专用于 Linux

●物理内存方面的知识

虽然本文并没有详细介绍 Linux 内核管理内存的方法,但是介绍了有关整个内存模型的知识以及系统的寻址方式,这些介绍可为您进一步的学习提供一个框架。本文重点介绍的是 x86 架构,但本文中的知识对于其他硬件实现同样适用。

x86 内存架构

在 x86 架构中,内存被划分成 3 种类型的地址:

●逻辑地址 (logical address) 是存储位置的地址,它可能直接对应于一个物理位置,也可能不直接对应于一个物理位置。逻辑地址通常在请求控制器中的信息时使用。

●线性地址 (linear address) (或称为 平面地址空间)是从 0 开始进行寻址的内存。之后的每个字节都可顺序使用下一数字来引用(0、1、2、3 等),直到内存末尾为止。这就是大部分非 Intel CPU 的寻址方式。Intel? 架构使用了分段的地址空间,其中内存被划分成 64KB 的段,有一个段寄存器总是指向当前正在寻址的段的基址。这种架构中的 32 位模式被视为平面地址空间,不过它也使用了段。

●物理地址 (physical address) 是使用物理地址总线中的位表示的地址。物理地址可能与逻辑地址不同,内存管理单元可以将逻辑地址转换成物理地址。

CPU 使用两种单元将逻辑地址转换成物理地址。第一种称为分段单元 (segmented unit),另外一种称为分页单元 (paging unit)。

图 1. 转换地址空间使用的两种单元

下面让我们来介绍一下段控制单元模型。

共8页: 上一页 1 [2] [3] [4] [5] [6] [7] [8] 下一页

上一篇:Linux系统内存使用的体会及命令解释   下一篇:Vmware安装Linux配置Xwindow的问题


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Vmware安装Linux配置Xwindow的问题
·Linux系统内存使用的体会及命令解释
·修复AIX Xwindow 的几点经历之谈
·如何在Linux/FreeBSD下玩模拟器游戏
·深入理解Linux操作系统下的守护进程
·细说GNU/Linux系统的文件及文件系统
·Linux系统中用ALSA驱动声卡流程详解
·Linux十五年来的病毒发展史及分类
·技巧:提高Linux系统安全十招(二)
·Linux操作系统网络驱动程序编写详解
·技巧:提高Linux系统安全性十招(一)
·教你如何提高Linux Java性能的分析
·Oracle 8i 在Redhat 7.2下安装手册
·红旗桌面最新使用方法和问题解答00例
·Linux操作系统登录帐户的管理和审计
·Linux系统中如何实现对系统用户的控制
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·成功升级到红旗Linux6.0 SP1经验分享
·Ubuntu游戏之平行球的安装
·Ubuntu与Windows双系统使用时的注意事
·Ubuntu下安装矩阵实验室Matlab
·Ubuntu 7.10下wine-0.9.57的中文配置
·Linux初学指南 Ubuntu下rpm包的安装方
·Fedora 8正式版下载地址分享
·惠普笔记本6510B中安装Fedora 8成功例
·Fedora 8 下JDK 6.0 配置技巧
·Ubuntu 3D桌面特效展示!超绚目(图)
·解析Linux系统下GRUB故障修复
·Linux终端模式下查看电脑的硬件配置情
  阅读排行
·Linux爱好者入门教程
·Linux操作系统下的串口通信学习笔记
·从硬盘安装RHEL 5(Red Hat Enterprise
·Vim实用技术第一部分:实用技巧
·Vmware Workstation 5.0.0使用说明
·VM中Linux虚拟机下安装VMware Tools
·新手看招:调试工具GDB基本知识全接触
·Gentoo版Linux操作系统的前世今生
·Linux进程间通信:管道及有名管道
·如何在Linux/FreeBSD下玩模拟器游戏
·Linux系统中用ALSA驱动声卡流程详解
·并不绝对安全:Linux下安全十二法则
·将Linux代码移植到Windows的简单方法
·Linux创建文件及挂载系统流程详解
·Linux操作系统网络驱动程序编写详解
网摘收藏: