THE MULTICS FILE SYSTEM
D- PROCESS DATA SEGMENT (PDS) ELIGIBLE)
ONE PER PROCESS (WIRED-WHEN_
-."-".---'
-CONTAINS PROCESS RELEVANT INFO SUCH AS PROCESS ID, USER ID, HOME/WORKING/PROCESS DIRECTORIES, AIM CLASSIFICATION, INITIAL
RING, ETC .
D CONTAINS ALL INFORMATION ABOUT ·.rn~ PROCESS NEEDED BY THE
SUPERVISOR CODE WHEN THE PROCESS IS RUNNING
CONTAINS SAVE AREAS FOR CONTEXT INFORMATION. ABOUT FAULTS WrlICH CAN RESULT IN GIVING UP THE PROCESSOR: PAGE FAULTS, SEGMENT FAULTS, AND ALL FAULTS NOT HANDLED BY THE SUPERVISOR
PROCESSOR DATA SEGMENT (PRDS) - ONE PER CONFIGURED CPU (WIRED) SERVES AS RING-ZERO STACK FOR PAGE CONTROL AND TRAFFIC CONTROL
n ALSO CONrAINS SAVE AREAS FOR CONTEXT INFORMATION ABOUT FAULTS WHICH USUALLY DO NOT MEAN GIVIN.G UP THE PROCESSOR: CONNECT FAULTS AND INTERRUPTS.
Not To Be Reproduced 2-28 FaQA
FAULT AND INTERRUPT HANDLING
FIM TABLE
~rr-.i'\ O~
'r-'.lY'V'\ V\ k ('e 0\\ "(A~\ ~.
D A TABLE IN THE FIM PROGRAM WHICH DESCRIBES THE ACTION TO BE TAKEN FOR VARIOUS TYPES OF FAULTS
a.,
Pt t
( 001.
LJ
Not To
Be
Reproduced 2-29 F8GASYSTEM, INITIALIZATION SVre0
V
1SO( L,n'<:>!lfjff'h!::>
~ FUNCTION
1 S ~}-fl\(, t )
nC) T
f)-{hA'f'--:('\e'. JOl\e o-.~C(~&
Dr '\
lVv-e.~
·~~
a cdoe
> Y1"J,/'n""" ~ \:" k,,~.
PREPARE THE-SYSTEM TO OPERATE, . STARTING FROM A COMPLETELY EMPTY MACHINE
READS IN SUPERVISOR PROGRAMS FROM SYSTEM TAPE, SNAPS LINKS BETWEEN SUPERVISOR COMPONENTS, VERIFIES AND INITIALIZES HARDWARE CONFIGURATION, SETS UP SYSTEM DATABASES, ACCEPTS STORAGE SYSTEM DISKS AND PREPARES THEM FOR USE BY THE FILE SYSTEM
-n --MOST -PROGRAMS I N SYSTEM INITIALIZATION IS COMPLETE.
INITIALIZATION ARE
0(' I y' 'E>~T SP c -,\~'"
DELETED AFTER l,.s IC'~ (1'.
SUPERVISOR PROGRAMS ARE LOADED IN THREE "COLLECTIONS", EACH OF WHICH DEPENDS ON THE MECHANISMS SET UP BY THE PREVIOUS ONE
~ V~JOR DATA BASES
THESE DATA BASES ARE ALL BUILT DURING THE PROCESS OF INITIALIZATION (EXCEPT FOR THE CONFIG DECK) AND KEPT AFTER
I NI TI ALI ZATI ON IS FI NI SHED f (9 r ~ <: ~v~~ ''''~
SEGMENT LOADING TABLE (>sll>slt)
~
CONTAINS AN ENTRY DESCRIBING THE ATTRIBUTES OF EACH SEGMENT 'IN THE SUPERVISOR
Not To Be Reproduced .2-30 FBQA
D
n
SYSTEM INITIALIZATION
. \ 0 f
~~\\J")~'.n~
NAME TABLE (>sll>name table)
- ()
.jIY'-B~~s
<t '~£J ~
o CONTAINS A LIST OF NAMES FOR EACH OF SUPERVISOR
\ ·f,
b
O()f\-~--""-"\~( [~r<'O ("~ ~f ~e'v\JC1)~-\V\") DEFINITIONS SEGMENT (>sll>definitions_)
THE SEGMENTS IN THE
o CONTAINS THE DEFINITIONS SECTIONS FOR ALL THE -SEGMENTS IN THE SUPERVISOR, WHICH ARE USED IN ORDER TO SNAP LINKS BETWEEN THE SUPERVISOR MODULES
o CONFIG DECK (>sll·>conf i9_deck)
CONTAINS A DESCRIPTION OF THE HARDWARE CONFIGuRATION AND CERTAIN SOFTWARE PARAMETERS
o PROVIDED TO SYSTEM INITIALIZATION BY BOS
z SHUTDO~ -- TERMINATES THE ACTIVITIES OF THE SYSTEM IN AN ORDERLY FASHION
TWO TYPES OF SHUTDOWN:
NORMAL REQUESTED BY THE INITIALIZER, RUNS IN THE USUAL SUPERVISOR ENVIRONMENT
n EMERGENCY -- OSED AFTER A CRASH, MUST MAKE THE SUPERVISOR ENVIRONMENT OPERABLE BEFORE PROCEEDING
Not To 3e Reproduced 2-31 F80A
SYSTEM INITIALIZATION
BOTH TYPES EXIST PRIMARILY TO SHUT DOWN THE FILE SYSTEM -- THAT IS, TO WRITE ALL DATA IN ~~MORY INTO ITS PROPER HOME ON DISK
n INCLUDES PAGES OF SEGMENTS, VTOCES, VOLUME AND VTOC MAPS
n SHUTDOWN ESSENTIALLY RUNS THE STEPS OF INITIALIZATION BACKWARDS, BUT WITH A LOT OF SHORTCUTS
Not To Be Reproduced 2-32 F80A
FILE SYSTEM SALVAGERS
§D FUNCTION
n ENSURE THE CONSISTENCY OF THE FILE SYSTEM DATABASES AND PERFORM PERIODIC PREVENTIVE MAINTENANCE OPERATIONS
THERE ARE SEVERAL SALVAGERS, EACH WITH A DIFFERENT FUNCTION
o BECAUSE OF THE COMPLICATED INTERACTIONS THEY HAVE WITH THE REST OF THE FILE SYSTEM, THE SALVAGERS ARE PERHAPS THE MOST COMPLICATED SINGLE PROGRAMS IN THE SUPERVISOR
n SOME SALVAGING IS DONE AUTOMATICALLY, WHEN THE SYSTSM DETECTS AN
INCONSISTENCY. OTHER SALVAGE OPERATIONS ARE EXPLICITLY REQUESTED, BY PRIVILEGED USERS.
o EXCEPT FOR SUPERVISOR BUGS, THE ONLY TIME DAMAGE OCCURS THAT REQUIRES SALVAGING TO FIX IS AFTER A CRASH WHERE EMERGENCY SHUTDOWN FAILS
~ THE SALVAGERS:
DIRECTORY SALVAGER
CORRECTS INCONSISTENCIES IN DIRECTORY SEGMENTS BY REBUILDING THEM
THIS IS THE ONLY SALVAGER INVOKED AUTOMATICALLY IN USER·
PROCESSES: ANY ATTEMPT TO LEAVE RING ZER0 WITH A DIRECTORY LOCKED FOR WRITING WILL CAUSE IT TO BE SALVAGED
Not To 3e Reproduced 2-33 F80A
FILE SYSTEM SALVAGERS
DIRECTORY SALVAGING ALSO RECLAIMS WASTED SPACE IN THE DIRECTORY, AND IS RUN PERIODICALLY TO COMPACT DIRECTORIES
QUOTA SALVAGER
CORRECTS INCONSISTENCIES IN THE QUOTA SYSTEM
PHYSICAL VOLUME SCAVENGER
f I.ye>.
V6IvpV\~ f"lCx(1l
\!'\OC~MltP f I~p~ vP fe ( or}.S
{\'la '(fC~d
c 5b<J.n ~ v>fd.
n RECONSTRUCTS RECORD AND, VTOCE STOCK INFORMATION .FROM THE VTOCES ON A VOLUMEy THEREBY RECLAIMING ANY RECORDS OR VTOCES WHICH MIGHT HAVE BEEN 'LOST
RUNS ENTIRELY ONLINE WHILE THE SYSTEM IS UP FOR USERS (NEW IN MR10.1)
THIS TYPE OF DAMAGE IS USUALLY BENIGN, SO RUNNING THE SCAVENGER CAN BE DELAYED.
'PHYSICAL VOLUME SALVAGER
n RECONSTRUCTS RECORD AND VTOCE STOCK INFORMATION
RUNS ONLY DURING INITIALIZATION, AND THEREFORE DELAYS CRASH RECOVERY
n NOW USED ONLY FOR RARE CASES WHERE THERE IS NOT ENOUGH FREE SPACE LEFT FOR THE SCAVENGER TO RUN. IN THESE RARE CASES, Tm IS INVOKED AUTOMATICALLY BY SYSTEM INITIALIZATION.
SWEEP PV
Not To Be Reproduced 2-34 • F8QA
FILE SYSTEM SALVAGERS
n DELETES UNUSED VTOC ENTRIES WHICH HAVE ·NO DIRECTORY ENTRY POINTING TO THEM
RUNS ENTIRELY IN USER RING, EXCEPT FOR ACTUALLY READING VTOC ENTRIES AND DIRECTORY ENTRIES
PURELY A HOUSEKEEPING FUNCTION, AND RUN ONLY RARELY.
Not To Be Reproduced 2-35 F8CA
METERING & TUNING
~ WHILE NOT A SUBSYSTEM ITSELF, METERING AND TUNING IS A POLICY AND CAPABILITY COMMON TO ALL OF THE SUPERVISOR'S SUBSYSTEMS
~ FUNCTION
METERING (CONSISTS OF THREE ACTIVITIES) ACCUMULATING DATA: THIS
SUPERVISOR BY CODE WHICH
IS PERFORMED THROUGHOUT THE
D RECORDS THE NUMBER OF TIMES AN EVENT HAPPENS- OR A PARTICULAR PIECE OF CODE IS EXECUTED; AND/OR
RECORDS THE TIME REQUIRED TO PERFORM A TASK
SUCH· DATA I S STORED IN AREAS REFERRED TO AS "~.ETERING
CELLS"
. n EXTRACTING DATA: THIS IS PERFORMED BY NUMEROUS METERING COMMANDS WHICH (WHEN INVOKED)
READ AND STORE THE CURRENT VALUES OF RELEVANT METERING CELLS
REPORTING THE DATA: THIS IS PERFORMED BY THE METER COMMANDS WHICH (WHEN INVOKED)
COMPARE CURRENT METERING CELL VALUES WITH ?REVIOUSLY READ VALUES
PERFORM THE APPROPRIATE ARITHMETIC COMPUTATIONS UPON THE DATA IN ORDER .TO ARRIVE AT THE DESIRED STATISTIC
ARRANGE THE DATA IN A USEFUL FORMAT (A REPORT OR DIAGRAM) AND PRINT IT
Not To Be Reproduced 2-36 F8QA
METERING & TUNING
TUNING
n CHANGING THE SYSTEM'S OPERATING PARAMETERS AND/OR CONFIGURATION BASED UPON THE DATA AND INSIGHTS FROM THE SYSTEM'S METERS
z MAJOR.DATA ,BASES
D SST HEADER, TC DATA HEADERf ~TCe
Not To 3e Reproduced 2-3i ?80A
INITIALIZER.SYSDAEMON
~ FUNCTION
THE SYSTEM'S INITIALIZATION! ADMINISTRATIVE AND CONTROL PROCESS (Initializer.SysDaemon.z), aESPONSIBLE FOR:
INITIALIZING THE OPERATING SYSTEM AT BOOTLOAD, FOLLOWING SUCCESSFUL INITIALIZATION OF THE SUPERVISOR
n ANSWERING SERVICE (login' and logout) n PROCESS CREATION AND DESTRUCTION
MESSAGE COORDINATOR (DAEMON C90RDINATION) SYSTEM ADMINISTRATION.FUNCTIONS
n SYSTEM ACCOUNTING FUNCTIONS
~ MAJOR DATA BASES, ALL KEPT'IN >scl
ANSWER TABLE
ABSENTEE USER TABLE
n DAEMON USER TABLE
-
-Not To Be Reproduced 2-38 F8QA
INITIALIZER.SYSDAEMON
n MASTER GROUP TABLE (MGT)
o CHANNEL DEFINITION TABLE (CDT)
SYSTEM ADMINISTRATION TABLE (SAT)
PERSON NAME TABLE (PNT)
D PROJECT DEFINITION TABLES (PDT'S)
Not To Be Rep:oduced 2-39 ?80A
(Ene Of Topic)
TOPIC III
The Multics Environment
What is a Proce~s • • • • Cooperating Processes • .
The PL/I Operators • • • • • • Interfaces to System Modules Deadlock Prevention • • •
Types of Locks e _ • • e • • e e e
3-i
Page
• 3-1
· 3-4 3-7 .• 3-9
• 3-10 3-15
FSQA.
~ ~ ~ PROCESS
~ A MOLTICS PROCESS IS A WELL DEFINED COLLECTION OF SEGMENTS, EACH WITH DEFINED ACCESS, OVER WHICH A SINGLE EXECUTION POINT IS FREE TO ROAM (I.E., FETCH INSTRUCTIONS AND MAKE DATA REFERENCES)
~ THE ADDRESS SPACE OF A PROCESS IS THE ABOVE "COLLEC~ION OF SEGMENTS". SUCH SEGMENTS ARE SAID TO BE KNOWN TO THE PROCESS
~ EVERY LOGGED IN USER HAS A PROCESS
~ VERY IMPORTANT CONCEPT: THE MOtTICS SUPERVISOR RUNS IN THE USER'S PROCESS (IE: IN THE USER'S ADDRES·S SPACE), BUT IN A DIFFERENT RING
~ A PROCESS TAKES ON THE IDENTITY OF THE SOFTWARE IT IS EXECUTING WHERE EVER IT GOES
WHEN A USER WISHES TO CREATE A SEGMENT, IT IS THE USER'S PROCESS wnICH EXECUTES THE SUPERVISOR CODE hcs_sappend, CREATING TEE SEGMENT
~ A PROCESS CAN BE VIEWED AS A CONTINUAL FLOW OF EXECUTION FLUCTUATING BETWEEN DIFFERENT RINGS: PRIMARILY RING FOUR AND RING ZERO
Not To 3e Reproduced 3-1 F8GA
7 6 5 4 3 2
c::J 1
Z
0 : 0
....
WHAT IS A PROCESS