找回密码
 注册
关于网站域名变更的通知
查看: 350|回复: 1
打印 上一主题 下一主题

研究 linux 内核 - 页高速缓存(cache)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-10-14 15:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
研究 linux 内核 - 页高速缓存(cache)" D* p  J% o# Q

' L6 R( v4 j+ }
. |3 ~) Z/ }9 H
! U" E( `4 N0 z

, U+ ]1 v( t" F9 ?1,说在前面
! G5 h0 X; y3 k2 ^' h
3 w% S1 n# i. `1 |) l; s$ P$ v  @7 c
. }& W* v9 n/ I* }& t4 J
1》页高速缓存是内存的一部分,只是用途是用来缓存磁盘块的。
/ C7 t; I6 c# |2》页高速缓存存在基于两方面因素,访问内存的速度要远远高于访问磁盘,临时局部原理(tmporal locality); j) |( S% g% q5 J  C
3》核心结构体:struct address_space。在<linux/fs.h>,可见跟文件系统关系紧密。8 v& o# F" d! J  }$ J

& q4 d3 ~$ A3 ]9 `# I! u2 l

& Q1 R( r' u+ N
' C  B9 G, O4 u9 S  e2,页高速缓存的原理和过程& \/ L9 t" K2 a& V0 S2 y
$ Z( v6 i# g) a
+ w. K9 R& z9 d3 P9 t' B2 I
1》应用程序调用文件I/O函数,C库封装,系统调用,VFS,文件系统操作方法产生I/O请求,块设备I/O层给请求队列排序7 o& N( G; z# R$ r+ V3 U4 V
2》再加上页高速缓存,减少实际的磁盘访问量,提高I/O操作效率。来完成整个文件I/O过程。% B3 O) a" T* j9 r
3》如果I/O请求的块(文件系统的最小操作单位),在页高速缓存中,则直接操作页高速缓存。
7 `" u4 `: |. B- _4》如果高速缓存中没有,则访问磁盘。: J0 P1 J& F2 k# \$ y
4 j3 {7 s- e5 A7 J- w
# o) }  c# B2 N8 z

6 N+ E& N/ O# E

) E$ h3 p: J$ V1 h3,如何检查I/O请求的块是否在页高速缓存中1 k3 `" F9 ~! g7 L1 H
, _8 ?5 W. \2 ~5 c. J/ R. m4 j% Z: I
* k: b2 L/ s8 O) S& @0 T) K  m
1》基于“基树”的搜索方法$ o4 d7 n, E) A' D2 ?  i
2》老的内核基于“页散列表”5 X, T" h! ]& p
$ m( a* }/ X% y2 o7 t  U# K: m8 B

. S- q# F4 m, ], [* F: z7 b1 U3 [3 B' F- Y' N9 B
4 t+ C& P  o6 l5 m- D* V) ~( J
4,页回写(pdflush线程组)
  M+ m; a% a. O; o, O2 O& L8 w+ |
1 K; ^" F  I4 q& `- P, ]2 h
* |3 |9 ?) {/ O2 H, \: I
1》页回写,就是将页高速缓存的内容(脏页)写回磁盘(同步)3 h3 {- \& J) U& T+ a
2》由于不能一直直接操作页高速缓存,所以在一定条件下要页回写。; F# y. q: h3 d5 ?- e
3》有一个内核线程(pdflush)专门负责在适当时候执行页回写操作。
) L& Z/ x2 n- ~- Q& s4》适当时候就是,空闲内存小于阈值,脏页到一定时间。5 Y' v0 M& }! s  z, w3 G4 ^
5》如果页回写任务过重(阻塞1秒),则再起一个pdflush。否则就减少一个pdflush。* M1 m  b6 ]7 m1 N# K
* O! q( g2 x1 k' W$ t) ?. R% f

! e* h, ^* b7 O4 m! z0 ]5 ]2 P* ~& U
5 \9 x% @8 |/ b1 i/ n- n
6 N6 B- P- `8 R

7 i/ {2 r# a" {9 K' u; Q

" K0 e# ?7 ^  W2 e1 Z3 Q0 g0 @' {/ h! |* Z  Q" L/ E' a) K- G1 a

) s! C* \) q; E  T
0 _) X6 B" a. y
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 01:37 , Processed in 0.171875 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表