You are on page 1of 54

;_

0."

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

Par;e

Chapter

1.

Introduct ion

2.

HOS'l'-:I03'!' Pr oce dur-es

....

2'.1

Generalit ies . . . . . .

2.2

Connections and Links

Definitions

....

2.2.2

Connection types

...

"

9
12

. . . . . '. ,. .

2.4.1

List of transactions

12

2. 11.?

H~ST-EOS7

11\

Imp]e~ntation

. . , .

2.2.1

User 'Pranaactdons

3~ 1

4
4

Message Structure

3.

. '.

protocol an d control message s .

19

in GORDO

Introduction to GORlX)

3.1.1
3.1.2

' GORro

l~

'. .

19

file syst em

19

GOPJD process

3.2

Sof'tware Organization Overview . . . .

22

3.3

Softvrare Description . .

24

3.3.1

3.3.2

..

Data structures

24

3.3.1.1

Allocation t ables

211

3.3.1. 2

Buffer pages .

20

Progrm~

36

3.3 ..2.1

Handler

36

3.3.2.2

Net'.-:or k

37

.'

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

Soft\\'2.r~

3.4

3.4.1

Pr ocedure s

. . . . . . . . . .

Descri ption of

SOH~C

t ypical sequences

.Appe ndi x A:

i'

2 .

.....

40

..

..
~

1.

INl'RODUCl ' I ON

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

and (2) the implementatlon of t he corresponding pr ograms in

