Kernel Panic - History

History

The Unix kernel maintains internal consistency and runtime correctness with assertions as the fault detection mechanism. The basic assumption is that the hardware and the software should perform correctly and a failure of an assertion results in a panic, i.e. a voluntary halt to all system activity. The kernel panic was introduced in an early version of Unix and demonstrated a major difference between the design philosophies of Unix and its predecessor Multics. Multics developer Tom van Vleck recalls a discussion of this change with Unix developer Dennis Ritchie:

I remarked to Dennis that easily half the code I was writing in Multics was error recovery code. He said, "We left all that stuff out. If there's an error, we have this routine called panic, and when it is called, the machine crashes, and you holler down the hall, 'Hey, reboot it.'"

The original panic function was essentially unchanged from Fifth Edition UNIX to the VAX-based UNIX 32V and output only an error message with no other information, then dropped the system into an endless idle loop.

Source code of panic function in UNIX V6:

/* * In case console is off, * panicstr contains argument to last * call to panic. */ char *panicstr; /* * Panic is called on unresolvable * fatal errors. * It syncs, prints "panic: mesg" and * then loops. */ panic(s) char *s; { panicstr = s; update; printf("panic: %s\n", s); for(;;) idle; }

As the Unix codebase was enhanced, the panic function was also enhanced to dump various forms of debugging information to the console.

Read more about this topic:  Kernel Panic

Famous quotes containing the word history:

    Free from public debt, at peace with all the world, and with no complicated interests to consult in our intercourse with foreign powers, the present may be hailed as the epoch in our history the most favorable for the settlement of those principles in our domestic policy which shall be best calculated to give stability to our Republic and secure the blessings of freedom to our citizens.
    Andrew Jackson (1767–1845)

    History ... is, indeed, little more than the register of the crimes, follies, and misfortunes of mankind.
    But what experience and history teach is this—that peoples and governments have never learned anything from history, or acted on principles deduced from it.
    Georg Wilhelm Friedrich Hegel (1770–1831)

    The history of the world is none other than the progress of the consciousness of freedom.
    Georg Wilhelm Friedrich Hegel (1770–1831)