作業系統開發

作業系統開發

我打算創建一個非常基本的作業系統,它可以執行與作業系統相關的基本操作,但不想在低階程式上工作,所以想知道我是否有可能在 C/C++ 上工作以及如何製作將C/C++ 程式移植到作業系統中,如果需要任何不同類型的程式設計或流程來執行此操作,將不勝感激,謝謝。

答案1

此連結可能對您有幫助:如何製作電腦作業系統

連結中的片段

  • 3 決定您希望作業系統執行哪些操作。無論是具有圖形使用者介面 (GUI) 的功能齊全的作業系統還是更簡約的作業系統,您都需要在開始之前知道要採取的方向。

  • 5 決定您是否願意從頭開始自己完成這一切,或者您是否希望在現有核心之上進行建置。 從零開始的Linux例如,這是一個針對那些想要建立自己的 Linux 發行版的人的專案。請參閱外部連結的提示。

  • 6 決定是否要使用自己的開機載入程式或預先建立的開機載入程序,例如 Grand Unified Bootloader (GRUB)。雖然編寫您自己的引導程式將提供大量有關硬體和 BIOS 的知識,但它可能會讓您在實際核心的程式設計方面陷入困境。請參閱提示。

  • 7決定使用什麼程式語言。雖然可以使用 Pascal 或 BASIC 等語言建立作業系統,但最好使用 C 或彙編語言。組裝是絕對必要的,因為作業系統的一些重要部分需要它。另一方面,C++ 包含需要另一個完全建置的作業系統才能運行的關鍵字。為了從 C 或 C++ 程式碼編譯作業系統,您當然會使用一種或另一種編譯器。因此,您應該閱讀所選 C/C++ 編譯器的使用者指南/手冊/文檔,無論它是與軟體一起提供的還是在分銷商的網站上提供的。您需要了解有關編譯器的許多複雜的事情,並且對於 C++ 開發,您應該了解編譯器的重整方案及其 ABI。您應該了解各種可執行格式(ELF、PE、COFF、純二進位等),並了解 Windows 專有格式 PE (.exe) 已受版權保護。

相關內容