(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 .

.
'

"

,"
,J " "

2.

2.1

HOS11-:I0S1'

PROCEDURES

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

2.2.1

(See f'Lgure J.)

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 conrction 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
completely unaware of lines.

ClI'8

only interested

in

connections and are

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
control connections issued

fro~

x HOsr , there
s

are

at most

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
(b)

nO~T

the standard connections.

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

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.
AUXiliary connection

(c)
~hese

connections also connect remote users:

An aUXiliary

* Is

cor~ection:

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
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):

link number.
(2)

A marklng

Fleasage type, Source/Destination HOSI',

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

(~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).

consists of user I s text.

However-, it may represent information

for use by the Network prograre ,


(4) A checksum (J.6 bits).

It mostly

(Control messages, see 2. 11.2).

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
de'l.Lneat.Lng mesaage ends.

care of the padd.lng ,')

9..

at message "r e cept i on

for

(At transmission the hardware takes

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


excluding the
'L

clj1~' mD.r~dng,

but

32 bit leader and any padding. To compute the checksum:


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 ,

3.

Section each l4 Ll0-bit segment, S into go

to' t 1
l{.

.... t

1G-bit e lerrent;s ,

89

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

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

t -(l t

= t ,@ t'
'm

216

+ 1

16

if t

'm

+ t

216

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


K(S) =

6.

to @ t 1 G) ...... '~89

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

to detect packet transposition.

-10

are

rotated by i bits is

. .. . .:
:: ~

..

.'

. ' .. .:.

":.

~ :

' .'

. ~:

< ._._. _.._

~~ -

bl \'L>:.
"

",",'
1 G. ) \t ' \y<", \' '".~ ('~)-'
. .
I.

':.
.:
V

3 2..

_.. -_._ -

_ _- ., - ~ ~

~ . _-

(J
"-"

- ' -'

- - :-- . _~ ~ ..~-.:- .- . ~

~I
~.
\1

0:J I
01

'.

_- . ~

.
,

~ "-- .

;,

~
I

_-- -_.- .----_ - - - _..- .--- _._--- - _._.__._>

~
~

M O~ Q~(C.

\S'
i
\1) 1

(I- I

- . !

vr ~

, : -.. ...:-.

. . I~'"
- . .'". .. . .

11

-:__
~

crr<..,LJ
M>.

'

(1'"2

i 1'1 _~

~.

. ;

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.

OPENPRIT1
CON?'iECl1:D:

(COi \rW~:GrrD,

HOSTID, RUFFJ\DDH, [021'J)

Connect.Lon iccntific,:.tion f/

12

..

Remote lIOs'r ldentiflcation If

HOS'l'ID:

Buffer address for Lncomlng messages ~

BlJF'FADDH:

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:
N:
OPT :

Same meaning as above.

Nlmlber of auxiliary connections t hat should be opend ,


Same meaning a s above.
(c) Trans~tssion over connection

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

Connection identification i!

CONNEcrID:

NO: Connection #.

The primary cormect.Lon is always refer-red to

as "bei ne; NO ::: O.

to "t he order in

/m auxiliary connection number corresponds


~1ich

it h as been established.

auxiliary opened is referred to by NO


NO

= 2,

BUFFJIDDR:
N:

= 1,

(TI1e fi rst

the second by

etc .') .

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

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:
N:

Conne cti on indcnt ification /I .

Numo er of connect ions t o be c Ios ed ,

in use by t he us er, included


NO:

the primary l ink, are closed .

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

auxiJiaYj

2.4.2

If Omitted all connect t ons

connecti~1

U to be closed.

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

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(y)

Control link

HOST(x)

EKQ

PRIT1

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

ACK ENQ PRII'Ji

ACK:

. ENQ PKU1

a1

Positive acknowledgment (one ASCI I charact er)

1 2.

Same me aning as above.

. retlwned for
015

a1

HOS'l'(y)

Incoirln g liro.K II.

ch~cking

'Ih.Ls part of t he message is

purpos es.

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

15

by

t he HOa.i' (y ) Networ k

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

S I G N HOST (x )

HOST(y)

- -- - )

I N

X X
HOsr(y)

Prim. Linl< #15

REA D Y
HOST (x)

HOST(y)

Prim. Link #12

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
B~Q

Hosrr(x)

AUX 0 2 5

<f-_ _~~Tltrol link


ACK

FJrq

AUX

16

HOST(y)

--;>
_

5 0 2' 1

-.,

HOSTey)

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

X X
HOST(x)

etc

<
-

......

Aux. Izlnk 1/21

.....................

HOS'I'(y)

HOST(y)

---X

.
(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)

Control Link

zor

1 0

HOS1'(y)

End of transmi s sion (one ASCII character-)


001

No.' of conne ctions to be closed

o1

Out gqing link II to be clos ed.

C3

deci mal ASCII characters )

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


HOST (x)

~_

HOST(y)

_ C_ontrol Link

ACK EOI'

o o

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

a negative ackno wl.edgnent character

17

I~ Al<

inste ad of ACK.

Thi s f or

many various reasons such as:

opened , and so forth .

wrong sequence , connec tion al.ready

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

accepts it.

llosrr (y)

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 ,

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

..

18

,
!

3.

3.1

J:iI'IPIEMENrrA'.~ION

IiI GOEr))

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.

G01100

3.1.1

file system

'l'he file system is page oriented.


directories.

It is compos ed of files and

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 '

19

(See be Icw:

servf.ce calls) pages taken from cl:iffero:mt files.

this

Pir;ul'e 3 illustrates

coupling.

A process can request for services by IT.em1S of sysuetn calls.

calls rc levant to

OLU"

'Ihe syatcm

paper are:

vlAKE

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

SLEEP

for putting

COUPLE

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

a~leep

another process (or itself)

space .
. A process ordinarily runs in slave mode.

However- if j.t is set up as

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

an

- ........---..-- 2

rZ :;;J I

- --__------- 1 }
r'. ':

=::-:~ :~=~- I

'r;; ',
"

- - - - .--- - . :- .- '1

' . __'__"__" ~ ' _' "__Ij


'--r

f _

-q., _------'_.-. ~
I

'.

_. _

~ . _ . _-.. ~

-- -_... .

,--

_- ...

,- ----1

L.

-,

... _,

k:

.__._......

f-').:.. 2.
"" -. r---._
..-...,.-.. . ---'11
~., L

- -.::....-. _ - _ : _ _ . .. . !

,- _..

---1

-..\

i--- --

-- - - --- .

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

"-'f"
~-- -- --- --'1
jr- - - - - - -

- -...

- --- - -- ---;"- - - - - - - 1~

-' -- ----.----------. ---I'.

I.--_..__.._----..

. i

I
I
1

' 1,.... _ _

-_ .. _..-.---

__ e

_ _

-,

_ .- :

r\ ~. ,

'-.

\'\

"'-" 1----'- :--.."---1:


~;.
.....-

---------1'\ (.. .:

r---------
--:---......-..

I --~ --

I.

\'JI"~ ~T.
'; .
.....:'~.,,
:': ~_

.~
, :

-::..__~, _, ~. ,

I..

(':

. .."

... Cv. \",: '" _

?1

;': ., ',
._ ~: ~:'..:'__,. _.~'
_ L .. _,

'.j " .

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-"

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


]JVlP-HOST hardware interface .
and receivirJg network
The'

N~t\'/or~(

It serves the Network process in t r ansmi tting

rr.e s s ~e s .

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.; .

0'

- -......;.

I
I

I
"

lU i
.,::

c;rl
3

..r...;..-"

.~

f __..

...."'~

....:;:- ~--<.: ~ .._-- .;:t_ . . ~/ .


~
t

'.-;z . i
.",,- ''V

-L

--~~~-1

.'.,

.
..__1._>
!, -_..__.- - --'-"-

.j

J ... . ,

\--\--'-

-:?

0;.)

S
j

~)
' j

._-'._..-_.. .
;
.

i " .
<0

i-

.',

i
r

~...

II .s-

. .

::.: :

; :(i 1-
u .\

c
r

/,. .; ~...::

!- .

.x.:

...__ :. .- _.__ ._.. ...,L_..

Ii

1__

-t -:;;;-- - - - - -- -

._..__.__.

. n(ln .v)

"
t

r=:~-=-_ :- ::-)\:,-I.~--:-:-::- = ~::'-:-:::-

