You are on page 1of 54

;_ 0.

"

·l

Network 1t!orld.r.g Group


Bequest; fo:.' Conment.s : JJ_

Implerrentation of the HOST - HOST

Sof'tware Procecures in GorJX)

.G. DeIoche , TJeL/\.


. 1 Aur;u.st 1969
':" l
'; '
.,
, j

~'

TABLE ,OF CONTElITS

Chapter Par;e

1. Introduct ion 3

2. HOS'l'-:I03'!' Pr oce dur-es .... . '. 4

2'.1 Generalit ies . . . . . . 4

2.2 Connections and Links •• •• . • . • , . • • • 5


2.2.1 Definitions .•... 5
2.2.2 Connection types ••.••.•. 6

Message Structure . • • • " , 9


User 'Pranaactdons . . . . . '. ,. . 12

2.4.1 List of transactions 12

2. 11.? H~ST-EOS7 protocol an d control message s . 11\

3. Imp]e~ntation in GORDO 19
3~ 1 , Introduction to GORlX) '. . l~

3.1.1 ' GORro file syst em 19


3.1.2 GOPJD process 19
3.2 Sof'tware Organization Overview . . . . 22
3.3 Softvrare Description • . • • • . 24
3.3.1 Data structures .. . 24
3.3.1.1 Allocation t ables 211
3.3.1. 2 Buffer pages • . • • 20

3.3.2 Progrm~ 36
3.3 ..2.1 Handler 36
3.3.2.2 Net'.-:or k 37

.'­

-PaCJ"e
>.).......

3.4 Soft\\'2.r~ Pr ocedure s . . . . . . . . . .

3.4.1 Descri ption of SOH~C t ypical sequences 40

.Appe ndi x A: . .....

·i'

2 .

..

..
~ :

1. INl'RODUCl ' I ON

r.J.' his technical not e concentra t es upon (1) the HOST--Ho.,)rr pr oce dures

and (2) the implementatlon of t he corresponding pr ograms in GOF-~:;O (Opcra"cj ne;

System of the UCLA HOST).

The first s ection is closely relat ed to the BBN reports No. 1822

