我在windows、linux下開發了各種各樣的程式,呼叫api,跑各種庫,各種編譯錯誤,各種套娃依賴。程式設計時,api太過於複雜,各種跑網路查方法,結構。有時候解決環境問題的成本遠大於解決實際問題的成本,也可能是我的個人能力不足吧,但是我真的很煩這種事情。在開發程式的時候,呼叫乙個api,就能實現我想要的功能,就跟「黑魔法」一樣,我一直想要明白這後面到底發生了什麼,而不是簡簡單單的「調庫」。所以我決定了,我要自己試著開發乙個作業系統。
用最少的後台工作量滿足使用者的最大需求
用最少的環境配置工作量來在絕大部分處理器平台上部署這個作業系統
用最少的api數量來實現使用者需要的最多功能
使api與環境對使用者完全透明
創造統一的軟體平台
使用者不必再為使用哪個api而頭疼
硬體相容層
啟動模組
記憶體模組
儲存模組
程序模組
裝置模組
api層
作業系統課程設計 模擬作業系統
程序管理主要包括程序排程,程序的建立和撤銷 程序的阻塞和喚醒,中斷作用的實現。用全域性變數模擬重要暫存器,如cpu重要暫存器,程式狀態暫存器psw 指令暫存器ir,程式計數器pc,資料緩衝暫存器dr等。中斷的發現應該是硬體的工作,這裡在函式cpu中加檢測psw的方式來模擬。在cpu 函式中,每執行一...
作業系統 作業系統的設計與實現
系統設計的首要問題是定義目標和規範。從高層來說,系統設計取決於所選硬體和系統型別 批處理 分時 單使用者 多使用者 分布式 實時或通用。除了最高設計層外,需求可能很難說清,但需求可以分為兩類 使用者目標和系統目標。使用者要求系統具有一定的優良效能 系統應該易於學習和使用 可靠 安全和快速。研發人員為...
作業系統設計層次
層 名稱物件 示例操作 13shell 使用者程式設計環境 shell中的語句 12使用者程序 使用者程序 退出 終止 掛起和恢復 11目錄 目錄建立 銷毀 連線 分離 查詢和列表 10裝置 外部裝置,如印表機 顯示器 鍵盤等 開啟 關閉 讀和寫 9檔案系統 檔案建立 銷毀 開啟 關閉 讀和寫8通訊...