PDP-10 ファイル転送
私が他の PDP-10 に接続されたリンクと、そちらで待ち受けているユーザープロセスをもっていると仮定します。そのプロセスにファイルを私へ送らせるために、伝送される可能性のあるフラグの並びは次のように表せます。ここで、私が実行する UUO は左余白に、フラグは字下げして示され、それらと対向する注記は伝送されるデータブロックの性質を示します。
PUT F
CONTROL Data with OPEN parameters, requesting OPEN
LABEL File identification data for LOOKUP
EOM Forces message to be transmitted
GETFD
STATUS Status returned by OPEN
SIZE Byte size to be used
LABEL File retrieval information
PUTF
CONTROL Data requesting INPUT from file
EOM Forces request to be transmitted
GETFD
STATUS Status bits returned by INPUT
GET Logical record (one file buffer load)
(loop back to second PUTF, above, for other records)
Finally, the status information returned by the second GETF indicates
end of file, and I wind up with the sequence:
PUTF
CONTROL Data requesting a CLOSE
EOM Forces transmission
GETFD
STATUS Status bits returned by CLOSE
In the case I am getting a file, the main loop looks like:
PUTF
CONTROL Data requesting OUTPUT
PUT Logical record (one file buffer load)
PUTF
EOM Forces transmission
GETFD
STATUS Status bits returned by OUTPUT
レコード伝送 UUO とフラグ伝送 UUO の両方を用いていること、およびリンク上で入力と出力を切り替えるときにメッセージの伝送を強制するために EOM フラグを用いていることは、注目に値します。上記では、CONTROL データと LABEL データの伝送のために PUT および GET UUO が明らかに必要です。明快さのためにそれらは省きました。
この応用では、CONTROL フラグと STATUS フラグの伝送がもつハンドシェイク的な性質は必須です。プロトコルはハンドシェイクなしで完全なファイルを伝送することを許すでしょうが、それは一か八かの話になります――受信側のプロセスが完全に絡まってしまわないと仮定すれば、一つの誤りで全部をやり直す必要が生じるでしょう。