MIT6.828 學(xué)習(xí)心得

MIT6.828-2018

過去很長一段時間都想自己寫一個操作系統(tǒng)赘阀,走了不少彎路万细∑嗣迹花了很多時間在學(xué)習(xí)《30天自制操作系統(tǒng)》,學(xué)到后面發(fā)現(xiàn)作者講述的有點繞了,代碼也沒有講明白腰素。到最后還是選擇了MIT6.828聘裁,這門課的難度比較大,要求對x86保護模式下的變成要比較了解弓千。慢慢跟下來衡便,還是受益匪淺的。我沒有做完所有的實現(xiàn)洋访,我就做到了lab5镣陕。不知道何種原因,lab6代碼無法運行捌显,所以我就沒做了,而且lab6是實現(xiàn)內(nèi)核與一個web server通信的茁彭,和內(nèi)核的其他內(nèi)容比起來(比如說進程,管道,shell等等)不怎么相關(guān)扶歪。幾個lab做下來理肺,對于系統(tǒng)如何引導(dǎo)啟動,頁式內(nèi)存的管理善镰,文件系統(tǒng)妹萨,進程相關(guān)內(nèi)容都有了更深刻的了解。

筆記都是做一個lab寫一個炫欺,可能最前面寫的有錯誤乎完,或者代碼和后面沖突。有些地方我代碼到后面lab稍微改了下品洛,所以具體的就看github上的吧:mit6.824-2018

課程介紹

課程地址:MIT6.828

通過這個課可以加深對內(nèi)核的理解锰提,并且還需要實現(xiàn)lab至朗。每一個lab都有給出代碼,其中預(yù)留了代碼來填空。

  • 為什么學(xué)的是2018而不是2020旺订?

    2020我看了下好像用的是RISC-V蕾哟,我不了解這個靖诗。所以還是選擇老版本的課程龟糕。

  • 如何學(xué)習(xí)?

    建議事先先稍微學(xué)習(xí)下x86的保護模式以及x86的匯編士飒。準備工作做好了以后查邢,就直接按照課程schedule來做就行。多閱讀xv6 book酵幕,xv6 book主要是對xv6代碼的講解扰藕。和lab不是非常相關(guān),但是原理是通用的芳撒,xv6 book多看看实胸。(不過xv6 book有些地方好難懂他嫡,可能是我水平太低了)。

PS:
學(xué)習(xí)x86保護模式的內(nèi)容可以參考《x86-實模式到保護模式》這本書庐完,網(wǎng)上有它的pdf和源代碼钢属。mit6.828中涉及到的保護模式只是很多都提到了。但是APIC什么的沒有說到门躯,不過我認為這本書仍然值得一看淆党。《30天實現(xiàn)操作系統(tǒng)》這本我覺得不咋地讶凉,首先作者的代碼質(zhì)量一般染乌,越到后面對于代碼的解釋也有點模棱兩可《叮可以直接選擇不看荷憋,不過其中的一些保護模式的知識,ELF文件的解釋可以稍微參考下褐望±兆看前幾章我感覺差不多了。另外一本書比較知名的就是《操作系統(tǒng)真相還原》了瘫里,我沒有看過实蔽,暫且不做評論。

XV6 以及JOS

xv6是一個正兒八經(jīng)的UNIX-like內(nèi)核谨读,學(xué)習(xí)xv6的代碼能夠加深我們對UNIX內(nèi)核的理解局装。比如說文件描述符的實現(xiàn),管道劳殖,文件系統(tǒng)等等內(nèi)容铐尚。而在實驗當中,我們用的是JOS的內(nèi)核哆姻。我在xv6中加入了一些注釋宣增,重點是在文件系統(tǒng)這塊,因為lab中所使用的JOS的文件系統(tǒng)不是很貼近現(xiàn)實文件系統(tǒng)設(shè)計填具,所以我花了不少時間來研究xv6的源代碼。

環(huán)境

  1. 電腦系統(tǒng):任意的Linux系統(tǒng)都可以匆骗。我最開始用的是ubuntu,后來換到deepin去了劳景。不過問題不大

  2. 虛擬機:課程里面用的是QEMU,另外一個比較有名的就是bochs了碉就。推薦安裝這里提到的patched QEMU盟广,在后面實驗中更好一些。

筆記

下面是一些所有l(wèi)ab的地址瓮钥,我就做到了Lab5筋量,然后有些作業(yè)沒做烹吵。下面是lab的一些記錄:
Lab1:
Lab1 PartA Bootstrap
Lab1 PartB The Boot Loader
Lab1 PartC The kernel
Lab2:
Lab2 PartA Physical Memory Management
Lab2 PartB Virtual Memory
Lab2 PartC Kernel Address Space
Lab3:
Lab3 PartA User Environments and Exception Handling
Lab3 PartB Page Faults, Breakpoints Exceptions, and System Calls
Lab4:
Lab4 PartA Multiprocessor Support and Cooperative Multitasking
Lab4 PartB Copy-on-Write fork
Preeptive Multitasking and Inter-Process communication
Lab5:
Mit6.828 lab5: File system,Spawn and Shell

HomeWork沒有全部做完,memory barriers什么的沒做桨武。
HomeWork:
HomeWork1 Boot Xv6
HomeWork2 Shell
HomeWork3 System call
HomeWork4 Lazy Page Allocation
HomeWork5 System Alarm

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末肋拔,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子呀酸,更是在濱河造成了極大的恐慌凉蜂,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件性誉,死亡現(xiàn)場離奇詭異窿吩,居然都是意外死亡,警方通過查閱死者的電腦和手機错览,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門纫雁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人倾哺,你說我怎么就攤上這事轧邪。” “怎么了悼粮?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵闲勺,是天一觀的道長。 經(jīng)常有香客問我扣猫,道長菜循,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任申尤,我火速辦了婚禮癌幕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘昧穿。我一直安慰自己勺远,他們只是感情好,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布时鸵。 她就那樣靜靜地躺著胶逢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪饰潜。 梳的紋絲不亂的頭發(fā)上初坠,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天,我揣著相機與錄音彭雾,去河邊找鬼碟刺。 笑死,一個胖子當著我的面吹牛薯酝,可吹牛的內(nèi)容都是我干的半沽。 我是一名探鬼主播爽柒,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼者填!你這毒婦竟也來了浩村?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤幔托,失蹤者是張志新(化名)和其女友劉穎穴亏,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體重挑,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡嗓化,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了谬哀。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片刺覆。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖史煎,靈堂內(nèi)的尸體忽然破棺而出谦屑,到底是詐尸還是另有隱情,我是刑警寧澤篇梭,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布氢橙,位于F島的核電站,受9級特大地震影響恬偷,放射性物質(zhì)發(fā)生泄漏悍手。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一袍患、第九天 我趴在偏房一處隱蔽的房頂上張望坦康。 院中可真熱鬧,春花似錦诡延、人聲如沸滞欠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽筛璧。三九已至,卻和暖如春惹恃,著一層夾襖步出監(jiān)牢的瞬間夭谤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工座舍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留沮翔,地道東北人陨帆。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓曲秉,卻偏偏與公主長得像采蚀,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子承二,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容