\.L

.
:::- ~----';~' .s:
- --- - ----0
d
!l ~

,-

("~' ..",')

..

-~

--r 1--

<'
;-. -=

....., ,

l' ,

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

.----- -___ ____ _1.Y

_ __----. --__

r-- - - - - -- -- .. - -

. .-----...-

f S ,!

.-.- '.

. ..

'

~.

;:'

1._J. ~:~ ': !

t.l

.-;

"' ~'. .J:.-

I.

1I

,..) _ ,t;...

'- / }

L_ _. .. .' c__ " __ . _.. ._


'-- --- -_.

"

--'-

--

-- _.. .

_ :..

--- -_. .

._- -- - ~.-

~ - :" ."

.I , ~

-, '

'C!

~ -. -

- -~

.-

--

', j

.:.,

:" -

.-!-

i__.

{
~

' j.

/~ . _"r

_ ~_

'_.'-.- ".. -.__..__, _.. '

il, 'r.. .., ,. :i


. :I ';z.: :;. I!
Ii'__.-)_ . -4_._i .
j;

._

:...

"

,\

l-. . J \

\\
\

-,~

-- ----. -. .. ..
,

\.. I

I'

;.

~. _ (

..".--"

01 ,

.~
\ ~'

!
>
',~

,~

c --:

<,

\ ::5~:,>

~)

_. 1._ ...

. _.

_ II

_... . .-- '

. __ .. . . :

'.,

l-~

.~

3. 3

Sof'twai-e Descr-Ipt.l.on

-:::.::...- ====-_
-:::-:::=:..== ==-=;:-...=.:.=.-==

3.3. J.

Data St ruc t urce

3.3. J..1

t e.b les:
-Al.LocatIon
--_._ ---- _.

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)

(See f'LgureS)

HOST t.ab l e

. 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

* Size: As many slots as remote Hosrr


. s
* Slot structure: As many bits as possible

virtual space.

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' ).

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

Coupling:

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

*
*

Slot structure:

As many sl.ots as connections in use.

Size:

Access:

See figm.'e 6.

IndeXing.
see

Each slot is 2

V[OlU

Lengt.h

Each slot is accessed through a connection #.

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

* Specific

feature 3:

3.3.2

(b) )

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
~'his

n~p(Jl' LINl\ table

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

- ,' \

.-. '.A . \

" .,

- _..'.--

.,. ,

_ - --., _
,

'

..

~~ 1
/ ."ITT" -:...."..~_ ....~. - -'-":' --~' -" ~- " '.-"" ~-":"-- -:'- -~ -''llt,::-1"'-,1''1
! ,,!.

"' t
~~

I:\"

. "'- '-- ....

4_

. ~

4! "

. _

. _

I..-'-._, -- .,

__

', _

4 __

J\

, - , _._-- ,---.,- '

:~ ',~ : '

r----"'"-,,.- _ - '-'-'- - - '"

~O ~ ; ~ l

'"\,

_ / .

'

i
f

,I

~
_.. --_.--

. .",_.",_ " _.. _,.. __.._ _._ "..__ .__.. __


1--- - -

" .. " -'- "

_.._

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

-r ,....

\I ) '
\ 1" ~,

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

?G

' .""- ,! ,
I

, _, _.. 1.
- . -'

'>

.'

/ r

\..) <., r, ; . " "

,_ ;._. - . _ _.- -

x\

, .\

'[

Q \

;;

01
X\ ~ 4' :.
{\

r----- -~--

.'

~.

.:

: . ~ . ~~ ~.. =..-

"

"J
.,

.-
I

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

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

..

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


: ._ ~~~=.~
:~~.~~ .' ~~~.~=~~~~=,~ .-: --.-~~~=~~~--~~.~~~~~~ , ~, ~]
J
____ .

.I

I~

.~

.. ~ .

. _ . .._ .__ " < .:

c;. ._ ,-..

~.-J

. . .. , -"

' - - -_ --,,

-J

.., )

,.

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

l \ ~' ''I f\
\

c ~,, :/.\
0.

Y'.'. "

