[SP]系統程式

1.1 系統程式

公用程式、庫存函數,不包含app程式

除錯工具

Macro Processor

文字編輯器

1.2 translator 轉譯器

類型

編譯器

source =>編譯器=>目的碼=>連結=>可執行模組=>載入器=>執行

組譯器

source => 組譯器 => 機器碼=>linker=>可執行模組=>載入器=>執行

直譯器

source => interpreter => 中間碼(intermediate code) =>  interpreter => 執行 => 重複
  1. 程式直接透過直譯器執行
  2. 程式碼轉成中間碼
  3. 直譯器執行中間碼

功能

  1. 直接執行source code
  2. 轉成intermediate code(不產生機械碼)
  3. 不會因為單一指令導致無法執行程式

Java

Java 分類傾向直譯器,雖然官方宣稱為編譯器。

1.3 Loader and linker

廣義解釋loader與Linker用途類似,狹義來講兩者功能不同

Linker

不同object使用外部參考變數(label定義在其他的程式上)時透過linker將帶換成指定offset。

Loader

將執行模塊載入記憶體並且執行

Loader and Linker

  1. 分派(allocation): 分派記憶體位置
  2. 連結(linking): 連結外部參考變數
  3. 重新定位(Relocation): 處理程式載入的base
  4. 載入(loading): 載入記憶體並且執行

1.4 作業系統

作業系統

bare machine(沒有軟體或韌體的硬體)執行

四大管理

1.5 系統軟體與機器結構的關係

機器相關

指令集,指令格式,定址模式,組合語言

機器無關

其他參考


System Program