xv6 即 MIT 的課程 6.1810: Operating System Engineering 所使用的教學用的小型 OS, 本系列文將會以完成課程中的作業 (lab) 外加我個人的日記為主軸。
對我而言,拿 xv6 當主題參賽其實是抱持著一個很複雜的心情。
一直以來我自己學習任何事物都是比較偏向於 bottom up 的方式,也就是底層的東西不了解了話,我會很難接受在這之上所推導出來的結果。但我最近越來越常感覺到,這樣的性格在當今會是一種劣勢。
我覺得現在更重視的事情是「在不完全了解全貌的情況下把任務完成的能力」。
所以說實在的,就算我們沒有透過程式碼了解 OS 的運作原理,也是可以寫出許多有用的程式,學習這門課程對於許多人而言根本就不是一件重要的事情。
但話雖如此,我還是很喜歡這種了解底層事物運作原理的這種感覺,也因此花了許多時間在學習這門課程,儘管它可能沒有那麼重要。
所以我對讀者的建議是:某種程度來說學習 xv6 是在浪費時間,不過歡迎來學。
而如果你對 xv6 及 OS 運作原理不感興趣,我會在每天的文章中加上自己的日記及一些生活上的心得,有興趣的人可以看看或是給我一些生活上的建議,我會很感謝的。