and 1763[1J an~ specif'les the HOST fun cti ~rs for exchanging rness age~. It

'most Iy deals i'lith Lmks and connectd.ons , message structure, transactions,

and control rr.ess2~es.

The second s ection is software or-Iented ; it explains how the HOST

functlons are implemented and int egrated into GOHiJ O• . It is involved \·rith

data structures, progr a-ns, buf fer3 , interrupt processing, etc.

[1.] Parts of this section are t aken from or referred to those reports .

.'

3
" .

,"
,J " "

2. HOS11-:I0S1' PROCEDURES

2.1 Generalities

Tne basic ldea is that several users, "at a given BOSi', should

. simultaneously be able to utilize the network by time--sharing its physical

facilites.

'l'his implies that within each HOSr operating system, there must

exist a special prograu that multiplexes outgoing messages from the users

into the network and distributes Lricornl.ng messages to the appropriate users.

":e will call this spec.l.af program the j,let\'Jork progr-am.

."
2.2 Links and Connactions (See f'Lgure J.)

2.2.1 Definitions

It is convenient to consider the 1'Jel:\-.'ork as a black box - a system

whose behavior is known but whose necharrisrrs are not - 'for .coITmuni ca t i n;:s;

me~sages between remote users rather bhan between pairs of HOST computers.

(a) I~gical co~~ection~

.\'l e define a logical connection as being a conmun:i.cation path

linking two users at remote HOSTs.

\<lith that concept, a user (user pr-ogr'am) in a HOST computer can

(1) establish several logical connections to any remote HOS'l' users, and (2)

send or receive m3ssaGes over those connections.

Connections appear to users as full duplex.

One of. the purposes of the Neb-lark program is to serve the user's

in establishins, identifying, and maintaining these connections. '

(b) Logical ljIli<s

Each logical conr£ction is made of a pair of directional links:

one ~or transmitting, the other for receiving.

Those links, called logical links, are established by the Ne tviorsc

programs and used .by them.

Note here tha.t users ClI'8 only interested in connections and are

completely unaware of lines. Relationships between links and connections

are carried out by the Network program ..

One of the advantages to define a connectLon as a pair of dh--ec­

tional Jinks is that a HOS'l' will have the capability to loop h.lmse If through

its ll-'IP (it opens a connection to himself). 'l'his featur-e can be useful fo!'
debugging purposes ,

Flirther on through this paper we "rill not use any more the

. attribute logical when referring either to links or- conncct tons ,

2.2.2 Connection types

In order- to reach a high .f l exi bi JJ.t y in utilizing the IJet\'lorx

there is advantage to classify the connections.

Three types of connections are distinguished: (a) control con­

nection, (b) pr-Imary connection, and (c) auxiliary connection.

(a) Control connection

This. connection has a special status and is unique between a paf.r

of HOST , e.g., if the Het"lorl( includes


s
x HOsr , there
s
are at most x

control connections issued fro~ one HOST.

rl'his connectdon is used by remote Netwcrk programs for pass lng

. control messages back and forth. Control messages are basic to the

est?blishment/deletion of standard ~onnections. (See 2.4.2)


Note here that this control connect len is the only connection

which is ignored by the HOsr users.

Let us describe nO~T the standard connections.

(b) Primary connect.Lon

These connections connect ' remote users.

A pr-Imary connection:

7< Is unique between a pai r- of users ani is the fir.,t to be

6
established.

+; Is Irtelctype-likel!, Le.:

- ASCII characters are transmitted;

.- Echos are generated by the r-emote HOST;

":" ~'he rece.l vi.ng HOSTs . scan for break characters;


.~

- The t.r-ansmf.ss lon rate is s Icw (less them 20 characters/sec).

* Is mainly used for transmitting control commands, e.g., for

log-in into a rerr.ote HOST oper-at.Ing system.

(c) AUXiliary connection

~hese connections also connect remote users:

An aUXiliary cor~ection:

* Is opened in parallel to a primary connection and is not

unique, i. e ., several auxiliary connactd.ons can be establisted

* Is used for transmitting large volumes of data (file

oriented) •

* Is useo either for blnary or character t.rarmtssf.on.

1
. <,
-"
>"
" -'
..--1.


I
! 1-
! u)
I Q
~ -;:r:

it

'I'he HOS'l' comnoru.cate \"lith each other via m:;ssaf,ES. A message rna.y
s
vary 1n length up to 8G9:5 bits (See dcwn be low the structure) ~ Larger

tran::mlission must tber<:fore be broken Lip by HOST users into a sequence of

such messages.

A nessage structure is identified on fie;ure 2.

It includes the follo\1ing:

(1) A leader (32 bits): Fleasage type, Source/Destination HOSI',

link number. (See BBH report No. 1822, pp 13, 17)

(2) A marklng (~2 bits when sent by the Sigma. ~() for starting a

message text on a word boundary, .(See BBN report ' No. 1822,

pp. 17, 19)

(3) 'Ihe message text (I-lax: 8015 pits for the Sigma 7). It mostly

consists of user I s text. However-, it may represent information

for use by the Network prograre , (Control messages, see 2. 11.2).

(4) A checksum (J.6 bits). Its purpose is to check, at the HOSr

level, the right transmission of a nessage , . (Changes in bit

pattern or packet traTlsposition; packets are defined in BEN

report No. 1763, p. 13) See down be Iow for checksum calculation.

(5) A padding for so~vin~ word 1encth mismatch problems. (See


. . .
BUN report Ho , 1822, p , 17, 19.) e " A..c; far . as sot'tware is con­

· cer ned , padding is only invoived at message "r e cept i on for

de'l.Lneat.Lng mesaage ends. (At transmission the hardware takes

care of the padd.lng ,')

9..

Q
.

) Remark:

.checkstml calculation: .
/'
The last 16 bits of ever'y me ssage sent by a' HOSI' is a checksum.

This checksum is crmput.ed on the who.le mes sage .Inc Iuctlng clj1~' mD.r~dng, but

excluding the 32 bit leader and any padding. To compute the checksum:
'L Consider the message to be padded with zeroes to a length of

86 110 bits.
2. Section the 86 110 bits into 'six lIIlIO-bit segments , SO' Sr' .8 ,
5
3. Section each l4 Ll0-bit segment, S into go 1G-·bit e lerrent;s ,

to' t 1 .... t 89 ·
l{. Define a function G), whf.ch takes two 16-bit elements as

inputs and outputs a 16-bit element. This runct ton is

defined by

16
t m@ t n = t m0 t n , if t m + t n < 2

: t -(±l t
· m n
= t ,@ t'
'm n
- 216 + 1 if t
'm
+ t
n
~ 216

5. For each 1440-'bit segment S:j. compute Ci = K(Si).' where

K(S) = to @ t 1 G) ...... '~89


6. Compute C'= Co (±) C1 d) cl 0 c2 G) c2 .f) c2 ~C2····· 0)c 5
(Netlee that 'C G) C is just C rot~ted left one bit)
l l 1
The nu~ber C is the checksu~.
The reason the C
i

are rotated by i bits is

to detect packet transposition.

-10
. .. . .:
:: ~ ~ .'
.. ~ : .
":.
' .'
. ' .. .:. . ~:

. 3 2..
. bl \'L>:.
" . . .
< ._._. _.._ _-- -_.- .----_ - - - _..- .--- _._--- - _._.__._>

':.
.:
",",'
I.
1 G. ) \t ' \y<", \' '".~ ('~)-'
. . '. .
V (J ,
~~ - _.. -_._ - _ _- ., - ~ ~ ~ ~ . _- "-" - ' -' - - :-- . _~ ~ ..~-.:- .- . ~ _ _- . ~ ~ "-- .

i ;,
~ ~
~I I ~

M O~ Q~(C.
~. I
\1 I , \
0:J I
01
~.
\S' i
\1) 1
(I- I ) crr<..,··LJ
M>. '
~
- . ! \ \
vr ~ (1'"2­

i 1'1 _~

r
, : -.. ...:-. I
. . I~'"
- . .'". .. . . -:__
~

U 11
. ;

2. 11 USCI' 1'ransQctiorr,
===--­

From what has been dis cussed unt.l.I 11c1"o2, the Nett:;orl-:: appears to a

user as a bunch of connections. Let us nOVI e xp.l.af.n h O','1 one can make usc of

these connections .

.First, we are going to describe the set of transactio~s that a

user should be able to access for ut lLi.zlng the connection fa.ciltties.

'Ihen , \'Ie are going to explain the rol.e of the Network program for

the execution of these transacti.ons. 'I'hi.s will cover a HOST-HOST protocol

in whf.ch control messages are exchanged behieen network programs .

For- expl.anat.Ion purposes those t.ransact Ions are represented, at

.the user level, in the for~:i of subr-cutIne calls and pararacter-s , Hcvever-,

this does not imply at all that the implercentation '.'lil1 closely follo\>[ this

pattern. (He aremcr-e involved here ",nth the description than the i mple­

mentation aspect, see chapter 3.)

2.4.1 Ltst of transactions

. Listed belo'iI are the descriptions of. SUbroutines that could he at

user's disposal. for creat.tng/breaking connect.Icns and transmitt:ln;/r-eceiving

data over them. This set of subroutines can be considered as a kind of

interface between the user level and the network progr-am level.

OPENPRIT·1 (COi \rW~:GrrD, HOSTID, RUFFJ\DDH, [021'J)

CON?'iECl1:D: Connect.Lon iccntific,:.tion f/

12
..

HOS'l'ID: Remote lIOs'r ldentiflcation If

BlJF'FADDH: Buffer address for Lncomlng messages ~

OPT·: Optlons s~ch as message req~tl~daftc~ successful connection

est.ab'Ltshnent., "full e cho" (each message is traJ1~;nl..ittcd ba ck

by the r emot e HOS'l' for check.ing purpose }, etc.

Remark: [ ] means optional

(b) Open auxilia r y cormection

OPENAUX (COi-JHECTID, BUF'FADDR, N, [OI:1'J)

CONNEcrID: Connection identification II, i.e., the identification

of the corrtsponding "prjj~ connection (First a us er

has to open a primary connection).

BUFFJiDDR: Same meaning as above.

N: Nlmlber of auxiliary connections t hat should be opend ,

OPT : Same meaning a s above.

(c) Trans~tssion over connection

TRANSf'l (COl'TIillCrID, "NO, BUFFADDR, N, [OF'l'J)

CONNEcrID: Connection identification i!

NO: Connection #. The primary cormect.Lon is always refer-red to

as "bei ne; NO ::: O. ·/m auxiliary connection number corresponds

to "t he order in ~1ich it h as been established. (TI1e fi rst

auxiliary opened is referred to by NO = 1, the second by

NO = 2, etc .') .

BUFFJIDDR: Buf'f'er' addr-ess of' the message to be transmitted.

N: Hessase size (byte numbcr-)

13
.,

.'

OPJ,'; Options such as data type (characters vs , vlnary) , trac e bit, e tc .


)
, , (d ) Close connecti on

CLOSE ( COHNECI'ID, [N]; [NO])

co;,n'lECl'ID: Conne cti on indcnt ification /I .

N: Numo er­ of connect ions t o be c Ios ed , If Omitted all connect t ons

in use by t he us er, included the primary l ink, are closed .

NO: In case of N dj.fferent from zero this n umb er- indicates the

auxiJiaYj connecti~1 U to be closed.

2.4.2 HOST-HOST prot oc~l and control me s ~ 8ges

'Ihe HOST-HOST protocol is carried out by the Nebwor k progr ams, It


-
mainly involves the execution 'of the previous transactions (initiated by

( USe~3) end covers a HOST- Hos'r dialogue.


\ . )
This dialogue fu.lfills control , procedure s f or operring or br-eak l ng

, conrle ct i ons and consists in exchanging control messages over the control

lin.l{, A control message has a , structure identical to that of a regular

nessage ; it only differs from it by the text vThich is for use by Network

programs instead of user-s .

Let us insist that this control procedure i s ccmp.Iet e Iy unre Lated

to transmission control procedures implemented in the n,1p computers. He are

here at the Hosrr level (Network programs), and t herefore control mcsaagcs ,

that are going to be described b e Low, ar e transmitted , over the Inp like
s
regular messases.

Consider nov, the previous t.ransactd.ons arid describe for e ach of

III

. e xplained by Iil8 aTlS of :trivia l ex aump l c s .

.\{e suppos e that c. HOS'l'(x ) user \'1D11ts t o t alk to a remote HOST(y)

progr-am called URSA.

The HOsel' (x) 's Network program , waken up (See 3.3) by a use f or

opening a pr-Imary connection, s t ar-t s a di.a l.ogue with the HOS"T (y)' s Net\'lOrk

program.

(L) HOST(x) sends t he f'o .l.Lovring control me ssage :

HOST(x) Control link HOST(y)

EKQ PRIT·1 a 1 2

ENQ: Enquiry for connection establishment (o ne ASCII charact.er-)

PRIN: Corme ction type : pr-Ima r y (one s pec i.a'l chara ct er-)

012 Outgoing link #. It is a de cimal number- (3 ASCII character-s ) ,

e.g., 1i.nk #12.

This link il .has been cle t e:r:nined by t he HOST(x) Net work

program (See Jrnp'lertent ato.on: 3.3 Y

(ii) . HOS'l'(y) a cknovrIedge s b y s ending back the fo110':ling cont r ol '

messae;e:
HOST(x) Control .1i nk HOS'l'(y)
~
ACK ENQ PRII'Ji a1 2 a1 5
ACK: Positive acknowledgment (one ASCI I charact er)

. ENQ PKU·1 a 1 2. Same me aning as above. 'Ih.Ls part of t he message is

. retlwned for ch~cking purpos es.

015 Incoirln g liro.K II. It fo110':13 the s a;718 pat ter n as the . outgof.ng

Lfnk /,1. Tni s 1:i.nlc If has been detcmnin::::d by t he HOa.i' (y ) Networ k

15
progr~m.

Now the connect i.on is est.ablf.shed ; it will use links i/12

and 15 1;'01" exchanging user rressages , The connection is sal.d

to be in a prc--Log-dn state , i.e., the remote HOSrr(y) expects

its standard log-in pr-ocedures ,

By n:eans of TRANSf'I subroutines refcrrin,2; to the primary connection,

the lIOSrl'(x) user is able to s lgn-J.n into the HOS-f(y) oper-at ing system and

then to call for the liRSA program (HOST (y) user program) .

'l'he Network programs at both ends \'1ill use the link #12 and #15

for pass Ing along messages , These messages are st.andard messages whose con­

tents serve for log in sequence.

A triv:i.al exarnp.le could be:

HOS'l'(x) Prim. Link 1/12 HOST(y)


- -- - )
S I G N - I N X X
HOST (x ) Prim. Linl< #15 HOsr(y)
REA D Y

HOST (x) Prim. Link #12 HOST(y)


U R S A

(c) Open an auxiliary connection: (OPEHNJXI)

In a very s.lml Lar manner as (2.) an auxiliary connection is estab­

lished between HOS'l'(x) and HOSrr(y). For so do ing control messages are
..
exchanged over the control link.

IIOSI'(x) Control link HOST(y)


--;>
B~Q ·AUX · 0 2 5

Hosrr(x) <f-_ _~~Tltrol link _ HOSTey)


-.,
ACK FJ·rq AUX 0 2 5 0 2' 1

16

NOVI the auxi l.turv conne c t ion i s e s t ablis hed, it \'1J11 us c Li nks 1.' 25 and 21

By neans of TH!lj'J::'~':l subrout t ncs r efer-r ins t o the auxl Ll ary CO\!­

ne ction, the us ers at both ends can exchange data :

HOST (x) Aux. Id.nk #25 HOS'I'(y)


~
X X ...... X X

HOST(x) Aux. Izlnk 1/21 HOST(y)


< ----
X ..................... X

etc - .

(e) Close co nne ct Ions : (CLOSE)

This i s carried out in a sdmlLar manner as (a). 'I'he user calls a

CLOSE subrout i ne and then the Hetwor k pr cgrams at bot h ends exchange

~ontrol me s sages.

HOS'l'(x)
zor
Control Link
0 0 1· 0 1 2
-» HOS1'(y)

End of transmi s sion (one ASCII character-)

001 No.' of conne ctions to be closed C3 deci mal ASCII characters )

o1 2 Out gqing link II to be clos ed.

'l'hen HOsr(y) acknowledges bact as in (a).

HOST (x) ~_ _ C_ontrol Link HOST(y)


ACK EOI' o o 1 o 1 2 o 1 5

Remark 1 _. In (a), (c), and (e) HOS?( y) may answer- back a me s sage includinG

a negative ackno wl.edgnent character I~ Al< inste ad of ACK. Thi s f or

17
many various reasons such as: wrong sequence , connec tion al.ready

opened , and so forth . The n:es s age could be NJlX nm, where Ij~l)

i s an alphanumerd cal character- .ind.Lcat i.ng , in a coded I'orrn, why

the prcvi.ous b Ioclr has been rct'us cd . Upon receivir,g back such

acknow'ledgmcn t a HOST (x ) "!i.ll r e pe at its measage until llosrr (y)


accepts it. 1m emergen cy procedur e vii 11 t ake place if too many

successive !lNJlX me s s age s " occur .

Rernark 2 - On each of the above iJ.lustr2.tions (arrows) only the mess ege text

i s represented. In fact , complete rresseges (wi th I eade r-, marklng ,

pacId l.ng
' .. . ) are:> exch angecd over t'.ne s e l'J.,nJ cs .

..

18


!

3. J:iI'IPIEMENrrA'.~ION IiI GOEr))

3.1 Introduction t o GOnDO

Gonro is a time--sharing sy stem implemented on 5 DS Si g;lla 7. v,Te


outline below so~~ of the characteristics rel evan t to our paper.

3.1.1 G01100 file system

'l'he file system is page oriented. It is compos ed of files and

directories. A file consists of a heading and a number- of pages \vhich

compose the body of t he file. A director-y co nsists of a rnmoer of entries

that point to either files or other di.rectoz-Ies .

3.1.2 GOP.ro proce s s

* A process is a prograll (procedures and data) plus its l ogical environ­

ment , In other words a process is a program which is known and controlled

by the GOHDO scheduler.

* A user (a job) may have sev eral processes as different as ccmpiler,

loader, eeli tor', application pr-ogr-am, etc. A process is created through

a system call (FORK).

* 'l'he space .a pi -ocess can refer to is the Vf.r -cual, Space of 128k word

length. A part (~k) of it is reserved for the operating system, the

other part (12mc) is directly a ccessed by the us er. This later may fill

or modify its par-t of the virtual sp ace upon "coup l.Ing ' ~ (See be Icw:

19
servf.ce calls) pages taken from cl:iffero:mt files. Pir;ul'e 3 illustrates

this coupling.

* A process can request for services by IT.em1S of sysuetn calls. 'Ihe syatcm

calls rc levant to OLU" paper are:

vlAKE for at.l)'aJdng (set active) a sleeping process

SLEEP for putting a~leep another process (or itself)

COUPLE for coupl.fng a page from the file space to the virtuaJ.

space .

. A process ordinarily runs in slave mode. However- if j.t is set up as an


I/O process it can access privileged instructions.

Processes cen share data t.hrough files attached to "rnaf.I box"

directorles.

Remark: 'I'hr'ough tht.s note the words procecs and program are used inter-·

changeab ly ,

20

- ·........---..-- 2

rZ :;;J I

- --_·_------·- 1 }
r'. ':
'r;; ',
" G =::-:~ :~=~- I ·
- - - - .--- - . :- .- '1
' . __'__"__" ~ ' _' "__Ij
'--r
f· _ ·,·- ·----1
-q., _------'_.-. ~
'. I
L. .__._......

-, f-').:.. 2.­
- _. _ ~ . _ . _-.. ~ - ,-- -­- -_... . _- ... ~ ... _,

k:­
"" -. r---._ ..-...,.-.. . ­ ---'11
L­ _
- - -.::....-. _ - ­ _ : _ _ . .. . ! ~., L ,- _.. . ­ ---1
-..\

.i--- -- -- - · - · ·--- .­

~ - -_ .. _-------_._­

"-'f"
jr- - - - - -­ -
- -...­ - --- - -- -·-·-;"- - - - ·- - -· 1~ ~-- -- --- --'1
-' --­ ----.----------. ---I'.
I.--_..__.._----.. ;
. i

I
I
i

1
' 1,.... _ _­ - -_ .. _..-.--- - • __ e _ _
!
• • _ .- :
-,

'-. r\· ·~. , \'\ .


"'-" 1----'- :--.."---1:
~;.
.....- ---------·1'\ (.. .: '.j " .

r------ ----·­
--:---......-..
I --~ ·· --

! .

I..
c
._ ~: ~:'..:'__,. _.~'
;': ., ',
-::..__~, _, ~. , _ L .. _,
• I. (':
\'JI"~ ~T.
.....:'~.,, '; .
:': ~_ ... Cv. \",: '" _

.~
, : . .." .

?1
3.2 Software Grgan~.
==:::::::::=:::---
z ation Overvi.e':'
- - - _ .------ _ ..-- - - -- -- -:::.-:

Ff.gure 11 illustrates the overall organi.zat Lon ,

The synt.em i s based upon t wo matn pr ogr-ams :

"Hand.ler-" •

'l·ne Hand'Ier- is an I/O Lnt.er-rupt r outine clos ely related to the

]JVlP-HOST hardware interface . It serves the Network process in t r ansmi tting

and receivirJg network rr.e s s ~e s .

The' N~t\'/or~( process carries out moat of the work.

Its main function is to satisfy the us ers ' · requests for opening!

e'l.os.lng connect.Lons and tram:mitting/re:cej.ving network messages • For so

doi ng,

* it est.ab lf.shcs , identj_fies and breaks the linl-<s upon ,ll sj.n£ t.he

all ocat i on tables ( HCS'l', CON1,mc-f, IUPlJl' LINK; s ee 3 .3 .1.1 )

* i t is a':J2.!'8 of the pr-esence of ne» users upon exploring the net,-;or;.;:

mail box director;:v;

* i t comnunicates with a.ctive users by means of shared page s through

which messages and r equests are ex changed ( conne ct i on shared pages r ;

* i t f'ormat.s inco:ning/outgoifl.g ne ss ages in a working page. This

work.lng page has an extension (eme r-gency rine;) ;

it conmunicates with the Handler by means of a shared page (I / O

. ­
cot"rmuni cat i on pa ge ) which contains the I /O ccmmnlcat ton bu ffers .

22

. . ... .

-- ~ s,

-....-. -
. '

­
/ ~

~ .~
-,

4,'
<:>

.J ~

-J.; .
J 0'
- -......;.

I
I
I
"

lU i
.,::
c;rl
3
I

..r...;..-"

'.-;z . i
f __..

~ t
.~
....:;:- ~--<.: ~ .._-- .;:t_ . . ~/ .
...."'~
»
-
.....,» ,
-~ .. ("~' ..­",')
~

.'.,
.",,- ''V
0;.)

--~~~-1
;-. -=
<'
~
-L i

.j . ..__1._>
--r 1--
!, -_..__.- - --'-"-
._-'-
._..-_.-
. .
; t

I ·

~)
' j

\.L
S
j

~ J ... . , . I I

\--\--'- -:? i " . i- ­


. :::- ~----';~' .s: i

- --- - ---··-0 d
!l ~
<0 .',
~...
I
i
II .s- . . r
! ::.: : I
; :(i 1-·· c
!- . ...__ :. .- _.__ ._.. ...,L_..
,-­ Ii
u .\
/,. .; ~...::
r
.x.: "
t
1__ ,
. n(l·n .v)
._..__.__.

I r=:~·-=-_ :- ::-)\:,-I.~--:-:-::- = ~::'-:-:::- -t -:;;;-- ·- - - - -- - ­


r
I
. .
l' ,
--~-- -- - _ ....

.----- -___ ____ _1.Y _ __----. --__ -


I
~)
r-- - - - - · -·- ·--···· ·· .. - - . .-----...- .-.- '.

f S ,! ' . .. ,~ !
',~ »> .~
\ ~'­

1._J. ~:~ ': !


<,

\ ::5~:,> I.
"' ~'. .J:.-
c --: 1I
..".--"­
~.
t.l
;:'
.-;
,..) _ ,t;...
I --
', j

:" -
~
.:.,

.-!- :...

,\

'- / } L_ _. .. .' c•__ " __ • .• _.. ._ _ :.. • i__. ~. _ ( l-. . J \


'-- --- -_. " --'- -- -- _.. . ._- -- - ~.- ~ - :" ." --- -_. .~ -. - - -~ .- ~
\\
.I , ~ -, '
'C! •
\
i \
\ -,~ -- ----. -. .. .. ,

{ \.. I
I' ·

l-~
01 ,
;.
' j.
/~ . _"r· _ ~_ _... .• .-- ' . __ .. . . ­ : '.,
~ '_.'-.- ".. -.__..__, _.. '
il, 'r.. .., ,. :i
. :I ';z.: :;. I!
j; J
Ii'__.-)_ . -4_._i .
.•_ ~
_. 1._ ...
. _. • _ II
3. 3 Sof'twai-e Descr-Ipt.l.on
~-:::.::...- ====-_
-:::-:::=:..== ==-=;:-...=.:.=.-==

3.3. J. Data St ruc t urce

3.3. J..1 -Al.LocatIon


--_._ ---- _.
t e.b les: HOST) CONi~ECl')
- _ . ~- - - -- _ ._-~- - - - ~ . - _.. n ·TPUrr LIi JK
_ - -- ---:- ~ - - --- - - -~

'Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables:

A table -sorted by remote BOSI' II.

A table sorted by connection #

A table' sorted by -input Li.nlc f.!.

(a) HOST t.ab l e (See f'LgureS)

. It is a bit table indicating the free outgoing links. It has the

f'o'l.Lovrlng characteristi cs:

* Locatlon: Disc re sident

* Coupling: Coupled to the Hetivork process virtual space.

* Size: As many slots as remote Hosrr


. s

* Slot structure: As many bits as possible outgoing Liriks to a

remote HOSI') i.e.) 256.

* Access: - Indexir-8:. East s]ot is accessed through a -remote HOST II.


Specific reature: 1'hroughout the whole t able no more than 64

bits can be turned on. This figure cor-res­

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI' ).


s

24 .

(b) COW'·lEUr table

~'his table keeps track of all the connections' onvl.rorutent .

It has tne follmIi ng characteristics:

* Location: Disc resf.dent

Coupled to the Net'.-mrk pr-ocess v :L!'t ual s pace


*' Coupling:

* Size: As many sl.ots as connections in use.

* Slot structure: See figm.'e 6. Each slot is 2 V[OlU Lengt.h

* Access: IndeXing. Each slot is accessed through a connection #.

see 3.4 the vmy it is handled.


Specific feature l: The slot structure correspor.ding to a

primary connection is not identical. to

that of an auxj Ll.ary connection (See

f'Lgur-e 7). 'This because user identifica­

tions and requcst.s are done through primary

shared pages.

* Specific feature 2: This table is handled in parallel viith the

connection pages (See 3.3.2 (b) )

* Specific feature 3: This table is mai.nly used for t r-ansrnl.t t lng

mess~es. (For each connection it contains

the outgorng link II and re:note HOST II, i.e.,

all the inforf:lation r e qul.red for trans­

mi.tt:ing a nessege , )

(ci n~p(Jl' LINl\ table

~'his table keeps trade of all the Lncoml ng (input) Hnks and so is

c Lose Iv related to the CO; E'·EC r table.

25 .
;.---- _ _ - . "'- '-- ..•.. " ., - _..'.-- .,. , - , _ - --., _
, ' ..

\ :. ,- r - ,' \ ~~ 1
/ ."ITT" -:...."..~_ ....~. - -'-":' --~' -" ~- " '.-"" ~-":"--· -:'- ·-·~ -'·'·ll·t,::-1"'-,1''·1 '"\,
.-. '.A • . \ , "' t ! ,,!. . 4! " 1 J\
~~ 4_ • • • ••• _ ~ . ~ _ _ . _ • ••• _ •. _ • • • • • • _ _ • •• • _ _ __ • • _ • • •_ • • • ~ • • • ', _ _ 4 __ _ / .

I:\" :~ ',~ : ' I..-'-._, -- ., , - , _._-- ,---.,-­ ' i


~O ~ ; ~ l
r----"'"-,,.- _ - '-'-'- - - '" '
f
,I

~ '>

_.. --_.-- " .. " -'- " ' .""- ,! ,


I

. .",_.",_ " _.. _,.. __.._ _._ "..__ .__.. __ _.._ , _, _.. 1.
\I ) '
\ 1" ~,
-r ,....
1--- - - -- - - .--.'-- ' --" "" -' ' " --'' --''' _ . . ",.-..,- _. ". " - ' ,' . . , - . -'
)

u:«' J) -_.- / } '1.:.. ' r. /

?G

.'

/ r• ! .: "J
\..) <., r, ; . " " Z ~. • "
,_ ;._. - . _ _.- - : . ~ . ~~ ~.. =..- ., _ y

x\
'[
I

J , .\
{\ 01
Q \
,
;;

.'

r-----· -~-- .-­­


( X\ ~ 4' :.

I
- - ------------ -.:(:. _ ._._..-._-- -_ . _- - -~ . . _-- _.!

.
JJ ~l . (, ~~~~~~~-.~~~.~.~~~~ .., . _. ~ 1~~~~:. -.

[~=~~~~~ --- _.- ~~=.~~~~~.=-~ ~-. ::.~~~ :~.~~:'-._


____ . . . _ . .._ .__ " < .«:
: ._ ~~~=.~
J
:~~.~~ .' ~~~.~=~~~~=,~ .-: --.-~~~=~~~--~~.~~~~~~ , ~, ~]
.. ~ . . . .. , -" ~.-J ' - - -_ --,, ,
.. .., )

.~
.I

.
I~

• I
c;. ._ ,-.. -J - I

J ,',t .: . r·' . '. Co


,. \

l \ ~·' ''I f\
\

v
c ~,, :/.\
J. 1.1 (
Y'.'. "
. ~,
,
~ , ~,,:

"(: ',\n
,
. ...
:...
\ (I
, .-:,----- -- _.__ . _-- ~ --- - -- -
L_'.__.__ . __._._~
0. , '~ . ,~..J ,.'.';.','.' \ ,
\J..-.. -t:,.. . :\
l:: . .
( ~
-~" 'l,~
) .1 \ .
J-" \ .-. i.; i:. : :
..
. '\
~
. ~ ,~\ : " '. t ·
j ; , i c

(.
J
"' )
:_ ,

\-'. :
(
,

:
... . ~ .
: '
,_ .
,
'.
, . ' 0
\
r
'r",.',.... . J . ... r-..l
,.I
-'
"·~....L, ·'•
....
.'.

H
. ' " .'. ~
.. ·

·./ ...

I
I
" , ..,
_ .,:. \
~ l'
. , . : ..~ .
l : ' .. ' -: , ., .... .,., :'.... 1 ( : . ' r ' · f ', ' .
....
.-

­ •

I ;
, ;

0·;' '.'.'',:,. c"

('
,
r'\ ~
Q \ ' 4, · rJ ~ ,. \,\.
l , ,~ '
,,
. 0 , ..... , ..,J .

TYI (:"
-- '
yt\). 'o J. ~.
i
, ~

CC '.\ \ t. ~-'.
Y- '~ ~ . ' . (, p.,. , ~.
1~ ..:(. - - - --------,

", ~ . f ' ,r ! • . ~
..\~-
.....t. .\ .... ." " -e -.,
.....~ .:. :e-; ~.I '....., '~ . "v::'
. ~

C . .:.... . '
, ..'.op, \ :'"

v . . . . . cr ·,·r . .~ < », \ c'-·· ··".~_\. ) ': ; ~ C: ':J J

: .. ",- '

(; i
,,'
I ""'1"• •

\ . ~ .j
.
, '
: s, ".:
..-
j..... __
t-
c (

"'3~~ ' }-' ~~ 'i».....-l...

~l ,
i
It h as the f oll.o','d.ng chaz-act er-Iet.Lc a:

Location: Disc !'8sic1ent .

Coupling: Coupled t o the l\ct\'jo r~~ proce s s virtual s pa ce

* Si ze : As many slot s as incoming l illl.;:s, i. e. , as connect ions

* .Slot suructure : See f j.p;uT'8 7. Ea ch s lot i s 1 wor-d l ell-2;th

Acce s s: Haslrl ng . 'J'[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE; Lf.nk ii and the remote EOST If ~

SpecifI c f'e at.u re L: This t able. is al.s o used for moment aril y

ITr-ffiori zing the connectdon numoer- .vlhile

establis hing t he next connect ion. Se e

..3 . 11 the ""Jay i t Is handled •

.* Spec.lf'Lc f e at ure 2: Th-is t able j.s pr-i.mar-Hy used upon r-ecefving

me s s ages. (For ea ch inco:d ns link i t con­

tains the corr~ sr o nj ing c b~1e ct i on #, i.e.,

indi r octJ.y the user identif.i cation t o \"!hich

the message should be pa s s ed along)

3.3.1.2 Guffer oarre s


--- ...;.-~- -- -
.,

All the PDSOS that are nO','1 to be de scribed contain t wo buf'f'er-s

(f.nput and out .put ), The se bu f f'e:c G are used f or e ither pas sir:g; aJ.o::g or
process l ng r:~es saCe s.

The si ze of e2.c11 of t.he se buf'fe r'c should at Le aat be equ a'l to th2.::

'of a measage ; i. e., 8095 bi ts . \':e have chosen a buffer s I ze of 253 wor ds

. (8096 bits) s o that both of the buf'f'er-s are :iJ 1c~udec1 \·r:i.thj.Y1 ODe P2G8 (51 2

words) . 'l'he 6 r ema trrlng ~'ICrQS of t he p;).ge are ger:era.lly used for contr-ol .

A typical buf'f'ci- I18:;e st ruct.ure i s icJr::nti fl cc on fJ f~ur2 8.

29

(a) I/O comnmtcatlon "


._--_._---_._-- t.,c[';c
-_._­
See figure 9.

fJ.'his I/O CO,,:!TluJ1ication page is used as an inter-face between the

Handler and the Netv!ork program.

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler, e.g.. , a "r-eady to go"

message, sorted by the Network program in the output bUffer, is shipped

out word by word by the Handler.

Main characteristics:

* Location: Resident in' core: Locked page


*. Coupl.lng: Coupled to the Network process virtual space
,".v. Content: burfel' (253 . r or Incomtng messages
* Input \'10roS)

OUtput buffer (253 words) for outgoing messages

* Input control zone (6 half words)


* OUtput control zone (6 half words)
* Structure : See figure 9.

Specific f'eature : * 'Ine input buffer j.s filled by the Handler

(read from hardsare ) and emptied by the

Network program

* Vice versa for the output buffer

General feqt ur 2s :

*. Tnere are as rna.'1y shared p<\Ses as connectIons .

.'

30

·­

cons t i t u t e a cw municntion, zone for (1) p3::;::3:i,n~ the rr.~3sage~)

back and f'or-t h , and (2 ) exc.h:: mc,inr:; control Lnf'ormat Ion , e .g .,

HaJi1 charact cd 0 tl c ~·:

* LocatLon : ' D:i.s c rc:sid.~:nt

* Coupling : Coupled to both a user- process vi t-t ua). space and the

net wor-k proces s vi r t ua l sp ace .


. .
* Content: Input buffer ( 253 wor ds) f or ·t r1Comi ng messages

- ' Out put buff e!' ( 253 words ) for 6utsoing messages

Input control zone .(6 half words )

Outpu t cont ro l zone ( 6 half' words )

';': ' St r uct ure : See f:LGUl~e J.O .

* 'I'he Lnout buffer is f i lJ ed by t.he Network

and emptie d by the us er .

- Vice ver s a f or the output buff er.

* Speci flc fea~;Ul'2 2: The cont r-ol. zone co rr-espondfng t o a pr -Imary

-conne ct ion shared page diff e r s from that

of an auxlIf.ar-y connect I on . _ 'l'hi s' be cause

it i s vi a a tr pr lr::?:r y conne ct.Lon co nt rol

zone" t hat aux:iJiary connec t i on cst.ab l .Lsri­

ment reque sts ·8XB trCJlsmi ttsd to t he Het ­

31

I '
. ;

i.ndepende ntl y on dIffer-em f..; mess ag es and , s o cont r-Ibut e s to an ove l'J CJ.rpjn~~.
, .
For' Inst.anc e , when the Hand.Ier - i ;~ bu sy tra11srilitLins; a message to t he haX'd:I: 2.! l~,

the Net\~ or'~ program can I'ormat 0. eade r , mal'~ing , ' etc. ) . the r eset message to

be ' shl ppecJ out) so t hat it C Cl~1 Jy;1:1:i.tiate t he H2.;;~ne I' 83 s oon as i t i s fre e.

lVia:i.n charact.cr-i at.Lcs :

* Loca tion: Di sc rc;; idcnt

*
Content: I nput buffer (253' 'I!C?r ds) f or incomi ng messages

Outp ut buffer (253 vrords ) for outgoing rrees age s

.Rem2.rk :

During r i:ceptJ on it . !nay happen that a user pr-ogrem i s not rL'Clo y

to accept a nel! mess8f?e. In t.hat case, to avoid CJ.oi~gi ng up t he syst. em,

the Ne t woz-k stor es rr:orr.entarl ly the Lnc omlng message in one of t he buffer

of the ·e me r ;€ ency ·r i ng .· (If thi s r i ng is full a help r out Ine ~dll be

f .nvok ed, )

therefore such proce dur es need not be provided. (The Net work progr-am

a110':15 a user to r-e-cmi t on'Iy when having r-e ce lved t he Rf1 l?"i of t he previous
'. transmitted message , )

32

,~ - -_ . _ - - " _.__. . ._. .. . . ­

r--"'-'--"'-'--'''---'"'-"'-"'-'-''--_..-.---_''''-' :- ' --'-'- -~ " - " --' - '-"'- T "\-

If' ~7 _, •
/..-('}... .-.. J) , C "_
( J , .\
:-"'\" .;
fj '! ' . '
~"":,,, \, \ , , -, o ' 1r. , ~ .. .

6 v..J<..,- .: ~ ~
.

r
t'
! A:'I"l"':v-' ~",<, ;~- .. ,Jl )"~~ r-:
0\ .\.('-.1':- . ,'/'J"
v ~ _ ,~

f-----.- -----_-, --...- -. ~


I

l1
"- - ' -.!

1- Ir: \~ ··ftd.{ .
- . .·'
. . . {. .1 .
) ,,-_\ . ~ . ~ l «: ... ... . .·

I
I ,
\.. . . . . '~ ' - .. '~
( I ' ,~ .' VL d .. \ I.
~ # . I:.~., .
-,
J' I J
~ .__, ._._._'_.__. ..~. __. . . :.._._._._J
I
o '~,. '\ \ . ..­
" . I
!. I
.1 (' t~ . \\ : ~, : '. .,:. "'. ,

{. j; -- - - ~ - -----_._-- --
, \::
-----_._---- _.-
I,
- ~ . _A. - _. ... _. _._.. __ .....
_ ~
I
I -'
. ._ . - •... - ..
\

~ ".
, 'J'
--\- \..\, • • " " ( " . 1--.. " :••__ "
\ r v ., • • • I ., .
- \r~C '- ' -- - - ----'---;-' ;-"- " - ''-' --' .
. I I" " .~ - \ .
~_. _
" .- _ I It-J--c;l : ! ~ 1. '." ~" )
, - -- _-- -'-" '---' '-'-' - _.--- - ,:>

.. l ,- • \, .-.-1 11
1 oJ._
­..
\ :--: . rv r-
......
j
+ " ' J
.I' ~
I'
\".
l : ~
.'" .....
I
" ...
"
I'- ;:, '.j '" l- 6 :; ':;:J. \ {1, '- ' _ 1 C':"IJ \). 1 l

\ I ., . I'
b 'L
X. oo() (') ~" .: :" :) =' Th 'l 1.~ ,
lj J....,..}
. .... '.. ,

II
XI \ o(. U (; .:.~ (: :-
\\
C If '\,
'l.:_ ~ .J b'\
-I
,
-.
\ \ • .~ I' I . .l..
y. 0 ::; 0 0 \ :) 0 ::": 0 1- 1) "''' ' ~ .. I

__ I ,., . • )'. ' \ . " l~


\ /u ( . ," ',' : '. , '. Co l.; )',. ., .. ~.' (\ - ,{ '.~ •. . i , 1 ._ ,
~--J. ~--- _.--. ~. - . ~ ..-- .--..~.,. ~ "-~ - - - -I.- - --..{- -.:-~. ;.~- ..- ::...... -. -. :..:. ~_._~_~
I.

I 1 vi
I,. :..... 'oJ "•• " , ­
.' ,
....-::._. . .. ~ __ .. - .-__'0:_'.
\ \. ,"\ ..
J I ,ti ":'-, ;> I•• l .L-\
:-":_...::..__\_ ::::...:..:.__z:__~',:>~....__
)
.__. .
. .
._' ..__ . .__._._--;:').
.
..

_., t .t
J ~-" J::< t \
a,' .. .\ ~ « ­ .
c ' .. ~ -:.,.
J ~

t,
' ; ", ,
, '­
!
I
,-'
P '.1 ' , ' , !':.. v, '.
' t :... . ..""': .~
.-( ~
l :.~ ,;

.ill
I !
( ------- .-
r ~ =-~~=~~=~~=~~_-~·~~:~==~·===~~-:~=~ .---~J
i
__
.. .
r .
1.' ,_L.1. - " / -.. ~.
._ (; '
~--,- - j
l~,,! /~ '. ~ : ". :'
..I ,~ , ,..J,: ( I , "':.:. : .- '. ~ ~·;t ~ _ _ j

0 . ;-<'
_
._' "\.\. ••• . :••.,~; ( C,'t--, • .t : .' ""
..-- -"' . '-/" ' . '- -- . ...,_.--- - --.-. .
,.---~--- - -
C....: ~: ;
--,

"]" J.'J;t. t ~ .~
.
~.lJ.... ; ;~' >" ~ J

•, t
, '-' ~
. .

General reatures :

It Ls an I/O Lnt orrupt routine whi.ch clri yes t he I HP/HOST h BTdWGL(-e

interf ac e in 0:L'\.1er t o t.r-ansml.t 01' r-eccf.ve raes s ages . 'l'l"'2J1smi.ssion C:U1d re­

cept Lon are carr-Ied out in a full duo I ex mode.

Main characteristics:
* Locat Ion: Core resident. The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of i.t ~

* Initiation: By the ll-'1P-HOSI' hardware Lnt errupt , Tnis i.nterrupt


is triggered either:

pletely sent to the n~p

* dur-Ing reception when a rresaag e word has been

co:npletely .received from. the II~P

* dur-Ing idle t ime when the hardware received either

a "staz-t input' or's tart output' order f'rcm the


" .

Si8JP.a 7 CPU. Those orders ar e Lssued .by the Net­

work program for provoking .I nt errupt s back (con­

sequent ly for lndirectly i.nitiatine the Handle:::')..

* 14ai.n f unctions: * Fmpt.Le s the output. bllf~~r .u pon tral1sr:lltting

its co ntent (out.go.lng message to the Ir'1p.

This operat:i.on is carr'Ied out word by word

36

"

dri v1r.g the HOSl'-IYiP bardware ,

HOSI 1- n 'ip hardware (Lnconrln g mess age). 'I'hi .s

operat.i.on .i.s als o car-r-ied out word by word

and makes us e of "Read" order s for cki v j j'Jg

t he lIosrr-JJ!lP hardvrare •

- * \'}akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete.

3.3.2.2 Net work program

General f eatur e s:

This pr-ogr am serves the us er f or ' operrlng/c I oai.ng connections and

t.r-ansml t t.tng/r-ecej.vf ng mcasages , ' It uses the Handler as a'1 aid for intel'­

facing \·ri t h the. hardware •

For the GOPJ"x) poi nt of vievl it is a regular proces s and t r eated as

such.

Mcdn characteristics:
* 'Location: Disc re3iC: ent. Nore precf.se ly it is on disc when

asleep and called in core when awakened by a proE;r2In.

, * lnitiatior:l: It is initiatAd t hrough ' i-fAKE' ser vice calls Lsaued

either by a us er process or by the Handl er .

* f·:ci.in f'unct.J on s : * ,'Estab]j .:>he s/dele t e s outgoing corrnecti <?!-,:s: _ upo n

users' requc3ts. For s o doing i t send ~ contr oJ

messages (se e 2 .l~ .2) to remote HOST in order


s
to get lih%s e:::;t abli shed/r~le2.s ed; i t then

notifies back t h'2 U3el'S.

37
·for cont r-Ibut.ing to cs t .abf.Lsbment s/de .Ict.Lons

of conne ct i ons (t. hosc r -equeat od by r el"llo t e

HOS'1'S) •

(the messages 8.1.'0 stored there. byus ers}, f'onnat s

t hem ( add s leader , '· marktng , checksum.. ), and

pas s e s them alons t o' t he HandIer- f or t r an s­

mis s ion ;

~ Ins ur e s delivery of .?,Eccming messagps . It i s

the oppos i t e of t he above oper'at.Lon . The

u sers to whi c!l the rrcs aagc s s hould be delivere d

C::( '8 identif1 (;d t hr ouGh the Leadcr-s .


E · Virtual spe.ce conr'lguratIon : . Jl
See I'Jgur-e . .

* .Specifi c f e at lU'e: It is 'int egrat ed as an I/O proce s s, so that

'it can acce ss prLvl. Ieged I ns t.r uct.lon (RD/';!D


for i .ndirectly initiating t he Handl.er-) •

38

..

.,' .
'!

r- - -- ..•- -- - ..._-
~ _.-"'--'- "-" -" _.._._- -_. --·-··----:------ r
j\,
i
I
! I I

i
I
I t ; ~ , l. ~ :~: ·u ~;. ~~~., i . !..
I
,I
I
.,I _ _ . .. . . _ • ••_ . _ " • • • • • _ . _ _ • " _ _ . _ • • _ . ' '. . _ ; _ _" . , _ . __ . _ O d ... _ _ " ., _ _ ' -;­

1· r) 1/'
... .." ~ ..:- .
( . ( l .. ', '. :_" ,
..\.•.Co_ ~.-, ):... '".1
.j
( • .
;.. \ I (
t : ," ~
. . .. ....1

"' ..
le v.." ·1.....,,-. v... '.~.::: . ;.' z..""

-i .....
J
C- ._ . . .- _ . • - .. _ . _ - ~- _ . _ - -- - --_ . - - - -- - - . - - --.- • • • • - . -- • •

o c-. ~-. , "


J- t~->
S e. "\
"I . »: .r.. ~. ·.. ..• I ·; . G ,•. ,:~ .,
(j '-.-
I.

;
• ~ r • r- . ... - , • "
~
• . /: . . ;

l
') \ \, 4 "\ ...

I r ;
' - ' - --'--~.'_, (1', ~-~" -~---~ -.-~\.~II .~: ~ • • • •., '-' -- ' - - ­ ' - -' ;

~
.
r \. •
., ~ ~
\..-... .
-
.b. ~ /' . \. / ' _.. I p...~ _:.>: "'-:;

" , , J
\ . ()
~ .-: '\
. ~~ ( . .... ." ,.
.J"" , '. '..; . .t "', t- ­
\ (1. ; .~ .~ •• \ ~~ .. \
( ........ V". ',' \ -,:: :.. " - . .""
\
..•... j ':> I') ' ''''c
I , (: I < . '.

!
I
\I
1 ! !

~ ~-=-=-==--=.:.::::~-. .: _::..:--==--:-.:.: ::::_.:..-:..=-::.-=-.:.•: ::_~: ::: : :::-;::::~.::.: :-;:-_ :-:-.::::.::.c:.:-::: ::-.-:-.=: :..rr., !

0_:'
l~ ~
v
i.
I Ii
,-,
:.....~'
.
:~ t,,'.
.~
"\.'·
_ ..
, c"J '1.1. .,:.>:. :" ' : ". ': 1
i ....;....
. , ', , , '{ {.., \. -t .

~ ~~I L
; ; I

i - - • .r:' : -. _ ----_ . -. - - - _.. - . - . . • ..


. _.._ __.__'_.

\ . ' ••.•>- " .. ; . -, -l:. .. ,'I t · : :


--­
- --­ - _.-.- ._ -. - _ .. . _ -_. __ .. _-- -_ . . . _- - - --._._--_ . - _.. - - ._- - - _.­

1r- \ ,.. .. ,'. ..


', .
. 'I
'~ -'
"

39

..

3. 11 Sof'tware Pr-ocedures

1'he detailed sorrvaro pr-ocedures are Given on the f'Lowcharcs

at cached \-lith ~\ppendlx A.

: Hewever-,. ' to get a 'qui ck under-st.and.lng of t he in>plem,r;:ntation we

list below s~ne t~~~cal software procedl~s.

.3 .II. i Description 'of sorr~e typ~cal sequenct::~

Consider scme of the transactions at user 1 s disposal (See 2. 11) and

point out the basic sof'tvrare procedures -t hey ·imp l :y . For each case vIe \dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1/iork program

. does.

(a) Open a primarl_1iru~ (See 'a l s o 2.4.2)

(1) \'1hat the user program d~s[ll: .


* it stores In the Network mail' box dJ.rectory the name of a

. file> e.g. > DATA;

* . it couples the first pae;e of this file to its virtual space;

* it stores inforiTa.tion in ·t hi s pQ£e '(i t s job jprocess II, the

remo~e HOST #, e.g., (1));

' . * ·it w~ces up the Network process;

it goes to sleep.

(jj.) \'1ho.t the r'Jet':!ork oro!=",rEUTI does:


~--------

* ~t explores the Network mail box: directory end accesses the

file DJ\'rJ\;
.,

,- .
I

1: it couples the first page of this file to its vi. !'tuc:~l space

_(Sha red Zone, s e e 3.3.1. 2). SUl)pOSe t l1is page t be the k th in

the shared zon e; k is the int ernal conncct lon Ii;

f. it explor e s t h::~ i th sJ.ot of trM JIOS'l' t able (See 3.3.1.1 ( a))


th
and s elects thG fir st bit = 0, e.g., t he a bit; a corre sponds

to the outgo'ing link ll ;


;:.
it stores :i.l1fOYillation (j on/proce ss II , remote nosr # (i),
th
outgoing link f} (0:).) in the k slot of the CONNECl' table

(see 3.3.1.2).
;< it moment.ar-l Iy stores t he connection if (k) in the IHPill LUJK

table. This is carried out up on creating an entry in this

.t ab l e (Has hi ng the key v alue: "outgoing link il «(;I.) + remote

HOS'l1 # (L) -l ~ outgoing flaS".);

it prepares the message t ext I;;:~Q PRD,1 0 o a and formats

a conp'lete me ssage in adding leader, marking , checksum, et.c , ;

* - it checks the Handler- s tate (bit in I/O locked pase). If the

HandJ er is free, it stO!'2S the 'ready to go' control message

in the. output buffer of the I/O locked page , initiates the

Handler, and goes to sleep. Else it gees to sleep.

After a whf.Le t he Handler wakes up t he l~et::!Ork process because it has

received a complet.e message • . \'1e suppose this message be t.he co ntr-ol.

message sent by t he r emote HOST for ac1mo:'!led;sinz t he est. ab LLs rmerrt of the

.connect.Ion. The mess age text should be:

ACK FJIQ PRU'·l 0 0 0: 0 0 S


where 13 Ls t1 1e Lnc ornl.ng link ll , (See 2 .ll.. 2)

41
.

Let's see n O\'1 what tl~::JJet\:-orl::' pro~ram c_?:"~~ih~n recef.ving t he


- -

above cont rol ~esscgc :

* it r'et.r-Leves t he connect.Lon /,! prevf.ous Iy stored in' the ~ JJ!I)l]I'

LINK t able upon re-hashtng the sane key value (See above).

Also Lt deletes thi s entry ;

it cr eates an entry i n the I NPUr LD-J}~ t ab l e for t he .inc omi.ng

link. For so doing it hashes the key value: "inccmi ng I ln!c

. .
--/I (S) + r emot e HOST II. (i) + -1nco,ning f'Lag'". In this entry it

stores the HOST II a), the Lncomlng l i l"k tI (13), and connection

fl . oo ,
slot of t he CONW~CI' t able in st.or-I ng the
th
* it updat es the k

incoming Hm // ( f3) ;
th
it turns on the 'net-user' bit in k shared page (pa,sc

cor respondi ng to t he prd mary connect.Lo n t hat has jus t been

opened) and \'lake s up the user pr ocess;

* it goes to sleep.

(b) Transmit a mes s age o~er pdmary link

* it stores the message t ext in the out put buffer of t he pr dmary

connect:i.on shared page (See 3.3.1. 2) ;

* it ·turns on the 'user-net' bit of 'this page and wak es up the

Networ-k 'process ;

* it goe s to sleep.

(ii) \'ihat the Ne t\\ror~ pr~17'c!m d_C?''::~:

* it 1001es for US C I' reque s t., i. o.) i t explores in sequence the

connectI on share d pages and selects t he OD'o: that has its 'user­

net 1 bit turned on. Suppos e Ie be t he sele ct ed peg e # on the

shared Est} K is the connect Lon #;

* it determines the r eque st type in testinz the "request bits' of

the shared page k , It f'Inds out that it is a request for '

transrnitting a rnessage.

*."i t takes the mess age t ext from the output buffer of the shared

page k , formats it i.nto a cOrrTJ.' Jlete message and t.ransmi.t.s to

the 'Handler in a vcr-J similar' VlaY 8.S above (See 'Open a primary

Lmk) .

it goe~ to sleep.

[1J Rerr:ar1c: In a first phase the user \'1ill dl.rect.Iywr-Lt.e the network

functions in his program. Later on subroutines ,Hill be put

at user's disposal. These subroutine s vdll be very close to

those described in '2. 11.


.

APPENIJIX A

r ·- , .. - .
.
t~ (I .-' . . ,-
.r" T i a J C h ( "
,
_~" \.: '; l - :... -..
--------- ------- ~-------\:---~"'"-_._-
~ 1\.
. t.." \ J".." ....\ \, t, c.... ,-t..,.... .~ 1
• .' "

U' t )

- -- ------.-.•.._- --_._---\'1.._-- --.-.•.- - - --_.._._..


\'"r,.t~ ' »« ';' ~<"u·,
\

~
I
' j
I \},~.\ ',,\ t :;):".(
II (:

------ --- - -- --- !- - - -- ._ - --­


I: "

;\

,'1 c: ·' ~,
..; :.. . t .~

'-.i
,.
. .' . '
' ,'

(
. -r ('.'..)
\
.\
"f' . , -.
I
•f '
,- -. ',; ; " ,: '\' \ ;" '~

.- '.~ '" , ':: ? ', 1


~. , '. . \. ... : .
~"" " : . \. ' ''' t.~
';~ ~
t" C·, t.
~
.,., ~ t:
.; C: ;" " ~ ' t .
. \. .'
J ' -, ' .. '. :
,
6)
..{ 'iI ~ .1J- ~" , ( i I(
J\
,; ~
,
~','~ . J'
.l · ,\
"

~ ~

' 0 \ \ . ~ 1. '.i~ .
( ('

l
_
· '/ ~ _
.J~ \,' ! J', ~ './
vJ l r"\
(:)\. ! ,. .... e ,.....\'t.
.. l '
', 1.
~ ~H-
"
,X) } .?,\ ~ t ~ .! '-'- , \,-'
..1.
l t,
) ...''"'''\'1 ,< z r ;
\ \ •
" \
It.. ...
• ( '~

. \ :.
( -:

.
~ :.
.
.

_____._. .L__.( ---l-'--.--.:.--.~ -.- .-- ..--- .-- .------- .---.- -----,.....
l
7---- -- -?~ ):j.~---- --z·~ ..-, 1'!-;; ~-~ ~ '" ;~-.---
~/
- .--------- . .
~---' --- .- - .-.---- - .-.- ,. --,-.--'
_ __.

$.! .. ....
._ _. :"_ _...l. : __

. ..
~
' ..
:'....S" .~ \

......
· 4

, ,. {. '. ' " :: '.:' . \

r ·,
....... \,,\
\
' ..
I
~ '. '" ~. ' : -,~ ~ ./ :.~:: ~".I .,,- .=--
I • • ( I t
. 1\ . ' . ",

i....1. ' ' I
.!" ,: ... ) -v- ." : ...:. -1 i ' . "'. ' r ~ • ~. _ .. ,
" 'j. v '.
i. '

\ ..
1


J

l · .' .
.

• ' l'-.'.
.
. ;_\.I
_ . :=~~-=-:-.-_-_. _ :-- . - : .~.:
. J() oL ~ Co
..;...- · · Zo .
" " / ' - r ,::
. I
- - - -... - - - - -. - - -.. . .-.-.. .. .- - _ .. . - -- .._ .. •. _. - - . ~ -- _..-,/---- - ­

x~~}~: :~ ~. ---'~~ :-.< ~~. '~'.;- \'. -:~. ~~~ « .. ?-~~ ~~:~- ..~~.
~ ~~ \ • c: -.. _. -
o;.' •••• :: _ . . ... _ .. ~ • • , • • _ • • •• • -
. . \ 1':'. "
")~ ".' ..• ...'. ·..l ."'.....
.. - .... - •• - • •- - -
.
- .. - . -- - • • - -- ~
CD

'y\ 'r ( - - -. - H;'~:~;~ -,: ,:. - --;:,_::~~ - :~: :~-~ ._,:~:T-- -.- -- .--~
1.-'---- .-~ · ~!~ :.:~ -';,-~\.~~,~" ~~~.~~t;~ -h~ ~~ -.~~~_# '~~i:- "[ ~ .~; ;-- .'.\"J;:.-. ~'<Ll
.. . ,
I' . .--._.. _ ~'._ . _.. __ .__._-...-.-.... ..- ....-... - .-.----.... -... _.. ._,...-.... ..'' -'' c. ... /
I .
-_.~ . Sf... .. .~. / .. ­
'J~

I
f ,:~~~ :.~~:<~:. . .-l; J\~ .;: : L (' ::.:

(' (v..c': :,'...',. 1... Tf ;": ~,)

- -_._---- _..:. ..__.- .~ !

,,/t' ... .- \Y r) , . ".­


r
..( i-- i'. . . ..·......,..
~
~ ;1)
~. ' ~ .. ~ 1

\.1 ­

o _:? t". . '-·.::· !"" \ }l ';: ~ /':


~ - .;, v \ .''.- 1 . i
r '.. . .) r.: ( ; . ,
. .
'j '
( ­
:
,
4 f., \
)

' ~} r.o ( ( (' ,::- , \/


. .!. \\ ' . \,", ... .. 'v "

__________ _r--~-·-'-·~--·\--~:·'" -,·-- ----- ·---"\


- I f. (,-'. :..t ; , c~ , G ~< ~ )
't-, c : ,

r
\. \..--:----_.__..-! -._~_ ._~ ._ '--_ . ,.

S'.~ \ ~ ',' './".... ,


,.. .~ . _.'"
~_,
__ .,:__' j._V(~ _.__.. ._. ._...~:- . . . _.~ ._. . __
t
I

(\ I 1.
-,.:»
....... I r· ,.
V\.L ..'·\

r ... ,L.
~

..... .. .,
I
._-- . .. ---_: ~ .... _.... - _.. ... - _. . _-..

,
. ~-_ .- - -­-

i
. - ..... -- - -_ ... .... ~_ --!
..... ...---,. ._:.'-:-.- .. -- -_ .--_.. ....----- ~ _-
.... - _ . - . _- ~ . ... . . - ......... ,-- _... ....-:. ,

II ; .- •
. . .... '.

~\ .. t \
:.. : ..; '"
..... ' ,\ I • !,
.
" . ,- ~ '"" '0 i
f~i: ~} i~\ I .'
I TfJ·:r·~'· ·Cc, I'!';!;;'~; . "~i'~-(,j;:;·~{CTJ ··
_ :~~("_:':.~ .~ . __ ~~. :~ _.. ~ !.:'-\ '~ "- "- " - --- ..--( -
-. Iv . ';" .~ " '. h ,t; \" c,,, ' . . . .

l ,-:-~ ----::: .:..


- ,-\ 0 er ;-) 1'\
--;c'-
C"; \;. I"" i·"'·'\:'.'··'', ~, '\'c- Co. '- \,':;::• .'\. ..,·."<!·..., C·· : .L
"" " -C -:'--"-",- ~ i 'r:-'i" '( ',l"' ~-"--; ; '-- :- -" " ...._.-.; .": .(
!-J \.-/'­ "' ~CI..t ( l><.
!) . -.)----.. .-_ . -;) ~ (.
:'v , :

\ . . _ _ .. ~. ~! . . . '::'.~'~.~ '.' :.:~~ r: ~ ,., ~:.c "..::i. ~~~ ...':~;J ' I l~=~~ ..c~~ _. ,C::6~' ();..
·1cJv~

G· '. \l..\.. ~ A....


~l~~~~._C;~;(~;;:~··~;b~~_~I·~~~~cJ~~\:;;~; :·_[{n' - - -·
. ... 0)"\
1\ , 1
N~i
---.----- ---..-----·.. - - --i-·--·-- ---- -----
I'
.V ,::\,. · .f
I
I ', I \ :./
r' t.. )!.·~:; l '·O 'l1c, .v .\
-.(J
I

.
I "
t ,l,
~ --- . - . - - _ . _
.
.. --- ­ .
'V .

_ _ _ ____, ., . " _ _. __ . ~J_ ._ ._._ ...._... •.• ._." _...... _ ..." .__

o'f . ... :. . : .:.:: . _--:


',;,fr o
\;. L' \ • • ., A ~ -v • i -
f- ..:-'::'::':'~-: ·'~ ~ ~": :·· _::? __· I t
\ .

_~_~~~:... :.._.Lj ~~ .:~ : !~._ ~~~~ .,\=_~: "". ~ _ ~ _ .~ ~: ~.".~_ ...._..._._

"I
.\
(' ~ . ,. .
-. . 't ·I'~~ 1-­
I

., .
.- .,' ,. ~~ - \'.).
t•. ,•• : '
- --_._- - ---
, I \ _.
~ ':-.
'~' .
.r.:I . .\ l';c.i. 1\, ;\' r.1\ /. l.· ;,
_~

~ , . .I , J- .
\ l) " , ~\ :, " ::
f ; . /,' " , '.
\~\'\. : ~...;.: ' ... -: CV'.j. ~.: ./ (-~'.: \ ,. , -: ., 1,1.. :-".
l.'~-~ ) ' i :~ l",....\... . I
')v ,'.,..~ ...\ <t. \.
(j
1 t\~y: ) .... 'I ~\ c ~<

~,J;-~- --:----J:---: -;-: ;,~


~ __l t~~I ~ ' L.·~.·:: ~ .·~: t
'1' ry .

(~ ,··\-~ ·/~~ ~ o .-~i :t·,.~~;~.-.: · l~='· -t:y - ·~·.~i:~.T:: ,~::,·.:·:~ ~~ ---J


o· .

- ,- -! -~~ _ . ~ --:-~--- ~-= .'.-: .-;'~~-_ .,-j-_._-)---!"' -[.


~ ~!? (.(u" <.::" "-" 0 '..(.. }\:.~, \ -.;;. : \' : l ',o,"" ·:\ r~ .:\ .'.. ;
'-_'_-~'-' _ ' _ :"" _--"---T'c-'-':--'- ----- - --....--.!

I

; 1
I
-'-:~' ~-7--.' -'"'-~ --:'---"-I-Y:': '~' 'i , '-'~;~/" .-. -- -~ . ~ -.
.
v : .:
'r'; ', " l ""'"' /
.;..'.'-"'1'-" """' 1';
~
• •.r: ·v"' [\
i : ,~~. .~ ('\ . ( . :
~ ., t I~'" 1 ,. i" '1"f" ... :'f ) - '
. oj
:.-- \ ,

l, i ~. . .<. J"

,. - , '. '. ~ ~" . c\.·. · ,~. • •. , --


. '.--." y·...:.-~ ; :!r }":" {
' ,--'\ i ·. ::;1 ( ~I )
,
. \' .
(

---~-',~f~ '~ , -~~·_ ·=-· :=~~~~·~:~'~I~~( ~ .; \ .~-==:.=:.:.'~=~~=-~-=. .:: . .


f~. · "-I. . ..·f~ (-...ro 1'. ~' . : -c r ~,:.. lr '.
~\ ( (; '1') L:I'~!;-\ .j.;..~}.:. ~.,'- L,:l'~ '\~r:
1
- \' T/"1.?'J'\ - V.
1
if
I
I
!
L __ \
.
i I
1(\
I
'"
'i ; ~ " ~ 01.\' '1::;\" \"
, _~_' -r- t- "I

9--,-cO
:-. \ ~,•{
'( . ,.~(
I!

i
I

I-C- Ltj,-J :t~_·~;t~;;-;;~~ · \T~- ,,~.{..1!of-··-'-- -


!.i I ' . 'T :_~>~ _, I.) ,.L~.~ .~\ ;'.J ", L: ~.

! '--- --- - .__._- :-.--:-_.- - -_


'-l. "I.',-, ;',,\ I' ( : .... ,' :
,_ - - _.- -- -._- -_ - '.- _.. _._-_..

..

---' ~' ," ' . .... __ ._ ..:._--.,-_._._ ~ _--_._------,------­


( 1) 1 J .,' . I f'l I! • •• • . , '/ I

,
1
V 7 ·.','J.f \ n .r ~.J \ . \. \ r: t : " ~ ':'.!_. i \
I . , , I .
,,
I
• C:~,_ .; ~."; .l . ~t\" -0-",{1 " ~\ v, ~_O~... ,I ~r~ ~-. : ....( •.','
I. .\.\ tv> , .:.\ . . G · \ t r, I ~

i
'I (;::'-.\ .. . t; -\ . \ '., C z- y r \ '. ' '\ 1 ( ;, ''\ .

'I J " ' ; \' 1

I
I
! . t _\"t:;'''',')
' V~' \ .l-. : '
t.,.- 'I'..V1 -i ·..~
! ~ t.
I, I·" · ,,. c. ,
,(i - · :.,.~ . ;: t') ,
h~.;:...\
i . ' I ' (~
(r"j· '..,7 Cc·", ·,,: ·. \... ...... n ( i': "; •
v,
:~ ~
I ' \ ,. . .'
• ':..,. I t • '1 ' - 1. 1 •
·~ 'i·.\ I \ ~r .

- ' --- -- _'._.- A--'J_'"._ -..- _.------ _.--- -.-­


I
v
. r "
. }'.' ~ j ~ .} C; .' ~
. / (' I
()
<i .' 'I
.i· ' ~ !
"
,

\}
I
1

'1
I

I
I

. ....... '.'

r~,~I-~ . ·\· ~ ":~" ~'~\~: '-:~;


'l~:;"-_!r!~ '- r, ;_~~~-_' ~~_-~~ ~ -.1.
i
I

!
I
'l

....-­ -.- ­
'\ Ii

r
-)::Cr~" " -' "~-;.;-~;-,~\ ~7:-'-!~~I':X -~{::~~~_. : .~-~~ ~:~,;
- : - - - . _ _• • \ " ' _ _ d , -:: ­ _ . _. _ . . - . - - - '- - " - '" - ­ . . ......- . . .. . I, " 1 I '

.I . . P, ".';, ~"\ .' I'utl, ,:\ .:


tI\.,'I '~ \\ , '• : ,'.YI
I
~.
; '"

\I
.
.
. . . I

'. I
( C·:... ·(' .~ ~~ .._ ~"'. ... . ~~
I ~' ~\ ~
.
1 :.... ; c ...\ ~ . , . (,;
~ ,.}..:
\ ..

-Z <t''''''~: -,1\
H J / f' . (

-- ~ -- - · . -·· -- · -~' -·- -·-- "" ~T - ··· ~ - - · · ' -- -·· " · "- " , .. - .. - ..
" - - ,- - -'
I '\,. :"... 1 .;. ..... ...... J:
---_ _--: tt
\".'.
...

·'-.1
.
':/..: -- -- ­ _..
.
U/\ t ~i! /'
, ­
~"
__
__---_._, .
':
\..-. ..- , .
L_·.J..·.: ·~~~ , ~._'.' ~~ . __ \ -~ . - . r--...... ~: .~. · . ·.~-- ~ ~._ .~.' _ ·~ : . _ .. l
. I

~~~~~ --·~-~~
( ....,. ~l
i· ~ : ~-~-.-~\~ ~~·: :-
f\.- ·'·..' . tJ t....
· \-~~
~ ,Jo
. : -----I
. • -....
"... . '\ I' J. . . . .. ", ' -. I

. -: "\.:.... . " .t·!


"
J. -,
I"
t.,., ... ~ . ...,

• •
...r .... '. . . ".1. :. .
I •
. : . '
, I.
' ~. •
I!
• .
. .... ._ . .-. ~ '. ,'
,
_._- - - -.. -_ ~
I
:

II
\!
_~ ... : 1 t o , . .... "" ~ _ ( -\ ....

0 . " i, , ) .,
r,'-',~. 1\. 'OJ
o \' ~"' , ~' '..'. " " -, ~ 1
. :.f ,

I' I l,
l \~ (" ::, ; v
( 1.- ..., ':" . • ,
"

i<-:;....--­ --­ - --"---"- _._...--..._...:._.__.,---- -...------ -..

t -;;----, .--~
~\
,,' ~',.':....- _ .-r,-----
.) ., ~,
. !:"' \
v : L- • o
---~
' ~ \ If . !
. r: •
L-·
\, ',! ! I .
~ .., ·) :: y::_~\~·':'· ..~:_~'~·I':~ · , · ~u .
--T - - ----- - ..:-~··: " .
'. ~~ I Y)

[~~~~j;:)~---~~:~ (,: .;:1 I I

'f ~ "i
• \

-..-----T -- -- c-- - :~--- -- ---


I
'.

' I'
I

;;\

I
\

i
i;
• !