👋 歡迎來到單元 2:硬件與軟件!

嗨,未來的 IT 專家!這一章是非常重要的基礎。你可以把電腦系統想像成一個人體:硬件(Hardware)是實體軀幹(骨骼、肌肉),而軟件(Software)則是思想(智慧、指令)。這兩者缺一不可!


在本單元中,我們將超越個人電腦(PC)和智能手機的基礎知識,探索驅動這個世界的龐大機器,了解管理你電腦的「幕後」關鍵程式,並研究人類如何與科技進行互動。


讓我們開始吧!



2.1 大型主機(Mainframe)與超級電腦(Supercomputer)

運算巨獸:大型主機與超級電腦

我們平時討論的大多是個人電腦。但這個世界其實是由規模更大、功能更強大的系統在運作,它們主要根據用途、體積和純運算能力來分類。


大型主機:可靠的運算勞模

大型主機(Mainframes)是體積龐大且功能強大的電腦,主要供大型機構用於需要持續進行大量數據處理的關鍵業務。


大型主機的特性:

  • 長壽性:它們的設計旨在運作數十年而無需重大的硬件更換。
  • RAS(可靠性 Reliability、可用性 Availability、可維護性 Serviceability):這是最關鍵的因素。它們的設計允許在系統仍在運行時更換或修復組件(意味著零停機時間!)。
  • 安全性:內置極高水平的安全性,以保護敏感的交易數據。
  • 容錯性(Fault Tolerance):如果一個組件發生故障,備份系統會立即接管,確保運作不中斷。
  • 輸入、輸出及吞吐量:它們能同時處理海量的交易(例如:每分鐘處理數百萬筆銀行交易)。
  • 散熱維護:由於長期處於高耗電狀態,需要精密的冷卻系統。

大型主機的用途:

  • 交易處理:管理數百萬筆同步進行的信用卡、借記卡或網上購物交易(試想全球銀行系統)。
  • 人口普查:處理龐大的國家人口統計數據。
  • 行業/消費者統計:處理用於商業趨勢的大規模數據分析。

超級電腦:速度之神

超級電腦是速度最快、功能最強大的系統,它們的設計目的並非處理大量的輸入/輸出,而是為了快速解決極其複雜的計算問題。


性能指標:

  • 超級電腦的速度通常以 MIPS(每秒百萬條指令)或更常用的 FLOPS(每秒浮點運算次數)來衡量。

超級電腦的用途:

  • 天氣預報與氣候研究:運行複雜的數學模型(模擬)以預測全球天氣模式。
  • 量子力學/核科學:高階、複雜的物理模擬。
  • 氣候研究:對長期全球氣候變化進行建模。

💡 小比喻:
大型主機就像一輛巨大且防護力極強的巴士:它能全天候 24/7 可靠地運載海量乘客(數據)。
超級電腦就像一輛一級方程式(F1)賽車:它只為一件事而生——極速運算(Speed),以解決極度專業且複雜的問題。

大型主機與超級電腦的優缺點

雖然它們在各自的任務中不可或缺,但也有其缺點:

  • 優點:在特定任務中擁有無與倫比的速度/功率;出色的可靠性和容錯性;高度安全性及巨大的內存容量。
  • 缺點:極高的成本(購置、維護、冷卻);需要專業的 IT 人員;龐大的實體尺寸需要專用的設施空間。

重點總結 (2.1):大型主機專注於數據吞吐量與可靠性(交易);超級電腦專注於運算速度與複雜計算(模擬)。



2.2 系統軟件

電腦的核心管理者

系統軟件是連接電腦硬件與用戶/應用軟件之間的關鍵橋樑。它管理並控制電腦系統的資源。


