430 likes | 552 Views
計算機概論. 第 08 章 系統程式概念. 8-1 系統軟體分類 . 應用系統發展軟體 公用程式 作業系統. 8-1-1 應用系統發展軟體. 程式發展工具 程式編譯軟體 電腦輔助軟體工程 資料操作工具 輸出入工具. 8-1-1-1 程式發展工具. 就是那些用來協助程式發展人員發展程式的工具,例如文字編輯器 (text editor) 可以幫助程式設計人員編寫程式,程式除錯工具 (debugger) 可以幫助程式設計人員檢查程式正確性。. 8-1-1-2 程式編譯軟體.
E N D
計算機概論 第08章 系統程式概念
8-1系統軟體分類 • 應用系統發展軟體 • 公用程式 • 作業系統
8-1-1應用系統發展軟體 • 程式發展工具 • 程式編譯軟體 • 電腦輔助軟體工程 • 資料操作工具 • 輸出入工具
8-1-1-1程式發展工具 • 就是那些用來協助程式發展人員發展程式的工具,例如文字編輯器(text editor)可以幫助程式設計人員編寫程式,程式除錯工具(debugger)可以幫助程式設計人員檢查程式正確性。
8-1-1-2程式編譯軟體 • 負責將人類所寫的程式編譯成電腦能懂的機器指令,例如將組合語言轉譯的組譯程式(Assembler)、專門用來處理程式中巨集指令的巨集處理程式(Macro processor)、將一般高階語言轉譯的編譯程式(Compiler)都屬於此類軟體,是程式設計時絕對不可或缺的工具。
8-1-1-3電腦輔助軟體工程 • 可以協助系統發展人員進行系統發展週期中的各項重要工作,也可以協助管理整體程式群組。
8-1-1-4資料操作工具 • 協助使用者操作大量資料,例如資料庫管理系統(Data Base Management System, DBMS)就可以幫助系統發展人員與使用者定義與操作資料庫,讓程式發展人員有更具彈性的工具發展程式。
8-1-1-5輸出入工具 • 協助系統發展人員更順暢的操作輸出入設備,例如系統軟體必須提供使用者圖形介面(Graphic User Interface, GUI)相關的應用程式介面(Application interface, API)供系統發展人員使用,才可以發展出符合現代使用者輸出入介面需求的相關程式。
8-1-2公用程式 • 這是一種負責電腦常用工作的程式,此種軟體與作業系統之間的差別在今天來說越來越小,例如WindowsXP中的系統工具與控制台等,傳統上視為公用程式,但目前幾乎都被包含在作業系統中。
8-1-3作業系統 • 這是真正直接操控硬體的系統軟體,通常提供工作元(process)管理、主記憶體管理、輔助記憶體管理、檔案管理與輸出入裝置管理等工作。
8-2組譯程式 • 基本概念 • 組合語言實例 • 組譯程式舉例
8-2-1基本概念 • 這是要將組合語言所寫的程式翻譯成機器指令的系統軟體,屬於程式編譯軟體。
8-2-2組合語言實例 • 下圖中的組合語言是用DOS中的Debug程式解析出ASCII.COM這個程式中的8088組合語言,其目的在將ASCII碼顯示在螢幕上。
8-2-3組譯程式舉例 • 下圖中的組譯程式就是將AAA.ASM的原始程式,組譯成為AAA.OBJ的目的碼,不過完成這個動作以後,AAA.OBJ還是不能執行,必須要利用後面的載入程式進行連結與載入動作才可以執行。
8-3巨集處理程式 • 基本概念 • 巨集展開實例
8-4載入程式 • 基本概念 • 載入過程
8-4-1基本概念 • 所謂載入程式就是負責將個別編譯完成的目的碼連結起來,向主記憶體要求配置空間,接著根據作業系統所分配的空間重新安排相關的位址,最後正式將可執行程式載入主記憶體,等待CPU排程正式執行。
8-4-2載入過程 • 連結(linking) • 配置空間(allocation) • 配置空間過程 • 重定址過程
8-4-2-1連結 • 將各別編譯(或組譯)所得的目的碼,連結為一完整的程式目的碼,並解決各獨立模組中所使用外部符號未定的問題。
8-4-2-2配置空間 • 配置主記憶體中的空間給正要執行的程式。
8-4-2-3重定址 • 根據目的程式的載入位址,修正其中與記憶體有關的資料或位址欄,以使程式能正確地執行。
8-4-2-4載入目的碼 • 將目前置於磁碟的目的檔載入所配置的主記憶體中,等待CPU的使用權進行所指定的工作。
8-5高階語言編譯程式 • 程式編譯軟體分類 • 編譯程式應用過程