?? rfc105.txt
字號:
有如下格式:
1 1 80
+-------+-------+ / +--------------------+ \
| | | / | | \
| x'00' | x'C0' | \ | card image | / ...
+-------+-------+ \ +--------------------+ /
這里每一個字段的長度都已經在字節中加以說明。 括號[尖括號]中的零或具體數字可
以在聯接被用戶關閉之前發送。
二、 遠程輸出返回(RJOR)
只要當任務提交后,任務卡片上記數參數的第八位為字符'T',則來自由RJE提交的,
在UCSB處批處理的任務的A類SYSOUT輸出總可以通過與點三的套接字x'300'聯系來獲取。
輸出根據請求進行檢索,并通過其后的一個編址為套接字x'300'的稱為RJOR的進程向網絡
用戶轉播。 RJOR可以通過日志記錄器觸發。 本節旨在為程序員提供與RJOR通訊的必要信
息。
RJOR依據1970年8月3日的主機-主機傳輸協議,通過網絡控制程序傳遞全部的網絡
報文。 RJOR期待第一個接收到的消息報文是類型0,丟棄第一位并假定它為零,并且在其
后的連接期限內不考慮IMP消息報文的邊界。 同樣地,RJOR發送的第一個消息報文類型為
0:第一個字節由零組成,并且其后該聯接周期內,IMP消息報文邊界不是重要的。
2.1 RJOR登入
為了從批模式任務中獲得計算輸出,網絡用戶必須建立一個與RJOR之間全雙工的聯接。
RJOR僅當使用時存在于核心存儲器常駐區(即當一個用戶正在接收或發送控制信息或一個
文檔時,或當RJOR等待之前的一個被請求的輸出文檔(或一些文檔)時)。 其他時間里,
它保存在直接存取存儲器,并必須由日志記錄器觸發。 一個登錄序列總可以通過向套接字
x'300'發送聯接請求報文來初始化。 如果當另一個用戶正在登錄時想套接字發送一個連接
申請,則網絡控制程序將該信息排隊。 在當前聯接終止之后,RJOR將監聽并接受它的信息
隊列中的下一個請求報文(如果有的話);如果信息隊列中沒有它的請求報文,并且它已經
完成了它所有的輸出文件請求報文,則它就會終止執行、釋放它占領的主存儲器。 當RJOR
不在內核中的時候,日志記錄器監聽從套接字x'300',剔除它收到的第一個調用,將RJOR
讀入內核,并停止監聽從,由RJOR繼續在該套接字上監聽從。 因此要初始化一個登錄序列,
用戶向套接字x'300'發送聯接請求。 如果請求被接受,則他就與RJOR建立了聯系。 如果
請求被拒絕,則他應該重新發送發連接請求;一旦請求被接受,他將被連接到RJOR。 再次
拒絕意味著網絡控制程序的資源告罄。 一旦被請求的雙工連接的前半部分被建立,RJOR就
認為該用戶已經登錄。
在第一個聯接中(此后稱為輸入聯接),用戶發送標記指定由RJOR執行的函數,同時
函數要應用的任務名也被指定。 RJOR隨后關閉這個聯接。 RJOR發送控制信息,對用戶請
求報文的配置和涉及位于點三、號碼為x'301'的RJOR套接字的輔助聯接的輸出文件加以說
明。同時還對用戶方套接字號碼比與該用戶連接的RJOR套接字號碼小一的那些套接字進行
說明。 用戶的請求報文不一定被立即執行。 如果是前一種情況,RJOR則向指定隨用戶接
收套接字發出一個聯接請求,并如果需要的話,可以當聯接建立起來以后,與用戶輸出一同
發送任何適當的控制信息。然后RJOR關閉該聯接并且認為該用戶已經注銷。 如果該用戶的
請求報文不能被立刻滿足(例如,所尋找的任務輸出尚未提交或還沒有結束執行),則由
RJOR創建第二個足夠長的聯接,向該用戶通知延遲信息,并隨即關閉。 然后當請求報文可
用時,該聯接被重新開放,發送所需數據,然后關閉該聯接。用戶即被認為已經注銷。
為了防止RJOR被單個用戶壟斷,在軟件中做了規定:如果該連接用戶請求關閉,或者
一個RJOR等待的時間超過 傳輸完成的時限一定量時,則終止該聯接。 現在,這一時間極
限已經被定為每個記錄一分鐘,但其可以在將來根據需要被縮短或延長。
2.2 輸入聯接
RJOR期待它收到的來自輸入聯接的數據的第一個字節的為0,即標記消息類型0;它將
這個字節丟棄而不去檢驗,并隨后在IMP消息報文邊界無效數字。 接收到數據的第二個字
節被解釋為說明待執行函數的標識。 遵循該標記字節,RJOR期望一個八字節擴充的二進制
--十進制交換碼任務名,并在必要時在右方填補空白字符。 標記字節翻譯如下:
Bit 0 = 1: 發送由指定任務生成的輸出。
Bit 1 = 1: 清除指定任務創建的輸出文檔。
Bit 2 = 1: 根據需要延遲,以執行于0-1位上標明的函數。
= 0: 如果0-1位上標明的函數不能被立刻執行,返回一簡單消息,對該情況加
以說明。
Bit 3 = 1: 早前的一個屬于指定任務的具有等待輸出(位2)選項的請求將被取消。
Bits 4-7: 為檢驗,應為零。
0-2位的任一組合都是允許的。 如果第三位為1,則不繼續檢驗其它數位。 如果第零
位等于1且第一位也等于一,則輸出文檔在發送,然后再將其清除。 如果二個同名的任務
順次執行,則來自第二個任務的輸出將會覆蓋由第一個任務生產的輸出。 在這種情況下,
用戶應該在第一個任務發送完畢之后將輸出從任務中清除,以使得來自第二個任務的請求不
會僅簡單地返回第一個任務輸出的另一份拷貝。
2.3 輸出聯接
RJOR可以開啟輸出聯接一或兩次,作為輸出聯接中的單個傳輸的結果。 在這兩中情
況中的任意一種中,傳輸的第一個字節將由零組成,用以表明消息類型0,
并且其后該聯接周期內,IMP消息報文邊界不是重要的。 遵循第一個字節、RJOR將向
那些適用的響應發送任務名。 與用戶通過輸入聯接所提供的一致,該任務名將存在與一個
8字節數字段內。 遵循該任務名,RJOR將發送可變長度的邏輯記錄。<*每一個照理應該由
一個單字節操作碼、一個說明隨后的可變長度正文字段的無符號長度位的雙字節長度字段組
成。正文字段的長度應為零或正字節數;該長度字段應該包含一個8的倍數的整數。
當前定義的操作碼如圖1所示。位于x'01'的一個操作碼表明該正文字段包含一個由被
請求輸出的任務創建的SYSOUT數據集之一的記錄。 所有具有操作碼x'01'的邏輯記錄的字
段長度都是相同的。 對于那些記錄長度不同于這一值的數據集,則在其標準記錄長度右邊
填補空字符或進行截取以滿足要求。 通常出現在第一列的用于指定打印機的計算輸出已被
丟棄而不復出現。記錄按照它們在打印機上打印同樣的順序被傳輸到用戶。總起來說,這些
記錄包括了所有可能出現在打印輸出中的信息,HASP分隔表單除外。
除了具有操作碼x'01'之外的所有邏輯記錄中,長度字段包含值零,并且該操作碼傳達
該邏輯記錄的全部信息。*
操作碼(十六進制數) 名 稱 解 釋
----------------- ------------ -------------------------------
00 文檔末尾 所有來自該任務的輸出都已發送(最后是一個操
作碼為x'01'的邏輯記錄)。
01 輸 出 文本字段包含一個由該任務生成的SYSOUT數據
記錄。
02 輸出文檔已清除。 來自該任務的輸出已經按照請求被清除。
03 緩沖區內核空間不足。 用于傳送該任務的輸出的主存儲空間不足。傳
送任務被取消,并禁止任何清除請求。
04 文件I/O錯誤。 在讀輸出文檔時遇到了一個不可恢復的I/O錯
誤。傳送任務被取消,并禁止任何清除請求。
05 清除文件I/O錯誤。 在清除輸出文檔時出現了一個不可恢復的I/O
錯誤。傳送任務被取消,并禁止任何清除請求。
06 請求隊列空間已滿。 來自任務的輸出不存在,并已指定等待輸出選
項,但RJOR的請求隊列空間已滿,已被禁止。
07 等候輸出。 來自任務的輸出不存在,并已指定等待輸出選
項,RJOR在等候任務輸出。
08 未發現被取消的請求 用戶請求取消之前發送的指定等候輸出選項的
請求命令。但RJOR未發現這樣的請求。
09 請求被取消。 根據用戶的請求,之前發送的指定等候輸出選
項的請求命令被取消。
0A 搜索文檔I/O錯誤。 試圖定位任務的輸出文檔時發生了一個不可恢
復的I/O錯誤。用戶請求被取消。
0B 未找到輸出。 未找到來自該任務的輸出。用戶未指定等候輸
出選項。
圖 1. 輸出聯接操作碼
[ 本RFC文檔由Randy Dunlap于97年4月 ]
[ 編為機器可讀形式錄入RFC在線檔案 ]
*本限制僅是暫時的,我們正在進行補丁工作。該補丁不久將發布。
RFC105——Network Specifications for Remote Job Entry andRemote Job Output Retrieval at UCSB
通過 UCSB 進行遠程登錄和遠程輸出返回的網絡說明書
1
RFC文檔中文翻譯計劃
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -