系統軟體:你電腦的幕後功臣

各位同學好!你們有沒有想過,當你輕點圖示或者點擊滑鼠時,電腦或手機裡面發生了什麼事呢?這絕對不是魔法!而是一個強大的管理員在幕後運作,確保所有事情都順暢運行。這個管理員就叫做系統軟體

在這一章,我們將會揭開這個關鍵軟體的神秘面紗。我們會了解電腦的「老闆」(作業系統)、它的得力助手(公用程式、驅動程式和語言翻譯程式),以及電腦執行工作的不同方式。我們立刻開始吧!


宏觀視角:硬體、軟體,以及你!

你可以將一個電腦系統想像成一個分層協作的團隊。你不能直接與電腦的實體部分溝通。你中間需要一個翻譯員和一個管理員。

它們之間的關係是這樣的:
1. 使用者(就是你!): 你想做些事情,例如寫一篇論文或者玩遊戲。
2. 應用軟體: 旨在協助使用者執行特定直接任務的程式。(例如:Microsoft Word、Chrome、遊戲)
3. 系統軟體: 管理、維護和控制電腦硬體及資源,讓應用軟體得以運作的程式。系統軟體中最核心的部分就是作業系統 (OS)
4. 硬體: 電腦的實體電子及機械零件。(例如:中央處理器、隨機存取記憶體、硬碟、鍵盤)

比喻時間到!想像一下一間餐廳。
- 你就是使用者(顧客)。
- 餐牌就是應用軟體(你用來選擇菜色的東西)。
- 餐廳經理和服務生就是系統軟體(他們負責點餐、管理廚房,並確保你拿到食物)。
- 廚房、烤箱和食材就是硬體(製作食物所需的實體工具)。

你不會直接教烤箱如何煮東西;你會告訴服務生(應用程式)你想要什麼,然後經理(系統軟體)就會搞定其餘的事情!

重點提示

系統軟體充當你的應用程式與實體電腦硬體之間的關鍵中間層,管理資源以讓你的應用程式可以順利執行。


作業系統 (OS):總控制器

作業系統,簡稱 OS,是系統軟體中最重要的一種。它是你開機時載入的核心程式,負責管理所有硬體和軟體資源。

作業系統實際做了什麼?(基本功能)

作業系統有幾個主要工作,就好像一間公司的繁忙行政總裁一樣:

處理器管理: 作業系統將中央處理器時間分配給執行中的程序,並協調它們的執行順序以實現多工處理。

記憶體管理: 它追蹤並分配主記憶體(隨機存取記憶體)空間給正在運行的程式,並在任務終止時釋放記憶體。

儲存與檔案管理: 作業系統提供內建機制,在輔助儲存裝置上組織、儲存、檢索、命名和保護檔案及資料夾(例如透過「檔案總管」或 Finder)。

裝置管理: 它使用各自的裝置驅動程式,與輸入/輸出裝置(例如印表機、顯示器和鍵盤)進行通訊並加以控制。

使用者介面 (UI): 作業系統提供使用者互動的介面,通常透過圖形使用者介面 (GUI)命令列介面 (CLI)

作業系統家族成員:常見種類

你每日都在使用作業系統!以下是一些常見的:

- 微軟視窗 (Microsoft Windows): 全世界最受歡迎的桌面和筆記型電腦作業系統。以其廣泛的軟體和硬體兼容性而聞名。
- 蘋果macOS (Apple macOS): 運行在蘋果Mac電腦上的作業系統。以其使用者友善的設計和強大的圖形處理能力而聞名。
- Linux: 一個開源作業系統,意味著它的程式碼是免費給任何人查閱、修改和分發的。廣泛應用於伺服器、工作站以及超級電腦。
- 蘋果iOS (Apple iOS): 為iPhone和iPad提供動力的行動作業系統。
- Google Android: 全世界最受歡迎的行動作業系統。它是開源的,並給許多不同的智慧型手機和平板電腦製造商使用。


支援團隊:公用程式、驅動程式和翻譯程式

除了作業系統外,系統軟體還包括專為系統維護、硬體通訊以及程式翻譯而設計的工具。

