[COFF] Terminology query - 'system process'?

Paul Winalski paul.winalski at gmail.com
Sun Dec 17 05:44:44 AEST 2023


IBM's OS/360 did not have the modern "process" concept using virtual
memory to implement a thread of control with its own, separate address
space. Instead they had the concept of threads of control associated
with contiguous segments of physical memory called "partitions".  You
had either a pre-defined set of partitions (OS MFT, multiprogramming
with a fixed number of tasks) or the OS allocated partitions
on-the-fly as needed for the current mix of jobs (OS/MVT,
multiprogramming with a variable number of tasks).  OS/VS1, OS/VS2
SVS, and DOS/VS for System/370 operated in the same way, except there
was a single virtual address space, usually much larger than physical
memory, that was partitioned up.  DOS/360 ran one job at a time.
DOS/VS had up to 5 partititions:  BG (background), and P1-P4.
Scheduling in DOS/VS was strictly preemptive, in the order P1, P2, P3,
P4, BG.  P1 got control whenever it was ready to run.  If P1 was
stalled, P2 was scheduled, then P3 through BG, which only got to run
whenever the higher-priority jobs were stalled.  The most
sophisticated (and resource-hogging) version of OS/VS was OS/VS MVS
(multiple virtual storages) which implemented the modern concept of
each partition (process) getting its own, separate 0-based address
space.

Some of these partitions might be allocated to privileged tasks, most
notably the spooling system such as HASP (Houston Automatic Spooling
Priorithy), which was developed by IBM contractors working at NASA's
Houston space facility in the mid-1960s.  HASP provided both spooling
and remote job entry services and ran at least partly in partition
(i.e., user process) context.  DOS/360 had a kernel (supervisor, in
IBM-speak) enhancement called POWER that provided spooling capability.
DOS/VS had POWER/VS, which ran in a separate partition (typically P1,
the highest priority).

VAX/VMS (and its successor OpenVMS) had a few privileged user-mode
processes to perform system tasks.  Two of these processes were OPCOM
(provides communication with the operator at the operator's console)
and JOB CONTROL (provides spooling and batch job services).  I think
OPCOM runs entirely in user mode.  JOB CONTROL may have some routines
that execute in kernel mode.  These system processes are similar to
daemons in Unix.

-Paul W.


More information about the COFF mailing list