[comp.unix.wizards] Kernels

bzs@bu-cs.bu.EDU (Barry Shein) (06/21/87)

Re: What's a kernel

Well, it depends. I can't remember who said it but I remember a
definition of an operating system as being a method of assigning new,
possibly more useful, names for objects within a hardware system.

Thus disk addresses become files, interrupts become signals etc. as
services are indirectly requested through an operating system's kernel.

It is the software which provides names and other abstractions for
the hardware objects which comprise the total system.

Another definition, which might be more conventional, is that software
which is (plus or minus hackery) only enterable via a highly
structured trap service routine (indirect vs direct call) is the
kernel proper for systems which employ monolithic monitors.

Most O/S's provide this (IBM OS's SVC, CMS's DIAGNOSE, Unix's TRAP or
similar mechanism [was it IOT on the PDP-11?], RT11's EMT, TOPS-20
JSYS, etc etc.)

Some muddy it by mapping pieces of the kernel code into the user space
(VMS's RMS) but that also muddies the question of whether this code is
really part of the kernel, or just a form of shared library
(application) code.

See, for example, Deitel, H.M., "An Introduction to Operating
Systems", Addison-Wesley, 1983, pp. 65. for a discussion of Monolithic
Monitors (kernels) vs other approaches.

Remember, when answering questions about operating systems all statements
must begin with:

	"Well, it depends..."

Cheers.

	-Barry Shein, Boston University