簡介:大腦與肌肉

歡迎來到硬件與軟件的世界!你可以把電腦想像成一個人:硬件是身體(肌肉、骨骼和器官),而軟件則是心智(思想、指令和個性)。在本章中,我們將深入探討計算領域的強大工具——大型主機 (Mainframes)超級電腦 (Supercomputers),並探索讓我們數位生活得以實現的各類軟件。別擔心內容太多,我們會一步一步慢慢來!


2.1 大型主機與超級電腦

雖然你的手提電腦處理功課綽綽有餘,但有些任務規模太龐大,需要像房間一樣大的機器來處理。這就是大型主機超級電腦。它們看起來或許很像,但其實有著截然不同的「性格」。

關鍵特徵

這兩類機器都有一些令人印象深刻的共同點:

  • 長壽性 (Longevity): 這些機器經久耐用,設計壽命長達多年,通常可以 24/7 全天候運作而不需關機。
  • RAS(可靠性 Reliability、可用性 Availability 與可維護性 Serviceability):
    可靠性: 它們極少當機。
    可用性: 它們隨時準備好投入工作。
    可維護性: 如果某個組件損壞,可以輕鬆進行更換,而且通常在電腦保持運作的同時就能完成!
  • 安全性 (Security): 它們擁有巨大的安全防護牆,以保護敏感數據。
  • 容錯能力 (Fault Tolerance): 如果某個組件發生故障,備用組件會立即接手,確保系統不會停止運作。

我們如何衡量它們的速度?

我們不會只說它們「很快」,而是使用特定的指標:

  • MIPS: 代表 每秒百萬條指令 (Millions of Instructions Per Second)。這通常用於大型主機。
  • FLOPS: 代表 每秒浮點運算次數 (Floating Point Operations Per Second)。這是超級電腦的指標,因為它們需要進行複雜的數學運算。

快速回顧:用途的差異
大型主機就像巨大的圖書館或辦公室。它們處理極大量的輸入和輸出(例如同時處理數百萬筆銀行交易)。它們的強項在於吞吐量 (Throughput)(即處理數據傳輸的能力)。
超級電腦就像天才科學家。它們專注於計算速度,負責接收極其複雜的問題並以驚人的速度解決它。

現實世界的用途

大型主機:
- 人口普查: 處理整個國家的人口數據。
- 交易處理: 每當你使用信用卡時,大型主機很可能就在後台檢查你的餘額。
- 消費者統計: 大型超市用來追蹤數百萬名顧客的購物數據。

超級電腦:
- 天氣預報: 通過計算數十億次空氣流動來預測颶風路徑。
- 氣候研究: 模擬全球暖化在未來 100 年的變化。
- 量子力學: 研究宇宙中最細小的粒子。

記憶小撇步: 大型主機 (Mainframes) 用於 Money(金錢/銀行)和 Masses(大眾數據);超級電腦 (Supercomputers) 用於 Science(科學)和 Storms(風暴/氣象)。

重點總結: 大型主機處理海量的「簡單」數據(吞吐量),而超級電腦則解決極為複雜的數學問題(速度)。

2.2 系統軟件

系統軟件是「幕後功臣」。它不會幫你寫文章,但它能讓電腦運作,並為你的應用程式提供運行平台。

系統軟件的類型

  • 作業系統 (OS): 「老闆」。它管理記憶體、處理器和所有其他硬件(例如 Windows、macOS、Linux)。
  • 裝置驅動程式 (Device Drivers): 「翻譯員」。每一件硬件(如打印機或滑鼠)都有不同的溝通方式。驅動程式將作業系統的指令翻譯,讓硬件能夠理解。
  • 工具程式 (Utilities): 「管家」。它們執行維護任務,例如清理檔案或防止病毒入侵。
  • 編譯器 (Compilers) 與直譯器 (Interpreters): 它們負責將高級語言(人類寫的代碼)翻譯成機器碼(電腦能讀懂的 0 和 1)。
  • 連結器 (Linkers): 它們將編譯後分散的程式片段「黏合」在一起,形成一個可運行的完整程式。

代碼翻譯:編譯器 vs. 直譯器

