Skip to the content.

如何学习(draft)

学习完操作系统后,我认为我可以掌握所有的东西

  1. 我获取到了自信
  2. 我在不断的尝试提升掌握复杂知识的效率,这里谈谈如何提升工作效率:

这里谈一谈,如何学习?

如何提升效率

正确的方法是:

修改一些想法

不要指望可以自然而然的掌握

不存在饱和投入

不要指望可以饱和投入,我们并不存在无限的时间,所以无论做什么,都是需要用最快的效率掌握, 这非常重要,

饱和投入会扭曲成本模型,最后即便是达成了目的, 也会感觉到非常不值。

持续深入的思考问题永远不会错的

在体系中不断的扩展:

不要担心教程会限制你的创造力

意识到一个奇怪的问题

  1. 继续学习内核和学习开车:

内核中的 rcu 对于这个世界上的绝大数人来说是不可理解的, 需要的前置知识太多了,需要漫长的时间才可以掌握,。 如果是学车,在各种平台上,都有各种教程,文字,视频,游戏和问答社区。 可以掌握开车的人也非常多。

但是现在进入到一个诡异的事情,我更加喜欢学 rcu ,而不是学开车。为什么会这样:

使用掌握 kernel 的方法来掌握其他的东西

  1. 应该使用最残酷无情的方法掌握,而不是让自己慢慢来
    • 容易理解的,使用 anki 强制记忆
    • 不容易理解的,反复联系,逐个拆分,直接掌握最复杂,本质的 fs rcu ,而非是在各种边缘问题上自娱自乐,也就是针对性练习
  2. 小红书就是生活的 stackoverflow ,或者说,如果通过 stackoverflow 很快就解决问题了, 那么生活中
  3. 构建体系
  4. 和朋友讨论
    • 这个朋友如果在生活中,那是最好,如果找不到,也可以在社区中找
  5. 遇事不决,chatpgt

但是掌握内核,之前有一个巨大的错误,那就是喜欢做饱和式投入,这个导致学什么东西都没有时间, 同样的,这个问题似乎也出现在内核本身,掌握东西的速度太慢了。

为什么学习内核,学习数学、物理和学习语文的差别如此之大?

总结一些认知的方法

  1. 速查 = 迅速忘记
    • 例如 :sort u ,这个自己尝试回忆一次,然后操作一次,就不会忘记了 - https://supermemo.guru/wiki/SuperMemo_Guru

学习必然是痛苦的

如果感觉自己要放弃了,那么就用一些轻松的学习方法:

慢慢摸索,顺着好奇心,的确不错,就是太慢了,当然可以先打一百局 LOL ,然后在看教程, 但是先看教程,由于都是最快的。

AI 的确可以重塑学习方法,如果看一个文档,会非常的痛苦, 因为其中的细节太多了,但是让其总结一下文档内容,会好很多, 因为在大脑中,有一个整体框架,然后基于这个整体框架来检查问题, 就是这样的,喵。

整个流程是什么

完全不知道 -> 大致理解 -> 细节填充 -> 内容抽象 -> 解决新问题

的确是这个感觉,不同的东西有完全不同的学习方法

  1. 摄影 -> 视频教程
  2. 毛线 -> ?
  3. 内核 -> 动手

学习内核几次重大的变化

  1. ccls + nvim
  2. qemu
  3. demo 集合 测试优先
    • 用户态 demo / syscall demo / 内核模块
  4. chatpgt + 文档优先
  5. anki 强制记忆

任何内容,最后

先要搞清楚,为什么不去学

本质是,不着急的,暂时用不上的

  1. 机器学习
    • 变化太快。现在(2025-04-23)不叫机器学习了,叫大模型

整理之前的 blog ,忽然发现,之前一直想看看 Fuchaia 实现,结果还没看,就死掉了

两个看下来,都是不怎么样的

另外,我尝试掌握一些其他的东西来做一些测试

这些东西不要和我现在熟悉的东西有任何耦合。 也就是不要是和计算机相关的任何东西。

总结一些学过的东西

  1. 双拼 :
  2. vim :
  3. nix :

问题在于放弃了

因为这个东西超过了规划的预期,存在大量的前置依赖

