Mainframe Evolution - Mainframe Evolution

課程正文
大型主機演進模組
繼續使用本課程教材即表示您同意這些條款與條件。Interskill Learning Pty. Ltd. © 2024
學習檢核
- 能用自己的話說明「Mainframe Evolution」在本 topic 中的用途。
- 能判斷本頁內容應回到哪一個大型主機工作情境中使用。
本模組從大型主機與早期電腦系統的演進切入,說明 supervisor、I/O、multiprogramming、SPOOL、virtual storage,以及 TSO、VTAM、ISPF 如何逐步形成 z/OS 的互動與作業處理基礎。

大型主機演進模組
繼續使用本課程教材即表示您同意這些條款與條件。Interskill Learning Pty. Ltd. © 2024

學習目標:大型主機演進
本模組討論現代大型主機系統的演進,以及它用來克服在這些平台上執行的作業系統所面臨限制的概念和機制。
完成本模組後,您將能夠:

這是早期電腦系統的示意圖。
中央是中央處理單元 (CPU),具有執行程式指令並執行算術與邏輯運算的能力。
它也有一定量的記憶體或中央儲存。由於當時記憶體成本極高,這些系統很少會超過16 KB(16,384 位元組)。

周邊裝置包括作為輸入的穿孔卡讀卡機,以及作為輸出的穿孔卡打孔機和印表機。
操作員使用一個由按鈕、旋鈕和開關組成的面板來控制這部電腦。狀態資訊必須從一排排的燈號中解讀。
執行程式時,必須先從穿孔卡將程式載入記憶體。接著開始執行,輸入資料會從更多的穿孔卡讀取。只有當一個程式執行完畢後,另一個程式才能被載入並執行。
按一下「播放」即可觀看此概念的動畫。

新增的磁帶與磁碟機使得能更快地讀取與寫入資料,但程式必須包含使用這些新裝置所需的額外邏輯。
由於程式依賴特定類型的硬體,通常無法從一部電腦移植到另一部電腦。

1964 年,IBM 發表了 System/360 系列電腦。這些機型都基於相同的架構,因此在一台機型上撰寫的程式也能在其他機型上執行。S/360 架構支援最多 16 MB(16,777,216 位元組)的記憶體,儘管許多系統的記憶體小到只有 32 KB(32,768 位元組)。
硬體隨附了一套作業系統,用以管理程式的執行並提供各種功能給程式使用。作業系統的一個關鍵元件是監督程式。
按一下「播放」即可觀看這個概念的動畫。

名為 Initial Program Load (IPL) 的作業會將監督程式從系統駐留磁碟(SYSRES)載入到記憶體的一個區段,並在系統處於活動狀態時一直駐留於該處。
監督程式控制系統中的所有硬體,並包含每種裝置類型所需的邏輯。
按一下 Play 即可觀看此概念的動畫。

監督程式還負責將應用程式(稱為問題程式)載入記憶體中剩餘的區域,並配置資料集以供程式的輸入與輸出使用。當問題程式需要讀取或寫入一筆記錄時,它會發出監督程式呼叫 (SVC)。監督程式會執行必要的操作,然後將控制權還給問題程式。
程式現在有了一種標準化的方式來請求 I/O 操作。它們不再需要為每一種所使用的裝置自行包含邏輯,且由於相同的監督程式可以在 S/360 系列的任何電腦上使用,因此在一部 S/360 電腦上撰寫的程式可以在任何 S/360 電腦上執行。
按一下 Play 以觀看此概念的動畫。

接著,系統主控台取代了舊有的控制面板。它最初是類打字機的裝置,後來演變為視覺顯示單元 (VDU) 與鍵盤的組合。
系統主控台讓監督程式能夠顯示有意義的訊息,並使操作員能向監督程式發出指令。系統狀態不再需要從一排排的燈號解讀。
按一下 Play 以觀看說明此概念的動畫。

load library (LOADLIB) 是一種特殊類型的磁碟檔案,通常(但不一定)位於 SYSRES,上面可以按名稱儲存與擷取可執行程式。
作業控制語言 (JCL) 從讀卡機讀取的語句可以指示主管程式從特定的 LOADLIB 載入程式,並指定它要使用哪些資料集作為輸入與輸出。由於主管程式的這項創新,數個程式可以在單一作業內以一連串步驟執行,程式也不再需要從卡片讀取才能執行。
按一下 Play 以檢視此概念的動畫。

現在將仔細檢視 S/360 的輸入/輸出作業如何執行。
大部分工作是由通道執行。這些通道是能存取 CPU 中央儲存的特殊處理器。
每個通道都有一個位址,其值介於 0 到 15。數字以十六進位數字表示;通道位址的範圍為 0 到 F。

