做MIT xv6时完成第一个printf实验,之后看堆栈,卡在汇编,,僵持一周,翻烂了lab1的notes,没有效果,转CSCI-UA.0202。
CSCI-UA.0202的lab1能完成第一个fork进程,没完成第二个实现block状态的小实验。
到这里回顾,我觉得做大多数实验还是靠猜和蒙,大多数时候都在验证(我的猜想是否与实验期待相符),没有真正的探索/学习的感觉。
为了学习操作系统,该阶段我应该如何进行学习和准备?
关于汇编:
看过CSAPP第三章,能看懂notes中提到的大多数汇编语言
K&R在手边,能(几乎轻松地)看懂
學習要循序漸進的,推薦你幾本書,可以讓你係統的學習。
1.王爽的《組合語言》
2.《30天自製作業系統》《深度探索嵌入式作業系統》
這是我寫的書評,可以參考
另外針對《30天自製操作系統》《深度探索嵌入式操作系統》這2本書做下補充說明,這2本書的共同特點是“可操作”,它們不是跟你抽象的談論操作系統的各種理論,而是真的在帶你寫程式碼,每個知識點都能實踐,相信對你會有很多幫助。另外一點是,《30天自製作業系統》是在window環境下開發的,但也可以遷移到linux環境,《深度探索嵌入式作業系統》直接就是在linux上開發測試,看你喜好。