作業系統 1. 系統軟體 - Ian-Liu-1990/Computer-Arch-OS GitHub Wiki
I. 系統軟體
- 包含:
- 作業系統;組成(核心Kernel,作業環境Shell)
- 程式開發工具
- 公用程式
1. 程式開發工具
-
編寫完一個執行程式後的執行步驟 : [原始碼(source code)→ 預處理器(preprocessor)→ 編譯器(compiler)→ 易輸出除厝的組合語言程式組譯程式(assembler)→ 可重定的機器碼目的碼(object code)→ 連結器(linker)→ 執行檔(executables),最後打包好的檔案就可以給電腦去判讀執行了。]()
-
種類:
-
編輯器
-
除錯器
-
語言轉譯: 原始程式碼轉換成目的碼-組合語言或機器語言
-
組譯器 : 組合語言轉成目的碼
- 組合語言 : 具有依賴機器CPU(不同運算晶片)的特型,會因為不同運算晶片架構所使用的指令集不同,組合語言必須對應不同機器語言指令集,沒有跨平台特性
-
編譯器 : 不包括除錯,占用記憶體較直譯多原始程式依序經過
得到目的碼產生目的檔和可執行檔 等待 載入程式 載入 執行檔執行
- 直譯器 : 逐行翻譯並執行不產生目的碼和執行碼,所需記憶體較編譯少-104身障
-
-
連結程式 : 目的程式連結所需要的相關函數庫形成一可執行的模組
-
載入程式 : 可執行模組從輔助記憶體載入到主記憶體
2. 公用程式
- 解/壓縮軟體
- 防毒軟體
- 磁碟重組,清理,分割
- 等等
3. 作業系統
-
組成 :
-
功能:
-
排成管理:
2 . 記憶體資源[記憶體管理]
-
輸出/入裝置使用
-
檔案管理[檔案系統管理]
-
網路通訊(Networking)
-
安全機制(Security)
-
使用者介面(User interface)
-
驅動程式(Device drivers)
- 種類[可能多個同時具備-記最具象徵性的]
- 批次 : 週期性,大量,重複性運算工作,屬於單工系通,一次只能服務1位使用者
- 即時 : 即時不分時,強調須立即回應
- 分時/多工 : 分時不即時,強調時間片段同時處理,每位使用者分到一定片段時間,可與系統互動
- 多元 : 同時服務多位使用者或多個程式,記憶體內同時存入許多工作,不允許使用者與系統互動
- 交談 : 每次電腦會詢問使用者下一個步驟處理方式
- 分散 : 同一個工作可以拆成幾個部分,然後透過快速的網路連結指派給多部電腦分別執行,這些電腦或許位於不同的地點,彼此之間透過網路來聯繫多個處理器,處理同一件任務,彼此間不共享時脈和記憶體
- 叢集式 : 是由兩個或更多個別的系統集合而成
- 多處理器 : 擁有多個 CPU 的系統,這些 CPU 之間會緊密溝通,並共用匯流排、時脈、週邊裝置或甚至記憶體,又稱為平行系統或緊密耦合系統
- 依功能等級和使用者多寡分類
- [看小本不再贅述]
BIOS與載入作業系統
- 存在 : 電腦主機版的ROM(非揮發性)中
- 目的 : 讀取CMOS初始設定資料,進行開機自我檢查(Power on Self Test,POST).包括: 1.系統時間,2. 磁碟大小和狀態,3. 開機裝置優先順序