秋招自救Day52|通过Linux内核源码学习页缓存
7:50 起床!
9:10-10:10 学习page cache,梳理read流程
10:10-10:50 网络巨差,没怎么学
10:50-12:00 刷力扣
12:00-14:00 吃饭、睡觉
14:00-17:40 学习page cache,梳理read流程。中间追深了,回头看才发现只是一个接口,赶紧跳出来,回到主流程。
17:40-19:00 吃饭
19:00-20:00 总结一下
用户态发起读请求后,会触发系统调用进入内核,由VFS将请求分发给具体文件系统。内核根据用户传入的fd找到struct file、根据file结构体中的f_mapping指针、找到文件对应的page cache容器。随后,内核根据文件偏移计算出页索引index后,到page cache的索引树中查找本次读取所需的folio。命中且数据有效就直接拷贝给用户;未命中,则先尝试同步预读,预读后仍未命中,就创建 folio、插入 page cache、读盘,最后再拷贝给用户。
20:00-20:25 睡觉
20:25-21:10 刷几道力扣,没那么反感了,前几天赶紧刷的比较恶心,有抵触心理。见过、但还是写不出、就还要看、…
21:10-21:50 初探预读机制

.
明天需复刷的题目
路径总和 III、二叉树的最近公共祖先、二叉树中的最大路径和、课程表
.
我的学习计划如下

后续会按照这个计划持续进行
.
秋招,是一场持久战,希望我们能一起坚持下来。
待到深秋时节,我们都能斩获心仪的offer!
我是铜豌豆,一直陪着你!冲冲冲✊️
秋招,是一场持久战,希望我们能一起坚持下来。
待到深秋时节,我们都能斩获心仪的offer!
我是铜豌豆,一直陪着你!冲冲冲✊️
我是铜豌豆,一直陪着你!冲冲冲✊️
夜雨聆风