直譯器: 逐行翻譯並運行代碼。如果在第 10 行出現錯誤,它會立即停下來。
編譯器: 一次過將整個程式翻譯成一個檔案。如果程式有錯,它會在最後報告給你。
交叉編譯器 (Cross-Compilers): 這是一種特殊的編譯器,它在一種電腦上運行(如 PC),但為另一種電腦(如手機或遊戲機)生成代碼。

重點總結: 系統軟件負責管理硬件,讓使用者和應用軟件不必擔心底層的技術細節。

2.3 工具軟件

工具軟件能保持電腦健康且井然有序。你可以把它看作是數位世界的「維修團隊」。

常見的工具軟件

  • 防毒軟件: 掃描並移除惡意軟件。
  • 備份工具: 為你的檔案建立副本,防止電腦損壞時資料遺失。
  • 數據壓縮: 將檔案「擠壓」變小(例如 Zip 檔)。
  • 磁碟重組 (Disk Defragmentation): 想像書架上同系列叢書被拆得散亂。重組工具會把它們整理好放在一起,讓電腦搜尋得更快。注意:這主要用於傳統硬碟 (HDD),而不適用於固態硬碟 (SSD)。
  • 格式化 (Formatting): 為儲存裝置(如 USB 手指)建立檔案系統以供使用,這通常會刪除裡面所有資料!
  • 檔案管理: 用於複製、移動、重新命名和刪除檔案的工具。

你知道嗎? 硬碟被劃分為軌道 (Tracks)(同心圓)和磁區 (Sectors)(圓形的切片)。當檔案儲存時,它們會被拆解並放入這些磁區中。如果檔案碎片分得太散,磁碟就需要轉動更多圈才能找到它們——這就是我們為什麼要進行「磁碟重組」的原因!

重點總結: 工具軟件專注於維護,確保系統保持在最佳效能。

2.4 定製軟件 vs. 現成軟件

當企業需要軟件時,主要有兩個選擇:購買「現成」的,或者委託「定製」的。

1. 現成軟件 (Off-the-shelf Software)

這是你可以直接購買並使用的軟件(如 Microsoft Word 或 Photoshop)。

  • 優點: 便宜、即買即用、經過數百萬人測試非常穩定、網上有大量教學資源。
  • 缺點: 可能包含你不需要的功能,或者缺乏你剛好需要的特定功能。

2. 定製軟件 (Custom-written Software)

這是為特定使用者或公司特別設計的軟件。

  • 優點: 完全符合你的需求,能隨業務發展擴展,且沒有多餘的冗長功能。
  • 缺點: 非常昂貴、開發週期長,且因為沒有經過大量使用者測試,可能隱藏著錯誤(Bug)。

專有軟件 (Proprietary) vs. 開源軟件 (Open-source)

  • 專有軟件: 代碼是秘密。你可以使用它,但不能查看或修改其製作方式(例如 Windows)。
  • 開源軟件: 代碼完全公開,每個人都可以查看、分享和修改(例如 Linux 或 Android)。
重點總結: 現成軟件就像從商店買成衣;定製軟件則像找裁縫量身訂造。

2.5 使用者介面 (UI)

使用者介面是你與電腦「對話」的方式。

  • CLI(指令列介面): 輸入文字指令。
    - 使用者: 專家與程式設計師。
    - 優點: 速度快且耗用記憶體極少。
    - 缺點: 必須背誦大量指令。
  • GUI(圖形使用者介面): 使用視窗、圖示、選單和指標 (WIMP)。
    - 使用者: 大多數人!
    - 優點: 非常易用且直觀。
    - 缺點: 佔用大量記憶體與處理資源。
  • 對話介面 (Dialogue Interface): 用戶與電腦之間的「對談」(如 Siri、Alexa 或文字聊天機械人)。
  • 手勢介面 (Gesture-based Interface): 使用身體動作如滑動、縮放或揮手(如手機或遊戲相機的操作)。

常見誤區: 學生常認為 CLI 因為看起來古老所以很「差」。實際上,對於自動化任務而言,CLI 的威力遠大於 GUI!

重點總結: 最好的介面取決於使用者的技術水準以及他們的目標。

別擔心如果你還沒背下每個術語!只要多閱讀這些筆記並練習歷屆試題,這些概念就會變得像本能一樣熟悉。你一定做得到的!