我想看 kvm ,结果发现了 hugepage ,结果发现 nxhuapge ,结果发现 ITLB_MULTIHIT 漏洞

到底什么导致学习困难

数量和依赖关系

除非前置依赖已经熟练掌握,否则后面的内容搞起来,回忆起来很痛苦的

不想回顾,是由于之前没搞清楚?

学习相机让我意识到,每次做什么学习, 都是需要做一下总结,确认了什么,不确认什么

回忆

例如做了一些事情后,然后立刻 刚刚都看到了,似乎有一些作用

learn : AI 下如何加速学习

学习,掌握内容现在显然是一个瓶颈,现在人的判断力是瓶颈了。

这里有两个问题,我总是感觉很奇怪:

很多时候,我们会自动的完成 那么,现在我会不会拥有更好的,更加直接的方法来检测,某一个东西,自己其实是没有掌握的。

现在加速的原因:

  1. 可以快速搭建环境 (simpelfs 写出来之后,有了这个东西作为支撑)
    • 这里有一个很关键的问题,让你聚焦于你最关心的部分,而不是开始就被 Documentaion/fs 下的上百个文档压垮掉
  2. 可以整理重点,让宝贵的认知资源放到最关键的部分,而不是
    • english -> 中文
    • 背景介绍
    • 小的 trick
    • 继续看已经会的东西,可以不断的追问他,直到理解了,而一旦理解了,就很难忘记,因为可以随时随地的回忆这些事情。

这个问题的经典的例子在于,线性代数 + cuda 的学习 - 需要知道,我们之前是学过自动化控制原理的,然后马上就发现学不下去了, 遇到了问题很难推进。

  1. ai 的分析能力很强,不存在看不懂的代码反复卡住人,人仅仅来解决 ai 无法解决的问题。
    • 经典案例就是 kvm 嵌套虚拟化
    • 这里我需要说明下,如果加速,就是一个很强的能力,我的空闲时间就那么多,不然咋办?

一些有意思的观察:

当然,现在有了更多的时间来学习了。

2026-05-23 今天想到了一个更高的话题,其实叫不要去学,而是直接去做,才知道什么才是需要掌握的。

2026-05-26 删代码比写代码更快,所以,把书读厚的过程现在就很快了。

## 为什么要阅读源码
阅读了一些源码,学习到了很多东西:

我认为阅读源码是学习水平中不可获取的一环:
- 教科书只是总结了最核心的原理,没有实战,其中的奥妙总是难以体会
- 文档只会分析其中关键结果,只有骨架,没有血肉

代码的阅读可以尽量的广泛。从编译器,数据库,操作系统,CPU / GPU 都是可以涉猎一下,
一个完全不同的领域可以改变你对于计算机的认识。

我自己认为的阅读方法:
- 显然代码跑起来,要读活代码,不要读死代码
- 文档和代码交替进行
  - 文档枯燥无聊,代码有时候晦涩难懂,如果在代码看不下去的时候阅读文档,那么就会感觉文档是雪中送碳,在枯燥的文档阅读之后,看看代码,如沐春风。
  - 首先将问题列举出来,带着问题去阅读,而不是为了阅读而阅读。

当然,最终的目的是将别人的优秀技术运用在自己的项目中,最好是有所改进。

解决 AI 一看就会,但是很容易忘记

例如 cuda 中的内容,配合 AI 很容易就看会了,但是向其他人表述起来,很多时候都是 模糊的传达意思,解决办法就是不去借助 AI ,然后手写 code 、或者手写内容, 这个时候就可以知道自己到底哪些部分没有记住。

然后针对性看,我发现使用 anki 也有这个问题,一看就会,过一会就忘记了。 每天复习了很多词条,但是可以记住的很少。

AI 的时间,我们更加需要思考中瑕疵,不流畅的部分

  1. 学 c++ 的过程,都是一看就会,很多概念都是互相关联的,但是都没有时间一个个的看,所以这个是不对的。
    • 可以不去看,但是不能不去直接就下意识忽视掉了,
  2. 例如分析 bank conflict 的过程,到底读写是不是一样的。

本站所有文章转发 CSDN 将按侵权追究法律责任,其它情况随意。