BasicCedar.bootmesa
Copyright Ó 1984, 1985, 1986, 1987 by Xerox Corporation. All rights reserved.
Russ Atkinson (RRA) October 8, 1987 1:39:32 pm PDT
Willie-Sue, January 7, 1988 4:25:23 pm PST
Doug Wyatt, October 7, 1987 10:02:28 am PDT
Demers, January 7, 1988 5:58:34 pm PST
VERSION: 7.0.13;
UCODEDORADO: May 3, 1983 0000 GMT;
UCODEDANDELION: January 1, 1987 0000 GMT;
Swap in all BCD's, global frames, and code:
IN: BCD[ALL], CODE[ALL], GLOBALFRAME[ALL];
Initialization sequence for components other than MesaRuntime, Tentacles, and Heads:
CONTROL: VMImpl, DiskImpl, BasicLoadStatePackage, RealPackage, SafeStoragePackage, RopePackage, BootPackages, ProcessPropsImpl, FilePackage, LoadStateImpl, TerminalImpl, BasicTimeImpl, IOPackage, SimpleTerminalImpl, CommDriverPackage, XNSTransport, PupPackage, ArpaTransport, GrapevineUser, STPImpl, CrRPCRuntime, TimeImpl, XNSServerLocationImpl, XNSBasicTypes, XNSAuthentication, UserCredentialsImpl, XNSClearinghouse, RemoteFileImpl, FSImpl, STPRemoteFilePackage, ThisMachineImpl, SunPackage, TerminalCoordination, SystemNamesImpl, FileStreamPackage, IdleImpl, Iago, RollbackImpl, RuntimeLoader, LoaderDriverImpl;
Process Data Area:
PROCESSES: 300;
RRA changed this from 200 on June 23, 1986 in response to process exhaustion on an Alpine server when everyone came back from lunch and tried to read their mail. The new PupStream stuff is greedy about processes.
RRA changed this from 150 on January 16, 1985 to be conservative. The cost is small.
State Vectors:
Priority levels 5 and 7 are reserved for the Nucleus. Priority 0 is reserved for the idle process. If you add a (faultable) process at that level, you must also add a state vector for it. Note that a state vector is needed for every process that is running, pre-empted, or faulting (page, frame, ...). Processes waiting for conditions or monitor locks do not need state vectors. RRA pushed up these numbers on May 2, 1986 to be conservative.
STATEVECTORSIZE: 20;
STATEVECTORCOUNT: 0, 2; -- IdleProcess.
STATEVECTORCOUNT: 1, 20; -- Background.
STATEVECTORCOUNT: 2, 32; -- Normal.
STATEVECTORCOUNT: 3, 20; -- Foreground.
STATEVECTORCOUNT: 4, 12; -- Client3.
STATEVECTORCOUNT: 5, 4; -- FaultHandlers
STATEVECTORCOUNT: 6, 8; -- RealTime
STATEVECTORCOUNT: 7, 4; -- SwatWatcher
Frame Heap:
FRAMEPAGES: 36; -- RRA: you will be sorry if you don't make this large enough
FRAMEWEIGHT: 0, 12;
FRAMEWEIGHT: 1, 16;
FRAMEWEIGHT: 2, 12;
FRAMEWEIGHT: 3, 12;
FRAMEWEIGHT: 4, 9;
FRAMEWEIGHT: 5, 8;
FRAMEWEIGHT: 6, 6;
FRAMEWEIGHT: 7, 5;
FRAMEWEIGHT: 8, 5;
FRAMEWEIGHT: 9, 5;
FRAMEWEIGHT: 10, 4;
FRAMEWEIGHT: 11, 3;
FRAMEWEIGHT: 12, 1;
FRAMEWEIGHT: 13, 1;
FRAMEWEIGHT: 14, 1;
FRAMEWEIGHT: 15, 1;
FRAMEWEIGHT: 16, 1;
FRAMEWEIGHT: 17, 1;
FRAMEWEIGHT: 18, 1;
FRAMEWEIGHT: 19, 0;
FRAMEWEIGHT: 20, 0;
FRAMEWEIGHT: 21, 0;
FRAMEWEIGHT: 22, 0;
FRAMEWEIGHT: 23, 0;
FRAMEWEIGHT: 24, 0;
FRAMEWEIGHT: 25, 0;
FRAMEWEIGHT: 26, 0;
FRAMEWEIGHT: 27, 0;
FRAMEWEIGHT: 28, 0;
FRAMEWEIGHT: 29, 0; -- "29" = PrincOps.LastAVSlot.
GFT: 1024;
MDSBASE: 1000B;
CODEBASE: 1400B;