公用程式:電腦的工具箱

公用程式是執行例行維護、內務整理和系統保護任務的系統軟體工具,旨在最佳化電腦運作。

常見例子包括:
- 數據壓縮工具: 縮小檔案大小以節省儲存空間,並加快在網路上的傳輸速度。(例如:WinZip、7-Zip)
- 防毒軟體: 掃描儲存媒體和記憶體中的惡意軟體,隔離並清除偵測到的威脅。
- 磁碟重組工具: 重新整理磁碟上不連續的檔案叢集,使檔案儲存在連續的磁區中,從而提升讀寫速度。
- 磁碟格式化工具: 透過建立檔案系統並清除現有數據,為儲存媒體(例如硬碟或隨身碟)做好準備。
- 備份公用程式: 建立重要數據的複本並儲存到輔助儲存媒體上,以防止因硬體故障而導致數據遺失。

驅動程式:翻譯員

裝置驅動程式是一種專門的系統軟體,允許作業系統與特定的硬體周邊裝置(例如印表機、掃描器或顯示卡)進行通訊。它將來自作業系統的一般輸入/輸出命令翻譯成特定裝置的指令。

語言翻譯程式:從程式碼到機器語言

電腦只能執行機器碼(二進位的 0 和 1)。語言翻譯程式是將程式設計師編寫的原始碼轉換為機器碼的系統軟體工具:
- 組譯器 (Assembler): 將低階組合語言的助憶碼翻譯成機器碼。
- 編譯器 (Compiler): 在執行前一次性將整個高階語言原始碼程式翻譯成可執行的機器碼。
- 直譯器 (Interpreter): 在執行時逐行翻譯並執行高階語言原始碼。


運作模式:電腦如何執行工作

並非所有計算任務都一樣。一個計算公司薪金的系統和一個控制飛機的系統有非常不同的需求。「運作模式」描述了這些不同的資訊處理方法。

批次處理 (Batch Processing)

是什麼: 數據和工作會在一段時間內集中收集,然後作為一個批次進行處理,期間無需使用者互動。
比喻: 在週末一次性洗完所有衣服,而不是分開逐件清洗。
應用: 產生每月信用卡月結單、在月底處理員工薪金、批改多項選擇題答題紙。

實時處理 (Real-time Processing)

是什麼: 輸入數據一接收到就即時處理,並以足夠快的速度提供輸出,以影響正在進行的過程或環境,沒有明顯的延遲。
比喻: 飛行員駕駛飛機,飛行控制必須即時反應以維持飛機穩定。
應用: 航空公司機票預訂系統、醫院深切治療部監測系統、自動飛行控制系統、線上交易處理。

平行處理 (Parallel Processing)

是什麼: 一個計算任務會被拆解成較小的子任務,由同一部電腦內的多個處理器或CPU核心同時執行。
比喻: 一間餐廳廚房內的廚師團隊,同時準備一頓大型宴會餐點的不同部分。
應用: 天氣預報模擬、科學建模、3D影片渲染。

分散式處理 (Distributed Processing)

是什麼: 處理任務和數據分佈在透過通訊網路連接的多部獨立電腦上進行處理。
比喻: 世界各地不同大學實驗室的科學家,各自分析龐大數據集的不同部分,並透過網際網路分享結果。
應用: 大規模搜尋引擎索引編製、分散式區塊鏈驗證、雲端資料倉儲。

虛擬化 (Virtualisation)

是什麼: 允許一部實體電腦建立並運行一個或多個模擬虛擬機器 (VM) 的技術,每個虛擬機器在共享的實體硬體上獨立運行自己的客體作業系統。
比喻: 將一個實體倉庫劃分為幾個獨立的儲物櫃,每個儲物櫃都有獨立的鎖和管理方式。
應用: 運行與新作業系統不相容的舊軟體、整合雲端資料中心的伺服器硬體、隔離軟體開發的測試環境。

常見錯誤要避免!

千萬不要混淆平行處理分散式處理
- 平行處理 = 在一部電腦系統內有多個處理器同時運作。
- 分散式處理 = 多部自主電腦透過網路協同工作。