👋 歡迎來到單元 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 系統軟件
電腦的核心管理者
系統軟件是連接電腦硬件與用戶/應用軟件之間的關鍵橋樑。它管理並控制電腦系統的資源。
系統軟件的類型與功能
-
作業系統 (Operating System, OS)
功能:系統軟件中最重要的一環。它管理所有硬件資源、處理輸入/輸出、管理檔案,並為應用軟件運行提供平台。(把它想像成電腦的 CEO。)
例子:Windows, macOS, Linux, Android。
-
編譯器 (Compilers)
功能:在程式運行前,將高級語言程式(源代碼)一次性翻譯成機器碼(目標代碼)。
優點:最終生成的執行檔運行速度非常快。
-
直譯器 (Interpreters)
功能:將高級語言程式逐行翻譯並執行。如果出現錯誤,會立即停止在該行。
優點:有利於測試和除錯(debugging);如果存在相應的直譯器,相同的源代碼更容易在不同類型的電腦上運行。
-
連結器 (Linkers)
功能:將編譯後的各個目標代碼片段(以及庫檔案)組合成一個單一的、可執行的程式檔案。
-
設備驅動程式 (Device Drivers)
功能:允許作業系統與特定硬件設備(如打印機、顯卡或網絡攝像頭)進行通訊的小型程式。(沒有驅動程式,作業系統就不知道如何與硬件溝通。)
-
工具程式 (Utilities)
功能:旨在協助管理、維護及調整電腦硬件、作業系統或應用軟件的程式。(將在 2.3 詳細說明)。
翻譯過程:從高級語言到機器碼
當軟件使用高級語言(如 Python 或 C++)開發時,需要進行翻譯,以便 CPU 能理解它(機器碼)。
高級語言如何翻譯並在不同電腦系統上運行:
- 直譯器:源代碼由特定電腦架構(如 Mac, PC)上的直譯器逐行讀取。相同的源代碼可以在任何有直譯器的地方運行。
- 交叉編譯器 (Cross Compilers):這是一種在一種機器上運行(主機,Host,如標準 PC),並為另一種完全不同的機器(目標,Target,如汽車中的嵌入式系統)建立機器碼的軟件。當目標機器太小或太複雜而無法運行編譯器本身時,這至關重要。
Compiler(編譯器):Completely(完整地)翻譯(執行速度較快)。
Interpreter(直譯器):In line(逐行)翻譯(執行速度較慢,但易於除錯)。
重點總結 (2.2):系統軟件使電腦能夠運作並運行應用程式。作業系統是核心,而編譯器和直譯器則負責語言翻譯。
2.3 工具軟件 (Utility Software)
系統的工具箱
工具軟件由一系列功能強大但小巧的程式組成,旨在保持你的電腦運行流暢、高效且安全。
為什麼需要工具軟件?
這些工具是用於:
- 提升系統性能與速度。
- 管理與組織數據存儲。
- 保護系統和數據免受損害。
工具軟件的類型與功能:
-
防毒/反惡意軟件 (Anti-Virus/Anti-Malware)
功能:透過比對已知的威脅數據庫來掃描檔案,從而偵測、預防並刪除惡意軟件(病毒、間諜軟件等)。
-
備份工具 (Back-up Utility)
功能:將檔案和設定的副本製作到另一個存儲介質(如外部硬碟或雲端),以便在原始數據丟失或損壞時進行恢復。
-
數據壓縮工具 (Data Compression Utility)
功能:減小檔案體積,使其佔用更少的存儲空間並加快網絡傳輸速度(試想 ZIP 檔案)。
-
磁碟碎片整理工具 (Disk Defragmentation Utility)
背景(硬碟結構):硬碟驅動器(HDD)上的數據存儲在扇區(sectors)和磁軌(tracks)中。當檔案被修改時,它可能會被保存到磁碟上不連續(分散)的區域。這種碎片化會減慢存取速度。
功能:重新整理 HDD 上分散的檔案,將每個檔案存儲在單一、連續的區塊中。(注意:現代 SSD 通常不需要此操作。)
-
格式化工具 (Formatting Utility)
功能:準備一個新的磁碟(HDD, SSD 或可攜式媒體)以存儲數據。
- 低階格式化:建立磁碟上磁軌和扇區的物理邊界。
- 分區:將磁碟劃分為不同的區域(磁碟分割)。
- 高階格式化:建立檔案系統(如 FAT32, NTFS)和根目錄,允許作業系統管理檔案。
-
檔案管理系統 (File Management Systems)
功能:提供管理檔案和目錄的工具(複製、移動、重新命名、刪除、搜尋)。(例如:Windows 檔案總管或 macOS Finder)
-
檔案複製/刪除工具
功能:用於檔案系統內基本數據操作和刪除管理的重要工具。
工具軟件的優缺點
- 優點:提升性能(整理碎片);保護數據(備份、防毒);釋放空間(壓縮)。
- 缺點:運行時需要系統資源(特別是防毒軟件);對新手用戶來說可能比較複雜(磁碟管理);如果操作不當,某些工具(如格式化)可能導致嚴重的數據丟失。
重點總結 (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 對用戶的效率和滿意度至關重要。
用戶界面的類型
-
命令行界面 (Command Line Interface, CLI)
描述:用戶在提示符中輸入文字指令來操作電腦。要求用戶背誦指令和語法。
用途:伺服器管理、網絡管理、IT 專業人員執行複雜任務。
優缺點:優點:對有經驗的用戶來說速度非常快;所需的內存/處理能力較低。缺點:學習曲線陡峭;容易出錯。
-
圖形用戶界面 (Graphical User Interface, GUI)
描述:使用 WIMP(Windows 視窗, Icons 圖示, Menus 選單, Pointer 指針)允許用戶以視覺方式互動。直觀且依賴於點擊。
用途:個人電腦、一般軟件使用、網頁瀏覽。
優缺點:優點:對初學者易於學習;美觀且直觀。缺點:需要顯著的處理能力和內存;對於執行重複任務的有經驗用戶來說速度較慢。
-
對話式界面 (Dialogue Interface / Menu-driven)
描述:通過選單引導用戶進行一系列選擇或步驟。互動限制在提供的選項內。
用途:自動櫃員機 (ATM)、公共資訊站、互動式語音應答系統 (IVR)。
優缺點:優點:防止用戶錯誤(只能選擇有效的選項);簡單且易於存取。缺點:如果所需操作深埋在選單中,效率可能很低;對有經驗的用戶來說可能會感到沮喪。
-
手勢識別界面 (Gesture-based Interface)
描述:允許用戶透過手部或身體的物理移動進行互動,通常由傳感器或攝影機捕捉。
用途:遊戲(如 VR/動作控制器)、智能螢幕(揮手接聽電話)、部分高端醫學影像顯示設備。
優缺點:優點:高度直觀、自然的互動;無需用手觸碰。缺點:容易疲勞;環境因素(光線、雜物)會影響傳感器準確度。
重點總結 (2.5):合適的 UI 完全取決於用戶和環境。GUI 適合初學者;CLI 適合尋求速度與功能的專家;對話式適合簡單操作;手勢適合自然的空間互動。
AS Level 單元 2:硬件與軟件 - 快速回顧
🌟 必須記住的關鍵點
- 大型主機處理高數據量(交易);超級電腦處理高複雜度/運算速度(模擬)。
- 系統軟件管理電腦(OS, 驅動程式, 翻譯器)。
- 編譯器將程式碼一次性翻譯(執行速度最快);直譯器逐行翻譯(便於除錯)。
- 工具軟件執行維護工作(碎片整理, 備份, 防毒)。
- 定製軟件昂貴但適應性強。現成軟件便宜且經廣泛測試。
- GUI 對用戶友善但較慢;CLI 對專家而言速度快,但學習難度高。
請繼續練習這些比較與對比——它們在考試中非常常見!