. ~,
J. 1.1 (
, '~ . ,~..J

\J..-.. -t:,..

. ...

~ , ~,,:

:...

, .-:,----- -- _.__

(I

"(: ',\n
,
,.'.';.','.' \
. :\

l:: . .

-~" 'l,~

) .1

.
..

'\

; ,

J-" \ .-. i.; i:. : :


j

"' )
(.

:_ ,

\-'. :
(

,_

" , ..,

~ ,~\

... . ~ .
:

'

'.

' 0

'r",.',

~ l'

' ..

'

I ;
,

-'

r-..l
"~....L, '
,.I

.... . J . ...

. , . : ..~ .

_ .,:. \

L_'.__.__ . __._._~

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

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

('

-:

, ., .... .,.,

" '.

....

.'.
. ' " .'. ~

..

./

...

....

.-

:'.... 1

( : . ' r ' f ', '

Q
r'\ ~

. 0

\ ' 4, rJ

TYI (:"

-- '

, ..,J .

,,

'o J. ~.

yt\).

CC '.\

\,\.
l , ,~ '

,.

.....

\ t.

Y- '~ ~ . ' .

(, p.,. ,

~-'.
~.
1~

..:(.

- - - --------,

",

f ' ,r

.....t. .\ .... ." " -e -.,


.

, ..'.op, \ :'"

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

.....~ .:. :e-; ~.I '....., '~ .

': ; ~ C: ':J

..\~-

: .. ",- '

,,'
(; i

t-

\ . ~ .j

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

~l ,

""'1"

"v::'
'

: s, ".:

..j.....

__

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


Location:

Disc !'8sic1ent .

Coupling:

Coupled t o the

* Si ze : As many slot s
* .Slot suructure : See
Acce s s:

Haslrl ng .

l\ct\'jo r~~

proce s s virtual s pa ce

as incoming l illl.;:s, i. e. , as connect ions


f j.p;uT'8 7.

'J'[i O

Ea ch s lot i s 1 wor-d l ell-2;th

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.

..3 . 11 the

.*

Se e

""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.
tains the

(For ea ch inco:d ns link i t con


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


(f.nput and out .put ),

process l ng

nO','1

.,
to be de scribed contain t wo buf'f'er-s

The se bu f f'e:c G are used

f or e ither pas sir:g; aJ.o::g or

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

29

8.

(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:

* Input

burfel' (253

\'10roS)

. r or Incomtng messages

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

Coupling :

rc:sid.~:nt

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 .

.
.
Input buffer ( 253 wor ds) f or t r1Comi ng messages

Content:

- ' 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

31

8XB

trCJlsmi ttsd to t he Het

I '
;

i.ndepende ntl y on dIffer-em f..; mess ag es and , s o cont r-Ibut e s to an


For' Inst.anc e , when the Hand.Ier -

i ;~

the Net\~ or'~ program can I'ormat

0. eade r ,

ove l'J CJ.rpjn~~.

bu sy tra11srilitLins; a message to t he

haX'd:I: 2.! l~,

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:

Content:

Di sc rc;; idcnt

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

to accept a nel! mess8f?e.

In t.hat case, to avoid

CJ.oi~gi ng

rL'Clo y

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

'. transmitted message , )

32

t he Rf1 l?"i of t he previous

,~ - -_ . _ - - "

_.__. . ._. .. . .

r--"'-'--"'-'--'''---'"'-"'-"'-'-''--_..-.---_''''-'
If'

~7 _,
/..-('
}... .-..

r
t'

J) ,

( J , .\

C "_

A:'I"l"':v-' ~",<, ;~-

..

:- ' --'-'- -~ " - " --' - '-"'- T "\-

:-"'\" .;

,Jl )"~~

fj '! ' . '

~"":,,, \, \ , , -, o '

r-:

0\ .\.('-.1':. ,'/'J"
v ~ _ ,~

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


1- . .'
. . . {.

Ir: \~ ftd.{ .

.1 .

) ,,-_\ . ~

I ,

\.. . . . . '~ ' - .. '~

( I ' ,~ .'

.__,

" .
!.

o '~,. '\

I
I

('

.1

{.

,
j; -- - -

~ -

VL

d .. \

I.

-,

~ # . I:.~., .

J'

l1

J
,

I,

-----_._---- _.-

" "
v .,

._._._'_.__. ..~. __. . . :.._._._._J

\ r

"- - ' -.!

\ . ..
\::

--\- \..\,

: ... ... . .

~ l

t~ . \\ : ~, : '. .,:. "'.

-----_._-- --

1r.

. _A.

".

_.

... _. _._.. __ .....


_ ~

'J'

( " . 1--..

" :__

- \r~C '- ' -- - - ----'---;-' ;-"- " - ''-' --'

"

I ., .

I -'

. ._ . - ... - ..

~ ..

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

"

~_. _

......
j

" ' J
.I' ~

..

l ,-

I'
\".

l : ~

.'"

.....

"

...

.-

"

I'-

_ I It-J--c;l

\ :--: . rv r;:, '.j '" l-

" .~ - \
.
, - -- _-- -'-" '---' '-'-' -

I I"

! ~ 1. '." ~" )

X. oo() (') ~" .: :" :)


XI \ o(. U (; .:.~ (:
,
y. 0 ::; 0 0 \ :) 0 ::":

__ I ,.,

\ /u

..

6 :; ':;:J.

\, .-.-1

.,

='
\\

:-

-.

\ \

11

{1, '- ' _ 1

Th

_.--- -

C':"IJ
.

'l 1.~

'l.:_ ~

1-

1) "''' '

)'. ' \ .

I.

vi
,

b'\
-I

.J

'\,

.~ I'

( . ," ',' : '. , '. Co l.; )',. .,


.. ~.' (\ .,. ~ "-~ - - - -I.- - --..{- -.:-~. ;.~- ..-

b 'L

II

C If

.... '.. ,

lj J....,..}
.

~--J. ~--- _.--. ~. - . ~ ..-- .--..~

I,. :..... 'oJ " "

1 oJ._
\). 1

I'

,:>

~ ..

"

,{ '.~

. .l..
I

l~

. . i ,

1 ._

::...... -. -. :..:. ~_._~_~

.' ,
....-::._. . ..
~ __ .. - .-__'0:_'.

J I ,ti ":'-, ;> I l .L-\


)
:-":_...::..__\_
::::...:..:.__z:__~',:>~....__
.__.

\ \. ,"\ ..

_.,

.
._' ..__ . .__._._--;:').

t .t

~-"

a,' ..

c ' .. ~

J::< t \
.\ ~ .
-:.,.
J

t,

P
,-'

' ; ", ,
'

!
'.1 ' , ' ,

!':.. v, '.
'

t :... . ..""':

.~

.-( ~

l :.~ ,;

__

r .

1.' ,_L.1.

l~,,! /~ '. ~ :

..I

,~ ,

- " / -.. ~.
._
". :'

,..J,: (

I ,

.. .
(; '

"':.:. : .- '. ~
(

.ill
r ~ =-~~=~~=~~=~~_-~~~:~==~===~~-:~=~ .---~J
I !

( ------- .-

~--,- -

~;t ~ _ _ j

;-<'

._' "\.\. . :.,~;


( 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

* dur-Ing

n~p

reception when a rresaag e word has been

co:npletely .received from. the

* dur-Ing

II~P

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

36

word

"

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


users' requc3ts.

For s o doing i t

messages (se e 2 .l~ .2)


to get lih%s

outgoing corrnecti <?!-,:s: _ upo n

to remote HOST

e:::;t abli shed/r~le2.s ed;

notifies back t h'2 U3el'S.

37

send ~

contr oJ

in order

i t then

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 .


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

It i s
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 .

Virtual spe.ce conr'lguratIon :

* .Specifi c

f e at lU'e:

. Jl
See I'Jgur-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

..

.,'

'!

j\,
!
I

r- - -- ..- -- - ..._-

_.-"'--'- "-" -" _.._._- -_. -------:------ r

i
I

t ; ~ , l. ~ :~: u ~;. ~~~.,

i . !..

,I

.,I

_ _ . .. .

"

" _

r) 1/'
... .." ~

.j

'

'.

_"

. ,

__ .

O d

... _

" ., _

' -;

..\..Co_ ~.-, ):... '".1

..:- .
( . ( l .. ', '. :_" ,

t : ," ~

;.. \ I (

. . .. ....1

le v.."

C-

._

.. _ . _ -

. . .- _ . -

o c-. ~-. , "


t~->

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

: .r.. ~. ..

S e. "\

J-

~
I

')

\,

r- . ... - , "
4

I ; . G

..

"I .

- - - --

. /:

"\

...

- -

- --.-

.
r \.

,:~ .,

,
(1.

"

\
I

., ~ ~
\..-... .

.b. ~ /' .

\. / '

_..

' - -' ;

"'-:;

p...~ _:.>:

\ . ()

; .~ .~
,

(:

, J

I.

., '-' -- ' -

~ .-:
'\
( ........ V". ',' \ -,:: :.. " - . .""
\

.....

~~

(
.

~
i.
v

Ii

,-,

~ ~~I L
i

.~

:.....~'
:~ t,,'.
.

"\.'
, c"J
_ ..

....;....

'1.1. .,:.>:. :" ' : ". ': 1

. , ',
;

, , '{ {.., \. -t .
;

- .r:' : -. _ ----_

. _.._ __.__'_.

. -. - - - _.. - . - . . ..

\ . ' .>- " .. ; . -,

--
- -- - _.-.- ._ -. -

_ .. . _

-_.

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


.
', .

__ .. _-- -_
'I
'~

"

39

-'

-l:. ..

,'I t : :

. . . _- - - --._._--_ .

- _.. - -

._-

\ ~~

':> I') ' ''''c

1 !
!

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

0_:'

.... ." ,.

t-

.J"" , '. '..; . .t "',

\I

l~

v... '.~.::: . ;.' z..""

-i .....

(j '-.-

. --

,.

' - ' - --'--~.'_, (1', ~-~" -~---~ -.-~\.~II .~: ~


"' ..

1.....,,-.

- - _.

..
\
< . '.

..

3. 11

Sof'tware Pr-ocedures

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


~\ppendlx

at cached \-lith

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.

Description 'of sorr~e typ~cal sequenct::~

.3 .II. i

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~
(1)

(See 'a l s o 2.4.2)

\'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


* it stores inforiTa.tion in t hi s
remo~e

* it

' .

this file to its virtual space;


pQe '(i t s job jprocess II, the

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

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

vi. !'tuc:~l

it couples the first page of this file to its

1:

_(Sha red Zone, s e e 3.3.1. 2).

space

SUl)pOSe t l1is page t be the k th in

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


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

f.

and s elects thG fir st bit

= 0,

e.g., t he a

th

bit; a corre sponds

to the outgo'ing link ll ;


;:.

it stores :i.l1fOYillation (j on/proce ss II , remote


outgoing link f} (0:).) in the k

th

nosr

# (i),

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


"outgoing link il (;I.) + remote

.t ab l e (Has hi ng the key v alue:


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

I;;:~Q

it prepares the message t ext

PRD,1 0

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.

l~et::!Ork

After a whf.Le t he Handler wakes up t he

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

where 13 Ls t1 1e Lnc ornl.ng link ll ,

0:

(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


link.

LD-J}~

t ab l e for t he .inc omi.ng

For so doing it hashes the key value:

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


stores the HOST II
fl .

a),

"inccmi ng I ln!c

In this entry it

the Lncomlng l i l"k tI (13), and connection

oo ,

it updat es the k

th

slot of t he CONW~CI' t able in st.or-I ng the

incoming Hm // ( f3) ;
it turns on the 'net-user' bit in k

th

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;

*
(b)

it goes to sleep.

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~

it 1001es for

pr~17'c!m d_C?''::~:

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

Suppos e Ie be t he sele ct ed peg e # on the

net 1 bit turned on.

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.
at user's disposal.

Later on subroutines ,Hill be put

These subroutine s vdll be very close to

those described in '2. 11.

APPENIJIX

t~ (I .-'

,-

r - , .. - .
~

1\.

.'

U'

"

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

- -- ------.-..._-

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

\'"r,.t~ ' ';' ~<"u,


\

' j

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

II

(:

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

I:

"

;\

,'1

c: ' ~,

..; :.. .

.~

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

.
(

-r ('.'..)

~.

, '.

';~ ~
t" C, t.

f '

.\

,- -. ',; ;

"f' . , -.

.-

'.~

.,

'"

\. ...

, '::
:

., ~ t:

.; C: ;" " ~ ' t .

"

,: '\'

,.

\ ;" '~

? ', 1

\.

.'

J ' -, ' .. '. :

6)

~"" " : . \. ' ''' t.~

t )

..{ 'iI ~ .1J- ~" , ( i

I(

J\

,;

~
~','~ . J'
,

.l ,\
"

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

'
/
_

.J~ \,' ! J', ~ './


vJ l r"\

~ ~H-

(:)\. ! ,. .... e ,.....\'t.

"
l
t,
) ...''"'''\'1 ,< z r ;

_____._.

'

( '~

\ \

_ __.

._ _.

,.

,
\
\,,\

' ..
I

~. ' :

~ '. '"

i....1. '

i. '

' I

- .--------.

:"_ _...l. : __

$.! .. ....

~ :.

.L__.( ---l-'--.--.:.--.~ -.- .-- ..--- .-- .------- .---.- -----,.....

7---- -- -?~ ):j.~---- --z~ ..-, 1'!-;; ~-~ ~ '" ;~-.---

.......

( -:

It.. ...

~/

. \ :.

,X) } .?,\ ~ t ~ .! '-'- , \,-'


..1.

', 1.

..

" \

('

"

-,~

{.

'. '

. ..
r ,
::

'

... ) -v- ." : ...:.

1\ . ' . ",

-1 i ' .
'j.

\ ..

..

:'....S" .~

'.:'

......

./ :.~:: ~".I .,,- .=--

.!" ,:

"

~---' --- .- - .-.---- - .-.- ,.

v '.

I
"'. ' r ~ ~. _ .. ,

--,-.--'


l
J

.' .

. I

- - - -... - - - - -. - - -.. . .-.-.. .. .- - _ .. . - -- .._ .. . _. - - . ~ -- _..-,/---- -

x~~}~: :~ ~. ---'~~ :-.< ~~. '~'.;- \'. -:~. ~~~ .. ?-~~ ~~:~- ..~~.
. ;_\.I
' l'-.'.
.

_ . :=~~-=-:-.-_-_. _ :-- . - : .~.:

'

'y\ 'r

( - - -. -

1.-'---- .-~

I'
-_.~

Sf...

..

..;...- Zo .

H;'~:~;~

o;.' :: _ . . ... _ .. ~ , _ -

. \

1':'. "

")~ ".' .. ...'. ..l ."'.....

.. - .... -

- -

CD
.

- .. - . -- - -

-- ~

-,: ,:. - --;:,_::~~ - :~: :~-~ ._,:~:T-- -.- -- .--~

~!~ :.:~ -';,-~\.~~,~" ~~~.~~t;~ -h~ ~~ -.~~~_# '~~i:- "[ ~ .~; ;-- .'.\"J;:.-. ~'<Ll
..

.--._.. _ ~'._ . _.. __ .__._-...-.-.... ..- ....-... - .-.----.... -... _.. ._,...-.... ..'' -'' c. ... /

f ,:~~~ :.~~:<~:. . .-l; J\~ .;: :

" " / ' - r ,::


. J() oL ~ Co
~ ~~ \ c: -.. _. -

/ ..

'J~

.~.

L (' ::.:

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

~,)

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

,,/t'
... .- \Y r)
, . ".
r
..( i-- i'. . . ........,..
;1)
~

~. '

~ ..

\.1

~ /':
_:? t". . '-.:: !"" \ }l ';:
~ - .;, v

\ .''.-

1 .

'j '

r '.. . .) r.: ( ; . ,
.

4 f.,

,
\

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

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

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


t

,.. .~ .

_.'"

"

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


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

\.

'v

't-, c : ,

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

~_,

__

j._V(~ _.__.. ._. ._...~:-

.,:__'

. . _.~

._. . __

(\ I 1.

-,.:
I r ,.
.......
V\.L
..'\

r ... ,L.
~

..... .. .
,

._-- . .. ---_: ~ .... _.... - _.. ... - _. .

_-..

. ~-_ .-

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

i
--!
..... ...---,. ._:.'-:-.- .. -- -_ .--_.. ....----II ; .-

. . ....

~\ ..
"

. ,-

:.. :

..... ' ,\

..; '"

'.

~ '""

'0

_-

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

. . - ......... ,--

_... ....-:. ,

!,
i

--

f~i: ~} i~\

TfJ:r~' Cc, I'!';!;;'~; . "~i'~-(,j;:;~{CTJ

_ :~~("_:':.~ .~ . __ ~~. :~ _.. ~ !.:'-\ '~ "- "- "


-. Iv . ';" .~ " '.
h ,t; \" c,,, '

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


-

,-\

\ . . _ _ ..

. .

'. \l..\.. ~

. ...

"..::i. ~~~ ...':~;J ' I l~=~~ ..c~~ _.

1cJv~
1\

0)"\

, 1
N~i

I'

.V ,::\,. .f

I ',

I \

:./

r' t.. )!.~:; l 'O

'l1c, .v .\

---.----- ---..-----.. - - --i----- ---- -----

o'f

_ ____, ., .

" _ _. __ .

... :. . : .:.:: . _--:


',;,fr

\;.

,. .

(' ~ .

.,

~J_ ._ ._._ ...._...


., A

-v i -

(J

-.

"

t ,l,

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

.. ---

._." _...... _ ..." .__

f- ..:-'::'::':'~-: '~ ~ ~": : _::? __ I t


\

:'v , :

,C::6~' ();..
'V .

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

-. . 't I'~~ 1-
I

.\

L' \

!-J \.-/'

"' ~CI..t ( l><.


!) . -.)----.. .-_
. -;) ~ (.

~l~~~~._C;~;(~;;:~~;b~~_~I~~~~cJ~~\:;;~; :_[{n' - - -

A....

"I

. .

C"; \;. I"" i"''\:'.''', ~, '\'c- Co. '- \,':;:: .'\. ..,."<!..., C : .L
"" " -C -:'--"-",- ~ i 'r:-'i" '( ',l"' ~-"--; ; '-- :- -" " ...._.-.; .": .(

~. ~! . . . '::'.~'~.~ '.' :.:~~ r: ~ ,., ~:.c

- --- ..--( -

er ;-) 1'\

--;c'-

.'

t. , : '

'~' .

\~\'\. : ~...;.: ' ... -:

;\' r.

.r.:I . .\ l';c.i. 1\,

.- .,' ,. ~~ - \'.).
~ ':-.
I \ _.
- --_._- - ---

1\

, . .I ,

l.'~-~ ) ' i

__l t~~I ~ ' L.~.:: ~ .~:

'1'

ry

/,'

::

" ,

(-~'.:

'.

1,1.. :-".

\ ,. , -: .,

. I

:~ l",....\...

')v ,'.,..~ ...\ <t. \.

'I ~\ c ~<

) ....

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

J- .

(j

1 t\~y:

_~

l) " , ~\ :, "

~.: ./

CV'.j.

/. l. ;,

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


o

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


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

'-_'_-~'-' _ ' _ :"" _--"---T'c-'-':--'- ----- -

--....--.!

-'-:~' ~-7--.' -'"'-~ --:'---"-I-Y:': '~' 'i , '-'~;~/" .-. -- -~ . ~ -.


v : .:

l ""'"' /

"

'r'; ',

,.

.;..'.

'. ~ ~" .

.r: v"'

'-"'1'-" """' 1';

I~'" 1

,.

i : ,~~. .~ ('\ . ( . :

i"

:.-- \ ,

i ~. . .<. J"

l,

'1"f" ... :'f ) - '

. oj

. '.--." y...:.-~ ; :!r }":" {


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

c\.. ,~. . , --

~ .,

[\

\'

f~. "-I. . ..f~

~\ ( (; '1')

if
I
I

!
i

!.i
!

- \'
.

1(\

__ \

(-...ro 1'. ~' . : -c

i I

-rt-

'"

' . 'T

~,:.. lr

"I

:-.

9--,-cO

'-l. "I.',-, ;',,\

I' ( : .... ,' :

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

V.

~,{

'i ; ~ " ~ 01.\' '1::;\" \"

, _~_'

'.

L:I'~!;-\ .j.;..~}.:.

T/"1.?'J'\ -

'( . ,.~(

~.,'- L,:l'~ '\~r:


I!

\T~- ,,~.{..1!of--'-- -

I-C- Ltj,-J :t~_~;t~;;-;;~~

::;1 ( ~I )

,--'\ i .

'

:_~>~ _,

I.) ,.L~.~ .~\ ;'.J

,_

- - _.-

", L: ~.

-_ - '.- _.. _._-_..

-- -._-

..

..:._--.,-_._._ ~ _--_._------,------
. I
I!
\ n .r ~.J \ . \. \ r:
t : " ~ ':'.!_.

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

J .,'

( 1) 1
V 7 .','J.f

,
I

I
,,

f'l

. ,

C:~,_ .; ~."; .l .

~t\"

'I (;::'-.\ ..

'I

I
I

. t

'
_\"t:;'''',')

V~' \

.l-. : '
t.,.- 'I'..V1

:~

':..,.

~ t.
I, I" ,,.

-i ..~
!

'

~r .

' (~

I .

v, ~_O~...

t; -\ . \ '., C z- y r \ '. ' '\

' ;

c.
,

,I

~r~ ~-. : ....( .','

t r,
I ~

1 ( ;, ''\ .

\'
1

,(i - :.,.~ . ;: t') ,


h~.;:...\

(r"j '..,7 Cc", ,,: . \... ...... n ( i': ";

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

I
v

-0-",{1 " ~\

"

~ 'i.\ I \

- '

, '/

i \

.\.\ tv> , .:.\

I.

v,
t

I '

'1 ' -

,.

.'

1. 1

_.------ _.--- -.-

. r "

. / ('

. }'.' ~ j ~ .} C; .' ~

<i .' 'I


.i ' ~ !

()

"

\}

I
1

'1
I

I
I

. ....... '.'

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


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

I
'l

-)::Cr~" " -' "~-;.;-~;-,~\ ~7:-'-!~~I':X -~{::~~~_. : .~-~~ ~:~,;


- : - - - . _ _

\ "

. . P, ".';, ~"\
. . .

.I

\I

....- -.-

'\ Ii

' _

-::

.' I'utl, ,:\

'- -

"

tI\.,'I '~ \\

.:

I ~'

'.
I
( C:... (' .~ ~~ .._ ~"'. ... . ~~

. _. _ . . -

'"

. . ......-

---_ _--: tt

I '\,. :"... 1 .;. ..... ...... J:


L_.J...: ~~~ , ~._'.'

...

\".'.

'-.1

..

~ ,.}..:

t ~i! /'

~.

; '"

-Z <t''''''~: -,1\

, .. - .. - ..

__---_._,

':/..: -- -- _..
.
U/\

I '

: ,'.YI

-- ~ -- - . - -- -~' -- --- "" ~T - ~ - - ' -- - " "- "

" - - ,- - -'

I, "

. , . (,;

f'

.. .

, '

1 :.... ; c ...\ ~

~\ ~

__

~"

':

\..-. ..- , .

~~ . __ \ -~ . - . r--...... ~: .~. . .~-- ~ ~._ .~.' _ ~ : . _ .. l

~~~~~ --~-~~
i ~ : ~-~-.-~\~ ~~: : \-~~
. : -----I
( ....,. ~
~ ,Jo

f\.- '..' . tJ t....

. -....
"... . '\

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


"

I"

J. -,

t.,., ... ~ . ...,

. .... ._ . .-.

J. . . .

I'

...r .... '. . . ".1. :. .


'. ,'

II

\!

_._-

- - -..

..

. : . '

",

I.

' ~.

-_

' -.

I!
I

_~

... :

t o , . .... "" ~ _ ( -\ ....

i,

0 . "
r,'
-',~. 1\.

'OJ

) .,

o \' ~"' , ~' '..'. " "

l \~ ("
1.- ..., ':" .

I'

::, ;

-, ~ 1

. :.f
l,

"

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


---~
t -;;----, .--~
,,' ~',.':....- _ .-r,----' ~ \ If . !
'.
~~
[~~~~j;:)~---~~:~ (,:
~\

.) .,

~,

. !:"' \
v : L-

L-

. r:

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

-..-----T

.;:1

\,

',!

I .

~ .., ) :: y::_~\~':' ..~:_~'~I':~ , ~u


"

-- -- c-- - :~--- -- ---

Y)
I

'.

' I'
I
t
;;\

i;

'f ~ "i

You might also like