通道連接到控制單元 (CU)。每種裝置類型(例如磁碟或磁帶)有不同類型的控制單元。
控制單元連接到各個裝置,或稱單元。像通道一樣,每個 CU 或單元都有自己的一位數位址。
任何特定單元的裝置位址是通道位址、CU 位址與單元位址的組合。

例如,當監督程式需要讀取一筆記錄時,它會向適當的通道傳送一連串指令,通道再指示控制單元 (CU) 在裝置上開始該操作。
當操作完成後,狀態(指示該 I/O 是否成功)和資料會回傳到通道。通道接著會將狀態和資料儲存在中央儲存體,並中斷監督程式以通知該操作已完成。I/O 子系統自那時以來已演進,但大致上,I/O 操作的運作方式仍然相似。
按一下 Play 以檢視此概念的動畫。

此圖說明一次輸入作業的運作。它從程式對 I/O 的請求與 SVC 呼叫開始,最後在程式區中儲存一筆記錄與狀態資訊。這些狀態資訊可讓程式判斷其請求如何被授予。
按一下 Play 以檢視此概念的範例。

引入多道程式設計以減少 CPU 處於閒置的時間,從而提高 CPU 的效率並改善其成本效益。
當有 I/O 等待時,CPU 無事可做;它可能有超過一半的時間閒置。這是對昂貴資源的浪費。
按一下「播放」以觀看說明此概念的動畫。

為了建立多工處理環境,可用的中央儲存體會被劃分為多個區域,每個區域都可包含一個程式。
按一下 Play 以檢視此概念的動畫。

多工處理的基本概念是:當一個程式在等待 I/O 請求完成時,CPU 可以處理另一個程式的指令。
在完成一次 I/O 操作所需的時間裡,可以執行數千條機器指令。
按一下 Play 以檢視此概念的動畫。

雖然磁碟可在程式之間共用,只要它們不會同時試圖寫入同一個資料集,但序列式裝置仍會產生一些問題。
使用頻率較低的磁帶和打孔卡機可視需要分配給某一個區域,但每個區域都需要一個輸入裝置,通常為卡片讀取機,以讀取 JCL,而且幾乎每個程式都會使用印表機。
這些裝置的成本對多工處理造成了嚴重的限制。

Simultaneous Peripheral Operations OnLine (SPOOL) 幫助減輕因需要使用卡片讀取機與印表機所造成的多程序處理限制。
在接下來的幾頁中,您將看到它如何運作。

首先,作業進入子系統 (JES) 以 started task 的方式啟動。與大多數作業不同,started task 是由系統或由操作員在主控台輸入的 START 指令啟動。
所需的 JCL 從一個特殊的程序庫 (PROCLIB) 讀入,該庫通常位於 SYSRES,JES 程式則從 LOADLIB 讀入。

在 JES 載入之後,監督程式會將所有讀卡機、打孔機和印表機,以及磁碟上的 SPOOL 資料集,全數指派給 JES。
當透過讀卡機輸入 JCL 時,JES 將敘述複製到 SPOOL,並為每個作業指派從 JCL 取得的名稱與一個唯一的編號。
按一下 Play 以觀看此概念的動畫。

當某個區域可用時,系統會像由讀卡機讀取般,從 SPOOL 讀取 JCL,並開始執行所指定的程式。
按一下 Play 以檢視這個概念的動畫。

當程式嘗試寫入印表機時,監督程式會識別該請求是針對 SPOOL 裝置,並將請求傳給 JES,JES 會將輸出記錄導向 SPOOL 資料集。
狀態資訊會先傳給 JES,以便在交付給程式之前進行必要的調整。當程式嘗試讀或寫打孔卡時,也使用類似的技術。
按一下 Play 以觀看這個概念的動畫。

當程式清單寫入 SPOOL 後,JES 可以自動將它們導向印表機列印。
操作人員可以對 JES 發出指令,以控制清單的導向,並確保列印過程順暢且有效率。
按一下 Play 來觀看這個概念的動畫。

SPOOL 的導入帶來許多優點,其中包括現在可以從 SPOOL 取回卡片影像,因此不再需要打孔機。
新的程式和 JCL 仍然必須透過卡片讀取機輸入,但只需要一台。寫入磁碟比寫入印表機快得多。
產生列印清單的作業完成得更快,且不再需要為每個作業配備專用印表機。

隨著作業系統加入越來越多的功能與機制,且程式規模不斷成長,儲存空間的不足使得同時執行多個程式變得困難,甚至不可能。
這個問題的解決方法出現在1970年代初,當時 IBM 在其 System/370 架構新增了一項功能──虛擬儲存。

要理解虛擬儲存的概念,試著想像在電視螢幕上一次只看一頁,來閱讀一份四頁的文件。
當你從一頁讀到下一頁時,你會有四頁都已攤開,而一台單一攝影機正從一頁移到下一頁的印象。
按一下「播放」以檢視此概念的動畫。

