2020元旦獻禮 從零開始開發乙個作業系統

2021-10-01 21:12:07 字數 899 閱讀 5361

在2023年的最後一天終於完成了整個系統的開發,並給它起名曰——inios。就如同文章名字一樣,完全是從核心編寫,非二次開發,從最初的「hello os」到初次有了系統的樣子。主要用c語言編寫,部分組合語言。。整個作業系統完成後的大小為39.6 kb之所以這麼小其實主要是語言的原因,另乙個重要原因是在開發中對部分系統**和字型庫以及**的壓縮。中間進行多次迭代,最終完成整個作業系統的開發inios。

命令列終端

保護系統

主要做了「記憶體訪問許可權 」、「異常」和「應用程式存入ds作業系統用的段位址」。

多工常用的多工,如果乙個系統只能執行乙個程式的話,其實是缺少靈魂的。

文字顯示

在原來的基礎上,實現了中文顯示,用到hzk16.fnt編碼庫。雖然字型庫較大,但是經過壓縮後,還是小了一半。

滑鼠、鍵盤控制

乙個作業系統常用的功能,需要說明的一點的是,在進行滑鼠控制時,用現在的滑鼠控制並不好用,可能是更改了協議,不過值得慶幸的是,用筆記本的觸控板進行測試,效果還是不錯的。

視窗應用程式

視覺化視窗程式支援。

這裡的**主要是指「音訊」,說是音訊,其實不如說「蜂鳴器」演奏的好,因為我們的**都是用「蜂鳴器」來發聲的。

壓縮採用的是作者自己做的壓縮工具,前後權衡,既可以保證壓縮率,也可保證解壓速度——tek壓縮。

預覽支援jpgbmp格式預覽。

至此文章寫完,雖然每次都進行測試。但難免有所疏漏,如有有問題,歡迎指正,我將不勝感激。專案開源,如果您對此有著興趣歡迎繼續開發。如果可以的話,可以點乙個乙個star支援專案位址或點下推薦。這將是對我最大的鼓勵,拳拳謝意,無以言表。

元資料管理 從零開始(一)

做了幾年的開發工作,其中難免有重複的事情發生,資料庫修改,更新,程式公升級 為使用者編寫特定的一般 高階查詢介面。如果一切都可以信手拈來的話,就如拼接七巧板而不是不斷的組合26個字母 當然還有其它的,有一次使用者看我寫程式發問 難道這26個字母就這麼難組合 該多好。好好想想,為什麼我們做應用不能實現...

從零開始學習敏捷開發(一)

一 敏捷開發 歷史背景 20世紀60年代 軟體作坊,軟體規模小,以作坊式開發為主 70年代 軟體危機,硬體飛速發展,軟體規模和複雜度激增,引發軟體危機 80年代 軟體過程控制,引入成熟生產製造管理方法,以 過程為中心 分階段來控制軟體開發 瀑布模型 一定程度上緩解了軟體危機 90年代 重型過程,軟體...

從零開始學習前端開發 5 元素型別

一 元素型別分類 html元素可分為三大類 塊元素,內聯元素,可變元素 1.塊元素 常見塊元素 div,p,ul,ol,li,dl,dt,dd,form,hr,table,tr,td,fieldset,h1,h2,h3,h4,h5,h6 a 塊狀元素會以塊的形式顯示為乙個矩形區域 b 塊狀元素預設獨...