Aller au contenu principal

Transmission de fichiers PDP-10

Supposons que j'aie une liaison connectée à un autre PDP-10 et un processus utilisateur là-bas qui écoute. Afin d'amener ce processus à m'envoyer un fichier, la séquence de fanions susceptible d'être transmise peut être représentée comme suit, où les UUO exécutés par moi sont dans la marge de gauche, les fanions sont indentés, et le commentaire en face d'eux indique la nature du bloc de données transmis :

   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

L'utilisation à la fois des UUO de transmission d'enregistrement et de fanion mérite d'être notée, de même que l'utilisation du fanion EOM pour forcer la transmission d'un message lors du basculement entre entrée et sortie sur la liaison. Les UUO PUT et GET sont manifestement requis ci-dessus pour la transmission des données CONTROL et LABEL ; je les ai supprimés par souci de clarté.

Pour cette application, le caractère de poignée de main de la transmission des fanions CONTROL et STATUS est obligatoire. Bien que le protocole permettrait la transmission d'un fichier complet sans la poignée de main, ce serait une proposition tout ou rien -- une seule erreur nécessiterait de tout recommencer, à supposer que le processus récepteur ne finisse pas dans un enchevêtrement complet.