作業系統課程設計可以有很多形式,如寫乙個linux下的驅動、寫乙個檔案系統掛在linuxvfs下,在dos下寫中斷驅動,次之,可以學習使用linux、unix等作業系統。但是,最好的方式莫過於親自動手寫乙個小的作業系統,從loader到cpu initialization,再到中斷管理、記憶體管理、程序管理等。這樣走過一次之後,對作業系統底層概念必將深刻得多!
為了提高hust cs學子的實踐動手能力,通過和學校老師商討,決定基於maray,啟動作業系統課設改革。這是華中科技大學作業系統課設的第三次改革:第一次是大約十幾年前在龐麗萍老師的帶領下,在dos平台下開發了一套課設專案,反響熱烈!第二次是在windows逐漸興起之後,dos的使用範圍越來越小,基於培養社會最需要人才的考慮,課題組決定將課設改為在linux平台下編寫驅動程式和應用程式,讓學生了解linux這一應用最廣泛的開源作業系統。這一次是第三次:隨著社會的發展和進步,我們的老師認識到,計算機系培養的學生最應該具備的能力是研究系統軟體的能力,而不是應用。通過作業系統課程設計這一契機,讓學生直接去編寫系統底層軟體,必定大有益處。
linux過於龐雜,短時間內難以完全消化吸收,我們需要乙個功能「最小化」、文件齊全的小作業系統,maray的改造將朝這這個方向努力,力爭做到*思路清晰、模組分明、小而全面、文件齊全*。
第一階段將要完成:
(1)引導
(2)程序切換、排程
(3)鍵盤、顯示驅動
(4)中斷
(5)簡單檔案系統
(6)模組(程式)動態載入執行
(7)存貯管理(核心態記憶體管理,為使用者程式分配棧、記憶體堆)
要求:(1)系統必須能夠清晰地分成若干模組分別編譯,形成obj檔案
(2)加如全面的注釋
第二階段需要完成:
(1)加入程序間通訊
(2)更加全面的檔案系統
原題補題計畫
因為要參加省選,所以要補原題 noi2013 d2t1 矩陣遊戲 等比數列求和一下。當然也可以寫矩乘。code noi2016 d2t1 區間 線段樹 two pointers。兩個都是板子。code noi2018 d1t1 歸程 先跑一遍最短路,然後就是kruskal重構樹模板題了 最短路不要寫...
Revit開發AddinManager原理探索
revit開發中addinmanager是乙個非常好用的工具,它可以快速的執行我們寫好的命令 並且生成addin檔案,最近突然好奇,它是怎麼實現這些功能的,然後研究了一下,發現這裡面似乎是通過反射來實現的,他能執行我們的寫的命令最關鍵的是因為下面的 iexternalcommand external...
專案開發計畫
專案開發計畫 說明 編寫這份軟體專案開發計畫的目的,並指出預期的讀者。說明 a.待開發的軟體系統的名稱 b.本專案的任務提出者 開發者 使用者及實現該軟體的計算中心或計算機網路 c.該軟體系統同其他系統或其他機構的基本的相互來往關係。列出本檔案中用到的專門術語的定義和外文的首字母組詞的原片語。列出用...