運算環境 (Computing Environments)
本系列文章內容參考自經典教材 Operating System Concepts, 10th Edition (Silberschatz, Galvin, Gagne)。本文對應章節:Section 1.10 Computing Environments。
OS 並非只存在於一種形式的電腦上。從辦公室的桌上型電腦,到口袋裡的智慧型手機,到工廠裡的機械手臂控制器,再到 Amazon 雲端機房裡的虛擬機,每一種運算環境 (Computing Environment) 都對 OS 提出了不同的要求與挑戰。OS 在這些截然不同的環境中,以不同的形態存在,卻扮演著同樣的核心角色:管理硬體資源、提供程式執行環境,以及協調各元件之間的協作。
1.10.1 傳統運算 (Traditional Computing)
「傳統」並非一個固定的狀態,而是一個持續演化的參照點。
在 20 世紀下半葉,運算資源極為稀缺。當時的系統分為兩種基本模式:批次系統 (Batch System) 事先準備好一批工作依序執行,無需使用者互動;互動系統 (Interactive System) 則等待使用者輸入指令再做出回應。為了最大化珍貴運算資源的使用率,出現了時間分享系統 (Time-Sharing System):用計時器和排程演算法,讓多個使用者快速輪流使用同一台電腦,每人都感覺像是獨占。
隨著技術演進,傳統運算的邊界不 斷模糊。典型的辦公室環境曾是獨立 PC 連接到本地網路,伺服器提供檔案和列印服務,遠端存取不便。如今,企業透過網頁技術讓員工使用入口網站 (Portal) 存取公司資源,員工可在任何地方透過無線網路或行動數據網路連線。在家庭端,過去每個家庭只有一台電腦透過慢速數據機連線;今日則是多裝置共享高速網路,家用電腦甚至可作為網頁伺服器,而防火牆 (Firewall) 則負責限制網路裝置之間的通訊,保護家庭網路不受外部入侵。
今天,純粹的時間分享系統幾乎消失了,但相同的排程技術仍運行在每一台桌上型電腦、筆記型電腦、伺服器、甚至手機上。差別在於:現在輪流使用 CPU 的通常是同一個使用者的多個 Process,而非多個使用者。網頁瀏覽器本身可能就是由多個 Process 組成,每個分頁一個 Process,全都在時間分享下並行運作。這說明了一個重要的觀念:傳統運算所發展出來的排程演算法,不是被淘汰,而是以新的形態繼續運作在現代每一台電腦中。
1.10.2 行動運算 (Mobile Computing)
行動運算 (Mobile Computing) 指的是在手持的智慧型手機 (Smartphone) 和平板電腦 (Tablet) 上進行運算。