终于发现了适合自己的学习模式,现在在学操作系统,学的嗖嗖的

2016-10-01 13:45:19 +08:00
 petelin
并不是什么捷径,而是之前学不懂的东西现在可以学懂了,而且感觉比书上,公开课上讲的更明白。

整个故事是这样的,我想学操作系统了,然后看书,失败,妈的,这东西在讲鸡毛啊,是完全不懂,看不下去,


然后看公开课,失败,恩,有感觉了,讲的不错,为啥一加电跑到 fff0 哪里了?我是说为什么那么算, cs 左移 4 位?实模式在搞毛啊? gdt 又是毛?看不下去了,夹生饭不是我风格

然后看汇编,这个是转折点,王爽的汇编原理,看得真爽啊,很多人说这个简单,要的就是简单,我看这个最大收获不是学会了汇编,而是学会了中断,学会了机器的组成,尤其是在 dos 下用的那些工具,很真实, turbo c 也很简单,编译连接过程也懂了,指针也明白了。
他最后的几个关于 C 的实验收获更大,他教如何去思考,比如为什么 c 入口函数是 main ,怎么改为其他函数名字,这个都是在他知道下我自己找出来的,当然是在简单的环境下

然后再回过头来看操作系统,我直接找了一个最简单的书,看不懂就扔,看不懂就扔,最后找到了国外一个超级简单的内核,然后自己看着文档写 bootloader....不懂的就看他的实现,想很多东西,比如我能不能不给 u 盘文件格式,而直接把操作系统写进去,工具是什么,为什么内核生成为 elf 格式的?可不可以直接是二进制指令的,像 bootloader 一样?这些问题我都能自己想出来答案了,这真是一个质变。


如今,看那些书感觉很轻松了,我 bb 这么多,一个是高兴,一个是分享

1. 看不懂的书就扔了,别管他有多大的知名度

2. 书可以挑着章节读,别从前往后一个一个看了,我以前的习惯是错误的。

3. 学习是个循环的过程,只有知道 A 才能更好的理解 B ,一些资料看不懂没关系,突然那天就明白了,不懂是他没说清楚,不是你的错,你得找你能看清楚的接着看。比如那本简单书里说的 ebp 可以找到所有的调用过程,我就不理解,今天看难一点的公开课,他讲的就懂了。

4. 学习接受的过程一定是从简单到难的,具体实现可能自顶而上,或者自下而上。

要是能匿名就好了。。。只是分享一下,可能很浅薄,或者只跟我自己有关。大家随便看看,国庆快乐,打把无线火力去
9590 次点击
所在节点    分享发现
35 条回复
misaka19000
2016-10-01 14:06:33 +08:00
感谢楼主分享
sfqtsh
2016-10-01 14:12:09 +08:00
国外一个超级简单的内核是什么?
scnace
2016-10-01 14:14:12 +08:00
王爽的汇编书确实不错 是我们汇编课的教材 可惜并没有去深入 老师也不按书上的讲 :(
got
2016-10-01 14:23:11 +08:00
直接看归纳好的书, 细节是用来查的
jigloo
2016-10-01 14:24:25 +08:00
小伙子不错啊,又肯钻研,又能分享,态度友好,不骄不躁。
长江后浪推前浪,雏凤清于老凤声。加油啊。
vghdjgh
2016-10-01 15:03:35 +08:00
有个学习理论是把内容分为舒适区、学习区、恐慌区,现在看不懂的就属于现在的恐慌区,随着学习、理解的深入,会逐渐变成学习区。
misaka19000
2016-10-01 15:12:40 +08:00
@vghdjgh 这个挺有意思,感觉还蛮有道理的
FreeDog
2016-10-01 15:56:00 +08:00
有的书动辄 1000+ 页,而且事无巨细,初学很容易花费很多时间,但很快就会忘掉大多数细节。一开始的确应该从简单的入手,不然很打击自信,也不利于建立整体印象。
rockpk008
2016-10-01 16:02:29 +08:00
第三点深以为然。
qfdk
2016-10-01 17:00:09 +08:00
以前也是看不懂的东西 我就学别的了 过一阵子 看到了别的知识一结合就明白了
txlty
2016-10-01 17:03:28 +08:00
那本汇编语言我也啃过。然后向 80386 进发。结果被辞海一样厚的书籍吓回来了。
petelin
2016-10-01 17:31:57 +08:00
@sfqtsh 《 JamesM's kernel development tutorials 》,中文 http://hurlex.0xffffff.org/

他用的 grub,,,我是直接照着 ucore(github 上有,很详细) 写的 bootloader
pandachow
2016-10-01 17:57:49 +08:00
对,是这样的。
教材的编排都是按照作者和编辑的心思来编写的,即便是专门针对初学者、进阶、高手的书籍也是没法照应到个性化的编排。更别说每个人对每个小的知识点的已有理解水平和需求的差异了。

所以,看不懂就扔这一招是绝对正确的。
XDXX
2016-10-01 18:00:01 +08:00
upczww
2016-10-01 18:17:57 +08:00
感谢楼主,感同身受啊,我也要改改学习方法了,初学的时候拘泥于细节有时候不是好事。
sfqtsh
2016-10-01 19:00:25 +08:00
@XDXX 楼主 12 楼说啦
refresh
2016-10-01 19:11:09 +08:00
读书,不求甚解,看完能懂的,不懂的以后再回溯
guanaco
2016-10-01 21:26:25 +08:00
操作系统是要读过一台机器的 BIOS 源码,才可以完全搞清楚。最好再配上电路图 :)
peneazy
2016-10-01 21:27:53 +08:00
楼主的学习思路和我很像。最近正好在研究 js 编译的过程,发现需要好好学一下编译原理。
prondtoo
2016-10-01 22:05:16 +08:00
还要一个很重要的原因是现在很多书要么是复制粘贴东拼西凑骗稿费的;要么就是以 XXX 教授编写的名义,实际上是请下面学生来写的,水平很一般,估计那些学生也半桶水;要么就是翻译得很匪夷所思的,生硬的中文不知在 up 乜。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/310149

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX