加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_镇江站长网 (https://www.0511zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

kernel学习之内存管理简介

发布时间:2016-09-26 16:44:58 所属栏目:Unix 来源:站长网
导读:内存是linux内核所管理的最重要的资源之一,内存管理子系统是操作系统中最重要的部分之一。对于立志从事内核开发的工程师来说,熟悉linux的内存管理系统是非常重要的。早些年的DOS是直接访问内存的,这样不同的应用程序很容易让系统死机。在现在的linux系

内存是linux内核所管理的最重要的资源之一,内存管理子系统是操作系统中最重要的部分之一。对于立志从事内核开发的工程师来说,熟悉linux的内存管理系统是非常重要的。早些年的DOS是直接访问内存的,这样不同的应用程序很容易让系统死机。在现在的linux系统,应用程序会产生一个trap,进入内核,这时内核是安全的。虚拟内存可以使应用程序使用连续。比实际内存更大的内存空间,这些内存空间在物理上可能是离散的,甚至可能是交换到磁盘上的。可以 这么说现代操作系统的内存管理就是虚拟内存的管理。

一、存储器地址:

Intel早期的8086/8088处理器只具有实地址模式(real-address-mode)工作方式,不能有效的支持现在多任务操作系统所需的虚拟内存管理功能。Intel从80286开始实现保护模式protected mode该处理器是16位处理器。80386为32处理器。自80386后intel cpu经历了80486 、pentium等,虽然在速度功能上提高了很多,但其体系结构无根本的实质变化,所以统称为IA32(Intel Architecture 32 bit)

80386从8086,80286过度而来的,为了保持向上兼容,还保留了以前的16为段寄存器。虽然只用分页机制就能实现有效的内存保护,但还不得不在分段机制的基础上实现保护模式,所以IA32体系结构中的分段机制很大程度上是Intel产品兼容的结果。

现在几乎所有的risc体系结构的处理器不支持分段机制只采用了分页机制来实现对多任务间的内存保护。同时linux中内存管理也尽可能的不用IA32体系结构中的分段机制,只是在迫不得已的时候才用,这也调高了linux可移植性。

物理地址:是指出现在cpu地址总线上的寻址物理内存的地址信号,是地址转化的结果

逻辑地址:是程序代码经过编译后出现在汇编程序中的地址

线性地址:线性地址又名虚拟地址,在32位cpu架构下。可以表示4GB的地址空间用十六进制表示为:0x00000000到0xffffffff

查看本栏目更多精彩内容:http://www.bianceng.cn/OS/unix/

地址之间的转换:

kernel学习之内存管理简介

一个基于IA32体系结构的当代操作系统中(采用了保护模式和分页机制的情况下),访问一个内存单元需要两次地址的转换:

cpu将一个逻辑地址转换为物理地址:cpu利用段式内存管理单元,将逻辑地址转换为线性地址,在利用页式管理单元把线性地址,转化为物理地址。

在大多数的risc下,只需要一次线性地址到物理地址的转换即可,在大多数risc的情况下没有分段的概念,没有逻辑地址。

段寄存器:

IA32体系结构只提供了段寄存器。在实模式下段寄存器用于存放段基地址,此时我们称段寄存器为段基地址寄存器。在保护模式下,段寄存器用于存放段选择子,此时我们称段寄存器为段选择子寄存器。段基地址寄存器和段选择子寄存器是在不同模式下对段寄存器的不同解释。IA32体系结构提供的段寄存器包括cs,ds,ss,es,fs,gs。尽管只用6个寄存器但程序可以把一个寄存器用于不同的目的。将其值先放到存储器中然后再恢复即可。段寄存器视为了对内存进行分段管理而增加的。

CS:代码段寄存器,CS是指向存放程序的段。SS:堆栈段寄存器,指向当前程序栈的段。DS:数据段寄存器,指向包含静态数据或全局数据的段。其他段寄存器可用于其他用途,指向任意段。

段基地址寄存器:在这种模式下32位cpu内存管理与16位cpu是一致的。IA32体系结构处于实模式是逻辑地址由一个段基地址和一个段内偏移量决定。段基地址寄存器保存了一个16位的段基地址,段内偏移地址也是一个16位的数据。在实模式下线性地址即物理地址。

线性地址=16位段基地址*16 + 偏移量

段选择子寄存器:在保护模式下由一个段选择子寄存器和一个段内偏移量决定。根据段选择子寄存器可以获得一个32位段基地址。偏移量是32位的数据,每个段的最大容量可达4GB。

线性地址=32位段基地址 + 32位偏移量数据

kernel学习之内存管理简介

(编辑:应用网_镇江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读