做MIT xv6时完成第一个printf实验,之后看堆栈,卡在汇编,,僵持一周,翻烂了lab1的notes,没有效果,转CSCI-UA.0202。
CSCI-UA.0202的lab1能完成第一个fork进程,没完成第二个实现block状态的小实验。
到这里回顾,我觉得做大多数实验还是靠猜和蒙,大多数时候都在验证(我的猜想是否与实验期待相符),没有真正的探索/学习的感觉。
为了学习操作系统,该阶段我应该如何进行学习和准备?
关于汇编:
看过CSAPP第三章,能看懂notes中提到的大多数汇编语言
K&R在手边,能(几乎轻松地)看懂
Learning should be done step by step. I recommend you a few books that will allow you to study systematically.
1. "Assembly Language" by Wang Shuang
2. "30-Day Homemade Operating System" "In-depth Exploration of Embedded Operating Systems"
This is a book review I wrote, you can refer to it
In addition, I would like to make additional explanations about the two books "30 Days to Make Your Own Operating System" and "In-depth Exploration of Embedded Operating Systems". The common feature of these two books is that they are "operational". They are not about abstract operations with you. The various theories of the system actually lead you to write code. Every knowledge point can be put into practice. I believe it will be of great help to you. Another point is that "30 Days to Make Your Own Operating System" was developed in a window environment, but it can also be migrated to a Linux environment. "In-depth Exploration of Embedded Operating Systems" is directly developed and tested on Linux, depending on your preference.