跟著瓦利哥學寫OS

桑文鋒 桑文鋒

,軟件工程師

課程簡介 . . .

【課程目標】

上完課,就可以實現一個自己命名的小OS了。

 

【課程受眾】

修過計算機相關的專業課程,至少學過操作系統,計算機組成,C語言程序設計,匯編語言等。

有興趣的可以先加入【自己動手寫操作系統】QQ群:82616767。注意,加群需要答題,只要認真回答,就能通過。

 

【關于收費】

聽課后,一周后發郵件到[email protected]申請考試,考試通過,退款。否則,就等聽完下次課,再申請考試,最多讓申請三次。

【關于考試】

即使一次考試通過且退錢了,我建議繼續申請答題,因為每次的題目都是針對本節課的,只有實踐了,才能真正掌握。畢竟,退錢不是目的。你是為了學習知識。 

【課程大綱】

1.操作系統是如何啟動的

   從插電到進入加載內核的整個過程

   bios的原理

   虛擬機的原理

   動手寫一個軟盤啟動的hello world

2.從實模式到保護模式

   實模式的原理

   保護模式的原理

   從實模式到保護模式的跳轉

   動手寫一個在保護模式的hello world

3.虛擬內存的原理與實現

   資源是有限的

   線性地址與物理地址

   回顧分段

   理解分頁

   動手寫一個分頁版的hello world

4.中斷的原理與實踐

   中斷的本質

   bios中的中斷

   常用的中斷

   時鐘中斷與多任務

   動手實現鍵盤中斷輸入的hello world

5.內核態與用戶態

   內核態的本質

   棧的切換

   用戶態到內核態的切換

   動手實現一個打印hello world字符串的中斷

6.多任務的實現原理

   認識TSS

   回顧時鐘中斷

   動手實現一個分別打印hello和world的多任務

7.真正的多任務實現

   如何創建新任務

   系統調用的原理

   fork系統調用的原理與實現

   實現一個可以fork新任務的os

8. 進入C語言世界

9. 新程序的加載與執行

   應用程序是怎么被加載和執行的

   exec系統調用的原理與實現

   可執行程序的格式

   實現一個可以exec新任務的os

10.用戶態內存管理

   什么是堆,與棧的關系

   brk系統調用

   malloc的實現原理

   free的實現原理

   實現一個可以malloc和free的os

11.文件系統的原理與實現

   文件的原理

   read/write/open/seek/close系統調用

   實現一個原始版的文件系統,將字符串放入其中

12.Shell的原理與實現

   shell是怎么工作的

   管道的原理與實現

   實現一個可以執行簡單命令的shell

13.圖形顯示

    圖形顯示的原理

    中文字符顯示的原理

    實現一個圖形界面下的shell

 

【老師簡介】

瓦利哥,浙江大學計算機系本科&碩士畢業,百度工作7年。

......

(展開全部)

同學們的推薦 . . .

課程還沒有推薦語

同學們的筆記 . . .

00:01:16 / 課時7 有用(0)
gs設置的問題,檢測到是虛擬機的問題。 - vacing
00:35:15 / 課時2 有用(0)
wo d bijikjkalkjfk - vacing
00:01:15 / 課時2 有用(0)
00:34:43 / 課時1 有用(0)
經濟 - heruilwm
全部10篇筆記

課程問答 . . .

柳彬鴻
提問 2014-07-03 21:11
回答 2014-07-04 18:17 桑文鋒

沒有教材,只有PPT,在github上,請自行下載:https://github.com/sangwf/walleclass

全部1個回答

學校里學不到的,都在多貝公開課

快來吧,現在就加入多貝!

同學們 . . .

368人正在學  /  7人學過
桑文鋒
桑文鋒 離線
軟件工程師
瓦利哥,百度數據團隊技術經理
金多宝四肖中特期期百