因為我可以。
度過美好的時光是我參加這個項目 +我學到了很多很酷的低水平東西!
Cavos內核是一種單片X86_64,其中一個用相對簡單的C編寫,並在這里和那裡編寫一些Intel組件。它使用limine引導加載程序,並利用FAT32文件系統以及用於根部分區的EXT2進行引導。我嘗試保持代碼結構清潔且相當易於理解,同時避免過多抽象。因此,有時將代碼質量和清晰度優先於性能提高。
當時,用戶空間是我的主要重點,內核非常穩定。我正在嘗試使該操作系統盡可能接近Linux,同時在其上添加自己的東西。與Linux的系統調用相當可見。這不是隨機的,我希望Cavos盡可能與之兼容!
不! Cavos內核不與Linux共享源代碼或標題。 Linux源代碼是在用戶空間組裝過程中拉出的,但這僅僅是因為某些第三方(移植)程序取決於其標題。即使那樣,也沒有共享實際代碼。
重要的是要提及這些目標可能永遠不會得到滿足,需要很長時間才能完成(我們在路上談論了幾年),或者根本不可能完成。此外,此列表不會包括實施或計劃的所有功能,並且可以隨時更改...
systemcall 有關此的所有內容都可以在install.md上找到。去那里以獲取有關正確構建操作系統的更多信息,清潔未使用的二進製文件和其他東西。
2024年3月2日(星期六)。通過許多解決方法,“不良”決定和霸道的“正當工作”的心態,我將純粹的X86(32位)內核拼湊在一起,可以不可避免地會為用戶空間應用。仍然堅持舊的代碼(當我幾乎不了解簡單概念,例如分頁),過時的庫和許多其他內容。有時可以起作用,但我不滿意。
下午5:00;那天下午,我決定開始一個漫長的過程,將所有內容遷移到X86_64架構並解決了許多可靠性問題,這使實際的噩夢進行了調試。我基本上達到了一定的觀點,以了解快速和dity解決方案只會導致完全避免的錯誤,這在添加了大量抽像後很難確定。
該項目是根據GPL V3(GNU通用公共許可證v3.0)許可的。有關更多信息,請轉到許可證文件。