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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
研究 linux 内核 - 页高速缓存(cache)
1 g5 p" k( X( k8 Z
; b  F% O/ t4 Q* A3 |4 H
! n7 u, T5 b: Z( k: ~! G
9 S0 ~" L; {7 R# N; A6 Q% R4 V3 H

* ~5 H  N1 @# y- q1,说在前面
3 [" l+ O$ x1 p7 {* Y/ H  Z0 M5 k* v! X& s

' f) L. g* y  q4 @0 e1》页高速缓存是内存的一部分,只是用途是用来缓存磁盘块的。7 y1 g6 X# I" x' P: `- L7 j# y
2》页高速缓存存在基于两方面因素,访问内存的速度要远远高于访问磁盘,临时局部原理(tmporal locality)$ F1 W+ K  x  f2 _
3》核心结构体:struct address_space。在<linux/fs.h>,可见跟文件系统关系紧密。
" f3 ^  o; H7 {5 K/ B; R' l7 s6 s( n' `5 h& i4 t. A+ I

0 h* x& G! E% Y( u
, U2 W0 n6 b+ l' L# N- o2,页高速缓存的原理和过程
5 m" P  F& i  @3 o
& L! S  s% Q* c- Z5 f1 ]

. Z+ t% S( _, w1》应用程序调用文件I/O函数,C库封装,系统调用,VFS,文件系统操作方法产生I/O请求,块设备I/O层给请求队列排序
% [  ^% Q; `5 o* k9 \2》再加上页高速缓存,减少实际的磁盘访问量,提高I/O操作效率。来完成整个文件I/O过程。+ E; W8 K. S8 Z  }
3》如果I/O请求的块(文件系统的最小操作单位),在页高速缓存中,则直接操作页高速缓存。4 n+ d- S( W4 `/ ~/ e
4》如果高速缓存中没有,则访问磁盘。
6 p6 W* u4 ?& H, }6 q1 G) `4 t5 N8 `3 N: j
0 ]# |$ b% O  a* D# q! G( M2 r

. F- f# B# ?/ ?/ q2 j3 O

+ H& d+ d& W; `0 S/ q' d3,如何检查I/O请求的块是否在页高速缓存中' p0 B1 I! a- R, d

% O, P  \6 a+ |* L6 r( ?) h

8 \( p; U8 e3 z8 u1》基于“基树”的搜索方法% ]! ]  n7 W2 R( V# N) S. O
2》老的内核基于“页散列表”
  U. @- }  y  V4 U7 X4 h) n" ^& F0 x4 Y. j3 T
( M+ G- _& B' c
- R, [$ B  \2 c- n
7 O- c  L3 j) `2 Z( X- \
4,页回写(pdflush线程组)- a: O6 W, ^. T; a% C' w# W

$ ~, o5 h" o7 m, x
% Z' {0 z* R" l' u: R! ]
1》页回写,就是将页高速缓存的内容(脏页)写回磁盘(同步)7 }  Y/ S, d, @, z
2》由于不能一直直接操作页高速缓存,所以在一定条件下要页回写。5 l& S' z- o" j' @- V  |
3》有一个内核线程(pdflush)专门负责在适当时候执行页回写操作。; y0 ~' E' d$ \
4》适当时候就是,空闲内存小于阈值,脏页到一定时间。- k% h; b3 t: C9 _& p* R
5》如果页回写任务过重(阻塞1秒),则再起一个pdflush。否则就减少一个pdflush。
' s( H8 ^% d* s
# C0 k8 ~4 r+ s, [0 Q; L% y3 i- D0 y

% c8 l2 T4 S) o5 N% j/ k
# v6 Z8 J9 d* a$ `
9 f) ]0 w* J5 _! n! f1 U0 v- C

. @' ]; F+ Y3 ~* ?# `6 A
. W+ @2 e1 G& j

( G8 g: _' E; Y; h
8 I$ b. L; E' B- X7 M7 ?
* u1 g1 C* M1 T8 p5 H

7 W' R; L8 `  ^* p" [9 L0 x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-25 02:00 , Processed in 0.187500 second(s), 24 queries , Gzip On.

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

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

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