接針對硬體來撰寫應用程式是沒有效率的,因為每支程式都必須從頭撰寫,機器碼也不容易瞭解。 所以就有些公司或社群發展出所謂的『作業系統』。作業系統是利用一組特殊的程式管理整個硬體資源, 同時作業系統還會提供一整組的標準開發介面,讓程式設計師在撰寫應用程式時,不需要考慮硬體, 僅需參考作業系統所提供的開發介面來撰寫程式即可。此時程式可使用作業系統推出的高階程式語言, 包括 C, .NET, Fortran, Java 等等。
我們可以將硬體、作業系統、開發介面與工具、應用程式、使用者作一個簡單的相依圖示如下:

圖四、作業系統的示意圖
上面的圖示提供我們幾個簡單的小概念:
我們拿常見的微軟公司的產品來說明。妳知道 Windows XP, Office 2007 之間的關係了嗎?
我們可以將硬體、作業系統、開發介面與工具、應用程式、使用者作一個簡單的相依圖示如下:

圖四、作業系統的示意圖
上面的圖示提供我們幾個簡單的小概念:
- 作業系統直接參考硬體規格寫成,所以同一個作業系統程式不能夠在不一樣的硬體架構下運作。 舉例來說,個人電腦版的 Windows XP 不能直接在 RISC 架構的電腦下運作。 所以您知道為何 Windows XP 又分為 32 位元及 64 位元的版本了吧? 因為 32/64 位元的 CPU 指令集不太相同,所以當然要設計不同的作業系統版本了。
- 作業系統只是在管理整個硬體資源,包括 CPU、記憶體、輸入輸出裝置及檔案系統檔。 如果沒有其他的應用程式輔助,作業系統只能讓電腦主機準備妥當(Ready)而已!並無法運作其他功能。 所以妳現在知道為何 Windows XP 上面要達成網頁影像的運作還需要類似 PhotoImpact 或 Photoshop 之類的軟體安裝了吧?
- 應用程式的開發都是參考作業系統提供的開發介面, 所以該應用程式只能在該作業系統上面運作而已,不可以在其他作業系統上面運作的。 現在您知道為何去購買線上遊戲的光碟時,光碟上面會明明白白的寫著該軟體適合用於哪一種作業系統上了吧? 也該知道某些遊戲為何不能夠在 Linux 上面安裝了吧?
我們拿常見的微軟公司的產品來說明。妳知道 Windows XP, Office 2007 之間的關係了嗎?
- Windows XP 是一套作業系統,他必須先安裝到個人電腦上面,否則電腦無法開機運作;
- Windows 98 與 Windows XP 是兩套不同的作業系統,所以能在 Win 98 上安裝的軟體不見得可在 WinXP 上安裝;
- Windows XP 安裝好後,就只能擁有很少的功能,並沒有辦公室軟體;
- Office 2007 是一套應用程式,要安裝前必須要瞭解他能在哪些作業系統上面運作。