本科生實驗做一個操作系統項目,應該如何開始呢?

謝謝熱心的知友

vczh   (專業造輪子,前排已拉黑。gaclib.net)     972018-09-03 00:55:16

首先確定自己的操作系統只運行在hyper-v里面,所以你可以寫一些其實并不真正跨硬件的代碼,沒關系,反正只是做著玩的。

其次,你可以去下載Intel的開發手冊,其中有一本就是在教你如何動手寫操作系統的。當然這些都是最基礎的內容,你寫出來的操作系統除了可以運行以外什么都干不了。虛擬內存是包括在這本書里面的,然后你就可以寫一個簡單的鍵盤驅動程序和命令行屏幕驅動程序,和一個超級垃圾的沒有文件夾的文件系統的驅動程序。整出最開始的一批API。

等你終于可以實現加載【自己發明的exe格式】來往屏幕上打字之后,你就可以開始去改clang++,讓他生成你的格式,然后用這個新的后端吧clang++編譯一遍。然后clang++自帶的STL你也改一通,把底層的東西換成調用你自己的API的代碼。兩個一合并你就有屬于你的操作系統的C++編譯器了。

接下來隨便玩。因為從這一刻開始,你終于可以用C++來編寫你的操作系統和里面的程序,而不是一個指令一個指令慢慢寫了。你首先可以把你的超級垃圾的沒有文件夾的文件系統的驅動程序換成一個正常的,然后開始編寫你的網絡協議棧(不考慮性能的話,看一下標準一天就做出來了,很簡單的),然后就可以開始添加你的應用程序了。最重要的是,所有的開發工作都可以在你自己的操作系統里面完成,爽的一筆(逃

知乎用戶     32018-09-03 01:54:27
看來那個30天自制操作系統還是太low,照輪子哥這個方法最多一個星期
溫酒     12018-09-03 02:03:32

硬核之路……你怎么不教點簡單的……?

新疆25选7历史开奖