操做系統是計算機學生的必修課,可是國內的大學開設的《操做系統》時只注重講理論知識(雖然理論很經典,但課本中的某些篇幅不免有些過期),不多要求學生本身動手完成實驗,至少咱們在上操做系統的時候老師沒有要求完成很複雜的實驗。對於成天想着完成本身操做系統的同窗,若是可以本身親自動手完成一個完整的操做系統,重走linus本人在大學完成Linux系統的經歷,那將是很自豪的事。惋惜國內並無哪所大學的操做系統課程是以 Step By Step 方式鼓勵偶們這些計算機同鞋完成本身的操做系統的,哀傷啊。 php
鑑於此,如下選擇了國外一些著名大學的操做系統課程,其中大都要求學生在學習操做系統課程時完成一系列基本的實驗,最終在課程結束的時候本身能夠寫出一個小巧,可是功能完善的操做系統(包括內核,文件系統,shell和一些實用程序) html
1、MIT(麻省理工學院)《操做系統工程》 web
這是我見到的最詳細的與有關操做系統原理與實踐相關的課程,課程除了基本的原理之外,還留給學生7個實驗,分別是: shell
一、Booting a PC svn
二、memory management 學習
三、user environment 測試
四、preemptive multitasking spa
五、file system 操作系統
六、network driver 設計
另外,MIT還提供了一個與Unix相相似的極簡單的操做系統:VX6 它基於Unix V6,能夠利用qemu或bochs啓動(偶測試過了,確實能夠啓動,還附帶了一些實用程序,如 ls,mkdir 等)
也分了幾個實驗:
也提供了三個實驗,下面是連接:
沒有詳細的看,有興趣的同窗能夠本身嘗試。
5、Minix3(由計算機科學家Andrew S. Tanenbaum 於1987年發明)超小的教學操做系統,據其官方稱內核核心代碼才6000行左右,(固然還有其餘模塊代碼,正真代碼遠遠不止6000行)。