linux中内存管理方法的总结,Linux系统内存总结.docx

Linux内存是后台开发人员,需要深入了解的计算机资源。合理的使 用内存,有助于提升机器的性能和稳定性。本文主要介绍Linux内存组织 结构和页面布局,内存碎片产生原因和优化算法,Linux内核儿种内存管 理的方法,内存使用场景以及内存使用的那些坑。

从内存的原理和结构,到内存的算法优化,再到使用场景,去探寻内 存管理的机制和奥秘。

一S走进Linux内存

1>内存是什么?

1)内存乂称主存,是CPU能直接寻址的存储空间,山半导体器件制成

2)内存的特点是存取速率快

cprCMOS中斷1 1)\1\定时h"A X 1 ■

cpr

CMOS

中斷

1 1)\1\

定时h

"A X 1 ■

控第悄

?|掠制篇

1 -■ 4 ?

计數瞬EI

UL-I—

P1

1 1

\j 1

7 1

2

地址线

挖制线

总线

? 控制卡

于r印机控制卡

2、内存的作用

1)暂时存放CPU的运算数据

2)硬盘等外部存储器交换的数据

3)保障CPU讣算的稳定性和高性能

计K机昔圾挣储關

典型祐冋时间

可移动抒■?介阳

几百 GB_/VrB

几 ms~/V+ms

硬盘

几百 G8-/LTB

3ms~15nn$

内存

rts M B?几十Ge

lOOns-lSOns

二圾 cache

/LSKB-ZLMB

40 八 s** 60ns

—IRcache

几十B~几百KB

5ns*-lOns

几+fi~几百B

Ins

二-Linux内存地址空间

Linux内存地址空间Linux内存管理全貌

n(sj)?UM斗「Ran*__kttf ~盘?9目?wnaariM Ml*I1 5WMtU5~LJL .ftgRgC JgCfc■was*EMKtflJh0WWa怜

n(sj)?

UM

斗「

Ran*

__

kttf ~

盘?9目?

wnaa

riM Ml*

I

1 5

WMtU5~

LJ

L .

ftgRgC JgCfc

■was*

EMKtfl

Jh

0WW

a怜

?EWiU

ftmif

F-二

ilhWodX

g4G

EKUHttM

^A?<. _ uvmxr mktt.>

拠*代A

OtCDCMWOO

IRPAtttttKA

ffiPAWtiWO.

ffiFSW

OZKXIQOOM

td% Struck

2、内存地址——用户态&内核态

?用户态:Rings运行于用户态的代码则要受到处理器的诸多

?内核态:RingO在处理器的存储保护中,核心态

?用户态切换到内核态的3种方式:系统调用、异常、外设中断

盹3?

盹3

kffnf) munory<1CB)

QxCOOOOOM

(O11Uo?l pr*n>?fie^148K.aZE?0 城 MOOOM lUpp<4ni dUMH ptc.uw memory(3 GB)FA CE^ORSET=?xC WOM iLonw&oApplK?ttOA?^xOOOOOOOC地址转换? MMU是一种硬件电路,它包含两个部件,一个是分段部件,一个是分页部件 ?分段机制把一个逻辑地址转换为线性地址3、内存地址MMU

(O

11

Uo?l pr*n>?fie^

148K.aZE?0 城 MOOOM lUpp<4ni dUMH ptc.

uw memory(3 GB)

FA CE^ORSET=?xC WOM iLonw&o

ApplK?ttOA?

^xOOOOOOOC

地址转换

? MMU是一种硬件电路,它包含两个部件,一个是分段部件,一个是分页部件 ?分段机制把一个逻辑地址转换为线性地址

3、内存地址

MMU

?分页机制把一个线性地址转换为物理地址

15

31

分段机制

31

31

分页机制

她止物aw

她止

0

0

4、内存地址一-分段机制

段选择符

处理器提供了 6个分段寄存器来缓存段选择符,gs在线性地址空间中段的起始地址

处理器提供了 6个分段寄存器来缓存段选择符,

gs

在线性地址空间中段的起始地址

? 段的基地址(Base Address):

?段的界限(Limit):在虚拟地址空间中,段内可以使用的最大偏移量

分段实现

?逻辑地址的段寄存器中的值提供段描述符,然后从段描述符中得到段基址和段 界限,然后加上逻辑地址的偏移量,就得到了线性地址

310150

310

aw

5、内存地址一-分页机制(32位)?分页机制是在分段机制之后进行的,它进一步将线性地址转换为物理地址?10位贝U录,?单页的大小为线忡?地址10

5、内存地址一-分页机制(32位)

?分页机制是在分段机制之后进行的,它进一步将线性地址转换为物理地址

?10位贝U录,

?单页的大小为

线忡?地址

10位贝表项,12位页

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值