我希望做一個定製的內核,加載和執行代碼(我的代碼類似於LUA),這樣我可以用它來作一個操作系統,我已經作出了在Java中的基本內核,但我真的需要知道如何在Assembly中製作它。製作一個定製的內核
任何人都可以給我製作一個高效的內核程序集的步驟嗎?
我希望做一個定製的內核,加載和執行代碼(我的代碼類似於LUA),這樣我可以用它來作一個操作系統,我已經作出了在Java中的基本內核,但我真的需要知道如何在Assembly中製作它。製作一個定製的內核
任何人都可以給我製作一個高效的內核程序集的步驟嗎?
對Java中如何做到這一點真的很感興趣。這website非常適合所有關於操作系統開發的事情。
正如有人已經建議OS Dev是去的地方。我也會確保你知道如何讓內核和其他一些結構更爲通用的語言一起工作,這樣你就可以擁有更多的資源。讓C/++在彙編語言中工作並不像聽起來那麼困難,儘管從頭開始編寫標準庫是個婊子。所以,當你使用它時,我可能不會像編寫標準庫一樣,但我一定會先運行它,然後爲自己的語言添加功能。
絕對檢查龍書雖然。對於編寫自己的編譯器的人來說,讀取所需的內容非常多這是編譯器之類的聖經。
至於彙編編寫內核/從無到有,注意自己:
如果你想提前或完全這樣做,作爲一個學習的經驗與絕對(或差點兒)無野心,你可能準備進入代碼。我發佈的網站鏈接將無限期地幫助。另外要注意的是,有很多方言或彙編的實現,我最喜歡的是FASM和NASM。我絕對推薦NASM,因爲它建立在幾乎任何值得注意的系統之下,並且是迄今爲止我所遇到的最便攜的代碼。千萬不要一直EVER依靠組裝便攜!通常情況下,即使打算是,也不是。
編輯:注意這在很大程度上是純粹的意見,我不打算說出代碼正確或錯誤的方式。儘管如此,我仍強烈建議不要依賴便攜式組裝。
新用戶?我upvote你好先生 – blazingkin
程序集+1不便攜 – linuxuser27
有人曾告訴我,NASM是「最便攜的組裝」,當時我並沒有真正意識到他不是說我可以將相同的代碼移動到一個完全不同的系統,所以我在與我的目標不同的系統上寫了一些東西,並希望它能夠工作。我不明白爲什麼它沒有,現在正在經歷一點點經驗,我只能通過建議:P。 – MadPumpkin
+1非常棒的鏈接:http://mikeos.berlios.de – linuxuser27
嘿,看起來很酷! – Carsten