• Keine Ergebnisse gefunden

WAIT LOCKS (SIMPLIFIED)

B A

A: PROCESS GIVES UP THE CPU B: PROCESS DISPATCHED TO A CPU

SIMPLIFIED PL/I ANALOGY:

do while (lockw6rd A=O);

<GIVE UP PROCESSOR>

<WAIT FOR NOTIFICATION>

end;

Lockword

=

orocess io;

"'''~':;~''.a ~~~:... -Y...,~U."-liW '-4 ... -

-Lockword

=

0

<SEND NOTIFICATION>

MOST SUPERVISOR LOCKS ARE WAIT LOCKS

IN GENERAL, A PROCESS IS ALLOWED .TO GIVE UP ITS PROCESSOR WHEN IT HAS WAIT LOCKS LOCKED

THE WAIT LOCK MECHANISM WILL BE DESCRIBED IN MORE DETAIL IN TOPIC 9

Not To Be Reproduced 3-17 :8GA

TOPIC IV

. Name Space and Address Space Management

Name/Address Space Overview • • . Name/Address Space Terminology • • Name/Address Space Concepts • • •

Nam~/Address Space Data Bases.

Reference Name Table (RNT) • Name/Address Space Commands ••

display~kst_entry.

. ..

FUNCTION

NAME/ADbRESS SPACE OVERVIEW

\

A\l

(~I'l\,{\t

l ~~

y

A-~~

'fI\t?t.J-{

Iflfo IS ((rC)CQ5So..-

AJJ/~~1~~IQ

~rD<"O~.s,,,1' ~J/v",JllI);J

It

\\4) \" \....It -II

