更新:由於缺乏時間,該項目無法積極維護。

Thor是為學習目的而創建的操作系統。
目前,它是一個64位OS,主要用C ++編寫,必要時有幾行組裝。
從頭開始構建操作系統的原因有很多。
對我來說,主要原因是娛樂和學習新事物。當我對製作自定義編譯器的工作變得無聊時,我決定從事一個新項目,然後選擇操作系統開發。這可能是可以完成的最複雜的愛好項目。在這個項目中,我必須學到很多東西要進步。在普通程序中,您甚至都不考慮很多困難。更普遍的是,由於我喜歡編程,因此我確信我可以開發自己的操作系統有很多樂趣。擁有自己的操作系統也有極客的一面:)
我絕對沒有意圖在這個項目上賺錢。當我不再開心開發它時,我將簡單地切換項目一段時間;)
從頭開始編寫操作系統並不容易,在每個步驟中,您都需要許多不一定容易獲得的信息。通常,您的操作系統越先進,您發現的信息就越少。
開發的主要兩個資源是:
首先,一系列好的教程是破碎的荊棘系列。我沒有遵循完整的教程(只有一些特定的部分),但是它充滿了好的信息,這可能是一個很好的起點。
還有詹姆斯·莫洛伊(James Molloy)系列。它的完整要少得多,但是如果您喜歡教程,則可能會有所幫助。
當然(如果您在英特爾上開發), Intel 64和IA -32體系結構軟件開發人員的手冊,指南有幾個部分,我主要使用了系統編程 - 第1部分部分。儘管看起來很重,但它非常好,並且將是理解架構的寶貴資產:例如,分頁和中斷處理。
至於書籍,到目前為止,我感到非常失望。有很多關於操作系統的書,但是到目前為止,我讀過的幾本都沒有很棒。他們可能擅長幫助您了解OS,但很擅長幫助您開發自己的操作系統。而且,它們也已經過時了。
我讀過的書是:
通常,儘管書籍將幫助您了解操作系統,但它們實際上不會幫助您開發任何東西。我還有其他應該很快到達的書,希望它們能更好。
注意:此存儲庫正在使用子模塊,當您檢查出來時,請不要忘記 - 恢復選項。
Wiki上描述了構建過程:https://github.com/wichtounet/thor-os/wiki/build
該項目根據麻省理工學院許可證分發。閱讀許可證以獲取詳細信息。