系統軟件的類型與功能
  1. 作業系統 (Operating System, OS)

    功能:系統軟件中最重要的一環。它管理所有硬件資源、處理輸入/輸出、管理檔案,並為應用軟件運行提供平台。(把它想像成電腦的 CEO。

    例子:Windows, macOS, Linux, Android。

  2. 編譯器 (Compilers)

    功能:在程式運行前,將高級語言程式(源代碼)一次性翻譯成機器碼(目標代碼)。

    優點:最終生成的執行檔運行速度非常快。

  3. 直譯器 (Interpreters)

    功能:將高級語言程式逐行翻譯並執行。如果出現錯誤,會立即停止在該行。

    優點:有利於測試和除錯(debugging);如果存在相應的直譯器,相同的源代碼更容易在不同類型的電腦上運行。

  4. 連結器 (Linkers)

    功能:將編譯後的各個目標代碼片段(以及庫檔案)組合成一個單一的、可執行的程式檔案。

  5. 設備驅動程式 (Device Drivers)

    功能:允許作業系統與特定硬件設備(如打印機、顯卡或網絡攝像頭)進行通訊的小型程式。(沒有驅動程式,作業系統就不知道如何與硬件溝通。

  6. 工具程式 (Utilities)

    功能:旨在協助管理、維護及調整電腦硬件、作業系統或應用軟件的程式。(將在 2.3 詳細說明)。


翻譯過程:從高級語言到機器碼

當軟件使用高級語言(如 Python 或 C++)開發時,需要進行翻譯,以便 CPU 能理解它(機器碼)。

高級語言如何翻譯並在不同電腦系統上運行:

  • 直譯器:源代碼由特定電腦架構(如 Mac, PC)上的直譯器逐行讀取。相同的源代碼可以在任何有直譯器的地方運行。
  • 交叉編譯器 (Cross Compilers):這是一種在一種機器上運行(主機,Host,如標準 PC),並為另一種完全不同的機器(目標,Target,如汽車中的嵌入式系統)建立機器碼的軟件。當目標機器太小或太複雜而無法運行編譯器本身時,這至關重要。

快速回顧:編譯器 vs. 直譯器
Compiler(編譯器):Completely(完整地)翻譯(執行速度較快)。
Interpreter(直譯器):In line(逐行)翻譯(執行速度較慢,但易於除錯)。

重點總結 (2.2):系統軟件使電腦能夠運作並運行應用程式。作業系統是核心,而編譯器和直譯器則負責語言翻譯。



2.3 工具軟件 (Utility Software)

系統的工具箱

工具軟件由一系列功能強大但小巧的程式組成,旨在保持你的電腦運行流暢、高效且安全。


為什麼需要工具軟件?

這些工具是用於:

  • 提升系統性能與速度。
  • 管理與組織數據存儲。
  • 保護系統和數據免受損害。

工具軟件的類型與功能:
  1. 防毒/反惡意軟件 (Anti-Virus/Anti-Malware)

    功能:透過比對已知的威脅數據庫來掃描檔案,從而偵測、預防並刪除惡意軟件(病毒、間諜軟件等)。

  2. 備份工具 (Back-up Utility)

    功能:將檔案和設定的副本製作到另一個存儲介質(如外部硬碟或雲端),以便在原始數據丟失或損壞時進行恢復。

  3. 數據壓縮工具 (Data Compression Utility)

    功能:減小檔案體積,使其佔用更少的存儲空間並加快網絡傳輸速度(試想 ZIP 檔案)。

  4. 磁碟碎片整理工具 (Disk Defragmentation Utility)

    背景(硬碟結構):硬碟驅動器(HDD)上的數據存儲在扇區(sectors)和磁軌(tracks)中。當檔案被修改時,它可能會被保存到磁碟上不連續(分散)的區域。這種碎片化會減慢存取速度。

    功能:重新整理 HDD 上分散的檔案,將每個檔案存儲在單一、連續的區塊中。(注意:現代 SSD 通常不需要此操作。

  5. 格式化工具 (Formatting Utility)

    功能:準備一個新的磁碟(HDD, SSD 或可攜式媒體)以存儲數據。

    • 低階格式化:建立磁碟上磁軌和扇區的物理邊界。
    • 分區:將磁碟劃分為不同的區域(磁碟分割)。
    • 高階格式化:建立檔案系統(如 FAT32, NTFS)和根目錄,允許作業系統管理檔案。
  6. 檔案管理系統 (File Management Systems)

    功能:提供管理檔案和目錄的工具(複製、移動、重新命名、刪除、搜尋)。(例如:Windows 檔案總管或 macOS Finder

  7. 檔案複製/刪除工具

    功能:用於檔案系統內基本數據操作和刪除管理的重要工具。


工具軟件的優缺點
  • 優點:提升性能(整理碎片);保護數據(備份、防毒);釋放空間(壓縮)。
  • 缺點:運行時需要系統資源(特別是防毒軟件);對新手用戶來說可能比較複雜(磁碟管理);如果操作不當,某些工具(如格式化)可能導致嚴重的數據丟失。

重點總結 (2.3):工具軟件屬於維護性軟件,確保系統的高效、有序與安全。



2.4 定製軟件與現成軟件

購買現成軟件 vs. 定製軟件

機構和個人經常需要軟件來執行特定任務。他們主要有兩個選擇:購買現成的產品,或支付費用請人專門開發。


現成軟件 (Off-the-shelf Software / Canned Software)

此類軟件是為擁有一般需求的大眾市場而開發的。它按「現狀」購買,且可以立即使用。

  • 用途:被個人和機構廣泛使用(例如:Microsoft Word, Adobe Photoshop, 標準會計軟件包)。
定製軟件 (Custom-written Software / Bespoke Software)

此類軟件是專門為單一客戶或機構開發,以滿足其獨特且個性化的需求。

  • 用途:通常由具有高度專業程序的機構使用(例如:工廠的獨特庫存管理系統,或航空公司的飛行控制系統)。

現成軟件與定製軟件的比較

兩者的選擇取決於以下幾個關鍵因素:

因素 現成軟件 定製軟件
成本 初始成本低(分攤了開發成本)。 初始成本極高(客戶需支付全部開發費用)。
適應性 低。無法輕易更改以符合獨特需求。 高。完全符合機構的特定要求。
測試程度 高。已由數千名用戶廣泛測試(Bug 較少)。 較低。客戶通常是主要測試者(初期可能出現較多 Bug)。
支援水平 不一。通常來自供應商的通用支援已不錯。 優秀。專門的支援團隊對系統有深入了解。

🧠 常見錯誤:
學生常混淆成本與支援。定製軟件開發昂貴,但適應性是其主要優勢。現成軟件便宜,但往往需要改變商業流程來適應軟件。

專有軟件與開源軟件

軟件亦可根據其授權模式分類,這決定了誰可以使用和修改其代碼。

專有軟件 (Proprietary Software):

  • 源代碼是封閉(隱藏)的。
  • 你必須購買許可證才能使用。
  • 嚴格禁止修改和轉發。
  • 例子:Adobe Acrobat, 大部分 Microsoft Office 產品。

開源軟件 (Open-Source Software):

  • 源代碼免費提供給任何人查閱、修改及優化。
  • 通常免費,由社區支持。
  • 例子:Linux, Firefox, GIMP。

重點總結 (2.4):當需求獨特且成本次要時,選擇定製軟件;當預算緊縮且通用解決方案已足夠時,選擇現成軟件。專有意味著代碼封閉;開源意味著代碼公開。



2.5 用戶界面 (User Interfaces, UIs)

我們如何與機器溝通

用戶界面 (UI) 是用戶與電腦系統進行互動的方式。一個好的 UI 對用戶的效率和滿意度至關重要。


用戶界面的類型
  1. 命令行界面 (Command Line Interface, CLI)

    描述:用戶在提示符中輸入文字指令來操作電腦。要求用戶背誦指令和語法。

    用途:伺服器管理、網絡管理、IT 專業人員執行複雜任務。

    優缺點:優點:對有經驗的用戶來說速度非常快;所需的內存/處理能力較低。缺點:學習曲線陡峭;容易出錯。

  2. 圖形用戶界面 (Graphical User Interface, GUI)

    描述:使用 WIMP(Windows 視窗, Icons 圖示, Menus 選單, Pointer 指針)允許用戶以視覺方式互動。直觀且依賴於點擊。

    用途:個人電腦、一般軟件使用、網頁瀏覽。

    優缺點:優點:對初學者易於學習;美觀且直觀。缺點:需要顯著的處理能力和內存;對於執行重複任務的有經驗用戶來說速度較慢。

  3. 對話式界面 (Dialogue Interface / Menu-driven)

    描述:通過選單引導用戶進行一系列選擇或步驟。互動限制在提供的選項內。

    用途:自動櫃員機 (ATM)、公共資訊站、互動式語音應答系統 (IVR)。

    優缺點:優點:防止用戶錯誤(只能選擇有效的選項);簡單且易於存取。缺點:如果所需操作深埋在選單中,效率可能很低;對有經驗的用戶來說可能會感到沮喪。

  4. 手勢識別界面 (Gesture-based Interface)

    描述:允許用戶透過手部或身體的物理移動進行互動,通常由傳感器或攝影機捕捉。

    用途:遊戲(如 VR/動作控制器)、智能螢幕(揮手接聽電話)、部分高端醫學影像顯示設備。

    優缺點:優點:高度直觀、自然的互動;無需用手觸碰。缺點:容易疲勞;環境因素(光線、雜物)會影響傳感器準確度。


重點總結 (2.5):合適的 UI 完全取決於用戶和環境。GUI 適合初學者;CLI 適合尋求速度與功能的專家;對話式適合簡單操作;手勢適合自然的空間互動。


AS Level 單元 2:硬件與軟件 - 快速回顧

🌟 必須記住的關鍵點

  • 大型主機處理高數據量(交易);超級電腦處理高複雜度/運算速度(模擬)。
  • 系統軟件管理電腦(OS, 驅動程式, 翻譯器)。
  • 編譯器將程式碼一次性翻譯(執行速度最快);直譯器逐行翻譯(便於除錯)。
  • 工具軟件執行維護工作(碎片整理, 備份, 防毒)。
  • 定製軟件昂貴但適應性強現成軟件便宜且經廣泛測試
  • GUI 對用戶友善但較慢;CLI 對專家而言速度快,但學習難度高。

請繼續練習這些比較與對比——它們在考試中非常常見!