The lowest layer into which a large operating system is subdivided, each
layer dealing with some aspect of the system hardware. The kernel is
responsible for allocating hardware resources to the processes that make up the
operating system and to the programs running under the operating system. It is
the only part of an operating system that needs to be proved correct by rigorous
program verification: the principal approach to providing the degree of security
required in a computer system has been that of designing a secure kernel.
Nucleus is a near-synonym for kernel and lends to be used where the effects are
achieved by a mixture of normal programming and microcoding. The microprogram is
written in such a way as to complement the functions achieved by the normal
code, with a gain in running speed.