
即該文檔,描述了目錄、作者等整體性的內容。
OS設計過程中的思路和個人偏好等。
到目前階段系統的整體框架結構。
qianpinyi開發前後的心得體會。
PeaceSheep開發前後的心得體會。
從開始寫代碼到撰寫該文檔中途的開發進度歷程。
開發過程中遇到的一些瓶頸、問題以及其解決方案,有需要的同學或許可以從中獲得啟發。
一些調試的經驗和經歷的記錄。
系統中尚不完善的內容、後續需要改進的地方,以及未來準備實現的內容。
系統啟動相關實現文檔,包括啟動代碼,初始化流程等。
中斷與異常的相關實現文檔,包括中斷與異常的接收與分發、陷入時保存恢復現場等。
進程管理概覽文檔,介紹了整體性的設計思路和結構,描述了進程結構體(類)。
詳細描述了進程對象的組成與設計的文檔。
進程切換、執行、啟動方面的實現文檔。
自旋鎖、信號量及其拓展功能的實現文檔。
ELF格式文件解析並與本系統對接的實現文檔。
內存管理概覽文檔,介紹了整體性的設計思路和結構。
物理內存分配器的設計與實現文檔,包括空閒鍊錶和類似夥伴系統兩種實現。
虛擬內存管理實現文檔,包括頁表、頁表項、虛擬內存空間、虛擬內存區域、缺頁中斷處理、內存拷貝等。
文件系統概覽文檔,介紹了整體性的設計思路和結構。
虛擬文件系統的設計文檔,虛擬文件系統是對各類文件系統的抽象,便於隔離各個模塊,屏蔽具體實現差異。此外,還介紹了虛擬文件系統管理器和文件結點的設計,虛擬文件系統管理器是全局的對虛擬文件系統進行管理的類,負責全局目錄樹的管理。
包括標準輸入輸出文件、管道文件、內存映射文件、內存文件等特殊類型文件的設計文檔。
文件句柄的設計文檔,文件句柄是進程操作文件的接口。
FAT32文件系統的具體實現文檔。
系統調用整體結構上的設計實現。
比賽相關的具體每一個系統調用的設計實現文檔。
介紹了設備管理相關的實現方案的文檔。
開發過程中使用了很多開發應用、底層都會用到的基礎設施庫,以及一些共性的內容,進行相關描述的文檔。
KOUT是類似於cout 的輸出流類,並對其進行了各方面的強化,文檔介紹使用方式以及實現方法。
C++模板實現的各類便利的工具。
字符串相關的工具。
本系統的實現參考和學習了包括XV6、XV6-K210、rCore、uCore等系統,非常感謝這些先驅者們提供的寶貴教程與文檔。
對於本次比賽的指導老師,非常感謝來自南京航空航天大學的劉亮和朱小軍老師,我們上了這兩位老師的課程,並在比賽過程中獲得了他們的指導和幫助。
另外,非常感謝我們計算機組成原理的馮愛民老師,她讓我們了解到這個比賽,並且也在比賽過程中提供了關於Riscv等方面的指導和幫助。也非常感謝我們C++程序設計的皮德常老師,他給我們提供了最初寫操作系統的想法方面的指導。
此外,非常感謝組委會提供了這樣一個學習和展示自我的平台,感謝群內提供幫助的老師和同學們。
By:qianpinyi
2022.06.04