實際上的情形是:文件的四個頁面各自儲存在磁碟上的一個槽位中。
為了能被看到,頁面必須被移到兩個畫格中的其中一個,而每個畫格下方各有一個攝影機。當你從一頁讀到下一頁時,送到你畫面的訊號會從一個攝影機切換到另一個攝影機。
當新頁面顯示在畫面上時,舊頁面所佔用的畫格就可以提供給其他頁面使用。
按一下播放以檢視這個概念的動畫。

只要有足夠的插槽與頁框,許多人就可以同時閱讀不同的文件。隨著頁框與插槽數量增加,可以同時檢視的文件數量會大幅上升。
按一下 Play 以觀看此概念的動畫。

程式用來放置指令與資料的空間被劃分為 4 KB 的頁,這些頁可以寫到磁碟上的槽,並儲存在記憶體的框格中。
這些頁對程式而言看起來像是連續的,就像你文件的頁面對你看起來是連續的一樣,稱為虛擬儲存。
記憶體的框格稱為實體儲存,磁碟上的槽稱為輔助儲存。虛擬儲存的容量以及支援它所需的機制稱為位址空間。

每個位址空間的一部分稱為共用區域,該區域在系統中的所有位址空間之間共用。這使得某些常式可立即使用,並促進不同位址空間中程式之間的通訊。
透過使用虛擬儲存,像 S/370 作業系統中的 Multiple Virtual Storage (MVS) 這類系統,就能以相對較少的實體記憶體支援多個程式同時執行,每個程式位於最多可包含 16 MB 的位址空間中。

ISPF 提供全畫面、選單式介面給公用程式與應用程式使用。TSO 用於配置資料集並以互動方式執行程式。VTAM 協助程式與終端機之間的通訊。
TSO、VTAM 和 ISPF 幾乎在每個大型主機安裝環境中都會使用。接下來的頁面將逐一介紹它們。
將滑鼠移到 TSO、ISPF 和 VTAM 上方以了解它們的功能。

Time Sharing Option (TSO) 為開發人員提供一個環境,允許在終端機輸入指令以分配資料集並互動式執行程式。
TSO 具有一個簡單的文字編輯器,允許在終端機輸入作業串流和程式原始碼,而不必再透過穿孔卡。卡片讀取機因此變得過時。

Virtual Telecommunications Access Method (VTAM) 使像 TSO 這類互動程式能夠與終端機通訊,而不必為每種終端機類型撰寫特殊處理程式碼。
VTAM 也具備多項內建復原機制與診斷功能,並處理諸如終端機是本地連接或位於網路上等細節。

Interactive System Productivity Facility (ISPF) 隨著時間演進,已成為 MVS 程式設計師與操作員慣用的工作環境。
作為 TSO 的擴充,ISPF 包含功能強大的文字編輯器,並為愈來愈多的工具程式與應用程式提供全螢幕、選單式介面。

參考
IBM 大型主機的主要作業系統與硬體架構,自 1960 年代在 S/360 機器上執行 Multiple Virtual Tasks (MVT) 以來,已演進到目前在 IBM Z 大型主機上發行的 z/OS 版本。
Multiple Virtual Storage (MVS) 作業系統經歷了多次演變,從 MVS/370、MVS/XA (eXtended Architecture) 與 MVS/ESA (Enterprise Systems Architecture),發展到 OS/390 與 z/OS 等「開放系統」環境。
雖然 OS/390 與 z/OS 允許像 UNIX 這類中階系統在大型主機環境中執行,但底層作業系統仍是 MVS 的一個版本。因此,許多人仍將 OS/390 與 z/OS 的觀念、機制與環境稱為「MVS」。
在下列課程與模組中,對 MVS 的參考應視為與 z/OS 作業系統可互換。

摘要:大型主機演進
在本單元中,我們檢視了主管程式的功能,以及輸入/輸出作業中使用的元件與動作。我們探討了多工程式系統的概念與元件,以及 TSO、VTAM 和 ISPF 的用途。
您現在應該能夠:

單元完成:大型主機演進
您可以按一下「Exit」離開大型主機演進並記錄您的結果,或使用「Table of Contents」返回檢視本單元。
若要再次參加大型主機演進單元測驗,您需要先離開該單元,然後從您的 LMS 重新進行測驗。
注意:為確保您的結果正確儲存,請使用本教學視窗右上角的「Exit」按鈕。請勿使用瀏覽器右上角的「X」。
本模組的練習測驗與 Module Test 題目已納入「練習與評量」,可依題型或來源篩選練習。本站以非計分模式提供 16 題練習;正式分數、attempt、completion 與憑證仍以 YourLearnings / InterSkill 為準。