UP
The "LG EXEC" loads Gnosis and kernel DDT.
The first argument to LG is the name of the TEXT deck
that is the result of assembling item space {(assemitem)}.
The following special names cause a pre-built kernel to be
used:
START: loads the item space for a big bank and a space
bank that thinks it has two big disks.
STARTM: is like START but the bank knows it only has minidisks.
RESTART: loads a void item space. This is appropriate for
resuming after a checkpoint.
The LG exec sets your storage to 4M. To circumvent
this you may do the LG first (to give you all of the magic
features such as "SET ECMODE ON") and then set your machine
size and then do "LOADMOD <kernel>" then "START".
LG will get temp disks for the Gnosis disks or use any disks
it finds at 130, 131, and 132. See (p3,initdisks).
When LG is done kernel DDT has control and can execute
;t commands. The kernel is started. "init;g" causes a big
bang and "restart;g" causes a restart. Thereafter the CMS
of your virtual machine has been ruined, to be restored
only by IPL.
Gnosis is started by "INIT;G". If you get something like
"P[6] LINKITEM+012d" try "1r]
;c50;". This may give
you something like "RDBUF DDTCD MODULE ..." which means
that that the file "DDTCD MODULE" is missing.
Alternate modes for the kernel.
There are several special modes of running the kernel.
Arrangements for running in these modes are made by putting
a breakpoint at IDLE before "init;g" and then doing some
;g command to invoke the special code that sets up for the
special mode. These special startup routines go to IDLE
when they are done, thus more than one special mode can
be in effect at once.
See (kernel-logic,per)
about using the PER hardware facility while running the
kernel.
A special mode is provided to make clock comparator interrupts
act more nearly reproducibly.
Control register 0 is adjusted to disable external interrupts
due to the clock comparator. The code of the kernel is
changed to do a clock comparison function at two points
in the kernel. These two points are just before a problem
mode PSW is loaded in (1) GATE (at the end of a jump or
after a CPUQUEUE member has been found) and (2) EXTERNAL,
after a process timer interrupt.
The clock comparison function referred to above checks the
odometer and usually (predictably) proceeds with the LPSW.
Occasionally, the TOD clock is explicitly compared with
the clock comparator and if necessary temporarily enables
comparator interrupts and waits for the designated time.
Then a comparator interrupt is simulated.
The clock comparison function referred to above is the following:
IF odometer MOD 2**n = 0 THEN WHILE tod < clock comparator
DO #temporarily enable the real clock comparator interrupt
and load a wait state PSW# OD; #Simulate a clock comparator
interrupt.# FI
"restart;g" at this point causes the system to
restart from a checkpoint.
See (kernel-logic,record)
for record and play-back modes.
Current Kernel Release Process
First use the WRGNOKER EXEC on the Gnosis tools disk
to transmit your (tested) changes to the kernel field test
disk.
Then issue an EXEC GDSKS RUNFT command to re-access the (just
updated) kernel disks.
The relevant TEXT decks can be produced by logging into Gnosis,
or, if you can produce them as Gnosis would, you can release
them along with the other changes as above.
If necessary, get disk space with "TEMPDISK CYLS 10".
Then do "KERNMODS (MODE D XREF".
This EXEC will define 4 Meg of storage if necessary.
If it does, repeat the command.
This produces the four kernel MODULE files.
It will take a long time. If you interrupt this process,
your virtual punch may be changed.
Again use WRGNOKER to transmit the four files * MODULE
D to the kernel field test disk.
I also RENAME LOAD MAP A REALKERN MAP A and transmit
it also.
The next step is to transmit the appropriate kernel
(REALKERN MODULE) to the running Gnosis system(s) where
it can be IPL'd.
If the system has a transfer disk available:
Do "LINK GNOSIS2 134 134 M" and be prepared to enter
the write password to that disk.
Do "GSEND REALKERN MODULE A".
Remember the return code, printed in decimal by CMS.
Login to GNOSIS2 and:
Do "READY 134".
Do "DISC".
Login to SYSTOOL, go to branch a and:
If the system does not have a transfer disk (or
you choose not to use it), but does have a Tymnet base:
Log on to userid GNOSIS on the system.
Get KERNGET.CMDFILE and KERNLOAD.CMDFILE, if they do not
already exist, by:
Then CMDFILE KERNGET.CMDFILE and if that succeeds,
CMDFILE KERNLOAD.CMDFILE .
Then the system can be IPL'd if desired.
First notify the operator of your intentions by means
of something like:
KEYCALL SYS.CONSOLE 0 (%EI am going to restart Gnosis
now.)
If you loaded the kernel by KERNLOAD.CMDFILE, just
KEYCALL CKERN 1. Otherwise:
Do a checkpoint operation (where ever convenient). (The
installation procedure above ends with one, so if you haven't
waited long you can omit this step.)
Login to GNOSIS2.
{GNOSIS2 is a virtual machine with 3 meg of V=R storage.}
Do "IPL 130".
Stop the virtual machine and do:
Hope that the code that you installed is better than
the old code.