~(t .fet ,(\(\\.. f>~

IMPLEMENT THE PER PROCESS VIRTUAL MEMORY

\("ov--J\ S~~S

~ BASIC PHILOSOPHY

o AS A NEWLY LOGGED IN USER ATTEMPTS TO TOUCH VARIOUS SEGMENTS A CONSIDERABLE AMOUNT OF MANAGEMENT INFORMATION MUST BE

(TRANSPARENTLY) FOUND AND/OR COMPUTED BEFORE THE USER'S REFERENCE IS ACTUALLY ACCOMPLISHED

D FOR EVERY SEGMENT REFERENCED BY THE USER, THE SUPERVISOR:

ASSIGNS A SEGMENT NUMBER (FOR REASON OF HARDWARE ADDRESSING), AND

... _ - . - . 1 ... ,., ... _ . - . \ """~ ... ,. ... ~ ... ' ... 'T""" ~ ,.,.~,...~, ... ".."',...,., f ~I"'IT"\ ~~ ... C"'f"'\\'1 ,...~

:U:.\...UltJ.J;::' \ It.t:.l''u:,,.1''J.,CJ:.ilt;::,) ~ n.:. ~"U"l.J.'tl"\\:u:.J.·~.I.'f ~ ~ .I.'tJ;" vru·.Ln,j, ... V.l.'f \ .; v.n. .n.~n.Jv.l." Vi.;

SOFTWARE EFFICIENCY AND CONTROL)

SUCH SEGMENTS ARE SAID TO BE "KNOWN TO THE PROCESS"

n THE MANAGEMENT INFORMATION IS MAINTAINED ON A PER PROCESS BASIS IN THREE COMPLEMENTING AREAS: DSEG, KST, AND RNT

Not To Be Reproduced ';-1 F80;'.

NAME/ADDRESS SPACE OVERVIEW

MANAGES TWO DISTINCT SETS OF INFOR~.TION:

o ADDRESS SPACE - CORRESPONDENCE BETWEEN SEGMENT NUMBERS AND THE SEGMENTS THEMSELVES

NAME SPACE - CORRESPONDENCE BETWEEN SEGMENT NUMBERS AND NAMES THE USER REFERS TO THEM BY

~ ",: ) \ G>..~\ ~ ~ S~ ~ ).

CALLS DIRECTORY CONTROL TO LOCATE SEGMENTS INITIALLY

NAME SPACE / ADDRESS SPACE MANAGEMENT IS INVOKED BY SUBROUTIN~

CALLS, AND BY LINKAGE FAULTS (THE "DYNAMIC LINKER")

~ PRINCIPAL USER INTERFACES

COMMAND LEVEL

initiate, terminate, terminate segno, terminate ref,name, terminate single ref name, lisI ref name

-- - -

-THE COMMAND PROCESSOR ITSELF - WHICH USES THESE SERVICES TO LOCATE COMMANDS

SUBROUTINE LEVEL

n hcs $initiate, hcs $initiate count, hcs sterminate file,

~~s-$~e~mi~a~c ~en- ~~s e~c~~i~a~e-~amc - -... ... ... __ ~ ~, ... .,., '-'-._ .. u... ... ,

hcs:sterminate:noname, term_

-Not To Be Reproduced 4-2 F80.!.

NAME/ADDRESS SPACE OVERVIEW

z MAJOR DATA BASES

~CH\"

or .s:D\-,'

~

o DESCRIPTOR SEGMENT (DSEG) - ONE PER PROCESS

o SEGMENT DESCRIPTOR WORD (SDW) - ONE PER KNOWN SEGMENT n DEFINES THE USER'S ADDRESS SPACE TO THE HARDWARE

n KNOWN SEGMENT TABLE (KST) - ONE PER PROCESS

KNOWN SEGMENT TABLE ENTRY (KSTE) - ONE PER KNOWN SEGMENT (EXCEPT SUPERVISOR SEGMENTS)

---DEFINES THE USER'S ADDRESS SPACE TO THE SUPERVISOR AND THE USER

EACH KSTE ASSOCIATES A USER'S SEGMENT NUMBER WITH THE SEGMENT CONTROL ATTRIBUTES OF THAT SEGMENT

n THE SEARCH FOR AN AVAILABLE KSTE DETERMINES A SEGMENT'S NUMBER

REFERENCE NAME TABLE (RNT) - ONE PER EACH RING IN EACH ?ROCESS NOT A SEGMENT - KEPT AS A REGION ALLOCATED IN THE "LINKAGE AREA" FOR EACH RING

REFERENCE NAME TABLE ENTRY (RNTE) - ONE PER REFERENCE NAME n USED BY THE DYNAMIC LINKER TO IMPLEMENT THE

"initiated seaments" SEARCH RULE

-

...

Not To Be Rep~oduced 4-3 FaOA

NAME/ADDRESS SPACE OVERVIEW

DEFINES THE USER'S NAME SPACE TO THE USER

NAME SPACE MAY BE DIFFERENT IN DIFFERENT RINGS OF THE SAME·

PROCESS

QSt?~

.

K5T S v'fofV1

SP'jS

Copi .,)

F 1'0""'" \ If\.lt~8(~

'-toe;

S y../ KJl'

=-Not To Be Reproduced 4-4 F80A

NAME/ADDRESS SPACE TERMINOLOGY

SEGMENT DESCRIPTOR WORD (SDW):

A TWO WORD PAIR USED BY THE HARDWARE WHEN REFERENCING A SEGMENT.

DESCRIPTOR SEGMENT (DSEG):

ADDRESS SPACE:

THE MOST FUNDAMENTALLY IMPORTANT SEGMENT IN A PROCESS.

CONTAINS AN ARRAY OF SDW'S DEFINING THE ADDRESS SPACE OF THE PROCESS

THE SET OF ALL SEGMENTS (PROCEDURE AND DATA) FOR WHICH THE PROCESS HAS A SEGMENT NUMBER AND A CORRESPONDING SDW. THE ADDRESS SPACE EXPANDS AND CONTRACTS DURING' A SEGMENT'S LIFE

, F Ybll

~0.T

kff

/JISo .lJ1J:s..T It"

\(~~\'2-

Q. hCtJVv"c,re

L~'.T

\)

4ct1-G

~.2~

. 5A'i'

~ ~

D T

J~

{AvY'

~~\V(.s

SEGMENT NUMBER: ~

MAKI NG KNOWN:

AN OCTAL N~~~BER 0-1777 (0-1023 DEC!~~L) ASSIGNED UNIQUELY TO A SEGMENT. USED BY THE HARDWARE AS AN OFFSET INTO THE ARRAY OF SDW'S WHEN REFERENCING A SEGMENT

THE ACT OF ASSIGNING A SEGMENT NUMBER TO A SEGMENT, THEREBY ADDING IT TO THE ADDRESS SPACE. SEGMENTS MUST BE MADE KNOWN BEFORE THEY CAN BE REFERENCED

Not To Be Reproduced ~-5 :80A

NAME SPACE:

NAME/ADDRESS SPACE TER~INOLOGY

THE SET OF ALL SEGMENTS FOR WHICH THE PROCESS HAS A REFERENCE NAME. THE REFERENCE NAME. MAY BE DIFFERENT THAN THE SEGMENTS ACTUAL NAME (ITS ENTRYNAME). SINCE SOME SEGMENTS IN THE ADDRESS SPACE HAVE NO REFERENCE NAME, THE NAME SPACE IS A PROPER SUBSET OF THE ADDRESS SPACE

Not To Be Reproduced 4-6 F8QA

NAME/ADDRESS SPACE CONCEPTS

z A MULTICS PROCESS IS A WELL DEFINED COLLECTION OF UNIQUE SEGMENTS, EACH WITH DEFINED ACCESS, OVER WHICH A SINGLE EXECUTION POINT IS FREE TO ROAM (I.E., FETCH INSTRUCTIONS AND MAKE DATA REFERENCES)

z' THE ADDRESS SPACE OF A PROCESS I S THE ABOVE "COLLECT! ON OF SEGMENTS". SUCH SEGMENTS ARE SAID TO BE KNOWN TO THE PROCESS

n ALL SUPERVISOR (RING 0) SEGMENTS ARE PLACED INTO THE ADDRESS SPACE AT PROCESS CREATION TIME. THIS ADDRESS SPACE IS SAID TO BE "CLONED" FROM THE INITIAL!ZER ADDRESS SPACE

THE RING ZERO ADDRESS SPACE IN ANY PROCESS IS THE SAME AS THE INITIALIZER'S RING ZERO ADDRESS SPACE, EXCE?T FOR THE DSEG, KST, PDS, PRDS, AND STACK_D,

THE RING ZERO ADDRESS SPACE HAS NO RNT, BECAUSE IT IS SET UP

~UR1NG SYSJEM~ INITJALIZA!IO~, AND DOES NOT CHANGE

~ -N \ \J ~(? J-. J <' , '\ l7\ () 'I h.. p, M, L \ \ " k' , .f\C; 6 n \.

i

OTHER SEGMENTS ARE MADE KNOWN AND, UNKNOWN DURING THE L:F2 OF TEE PROCESS

IMPLICITLY BY THE DYNAMIC LINKER (LINKAGE FAULT) OR A SYSTEM COMMAND

tester

EXPLICITLY BY COMMANDS OR SUBROUTINES THAT MANAGE THE ADDRESS SPACE

Not To Be Reproduced 4-7 280;"

NAME/ADDRESS SPACE CONCEPTS

MAKING A SEGMENT KNOWN IS SIMILAR TO DECLARING A VARIABLE IN A PL/I PROGRAM. IT SIGNIFIES INTENT, BUT NOT USAGE

{'e:;[1fve~

..3! 6T ,r)

KS)

THE' PRESENCE OF ONE OR MORE PAGES OF A SEGMENT IN M.~IN MEMORY

IMPLIES THAT THE SEGMENT IS KNOWN TO (AND IS BEING USED BY) AT LEAST ONE USER

BEING KNOWN DOES NOT IMPLY PRESENCE IN MAIN MEMORY

~ NOTE THAT' THIS" SET OF SEGMENTS, THE EXECUTION. POINT, ,AND THE

"REGISTERS AND INDICATORS OF THE PROCESSOR, UNIQUELY DEFINES THE STATE OF THE PROCESS

Not To Be Reproduced 4-8 FSDh

NAME/ADDRESS SPACE CONCEPTS