home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!darwin.sura.net!spool.mu.edu!agate!darkstar.UCSC.EDU!osr
- From: tage@cs.utwente.nl (Tage Stabell-kuloe)
- Newsgroups: comp.os.research
- Subject: Re: On debugging (was Re: Microkernel for Real-Time Computing)
- Date: 14 Dec 1992 21:39:13 GMT
- Organization: University of Twente, Dept. of Computer Science
- Lines: 45
- Approved: comp-os-research@ftp.cse.ucsc.edu
- Message-ID: <1giuu1INNmp3@darkstar.UCSC.EDU>
- References: <1evb08INNpar@darkstar.UCSC.EDU> <1fgqaaINNntl@darkstar.UCSC.EDU> <1g35g7INNfvt@darkstar.UCSC.EDU>
- NNTP-Posting-Host: ftp.cse.ucsc.edu
- Originator: osr@ftp
-
- >> Please note that this is a software-engineering solution to a
- >> debugging problem, and the solution has nothing, in general, to
- >> do with operation systems as such.
-
- >Could you expand on this remark? Its meaning is not clear to me.
-
- The original thread was discussing kernel debugging and OS design. The
- message which I commented stated [quoted from "An Architectural Overview
- of QNX", by Dan Hildebrand, dan@quantum.on.ca]:
- "A fundamental problem with the maintenance of a monolithic kernel
- operating system is that all of the kernel code runs in a common,
- shared address space. The danger that one portion of the kernel
- might corrupt the data space of another is very real, and must
- be considered every time new drivers are linked into the kernel.
- The approach taken by QNX is to explicitly define the interface
- between the components that make up the OS, such that each resource
- manager, just like user processes, runs in its own memory-protected
- space, and all communication between the OS modules is through
- standard system IPC services. As a result, errors introduced by
- one resource manager will be constrained to that subsystem and will
- not corrupt other, unrelated resource managers in the system."
-
- The fundamental question is:
- Why are services moved out of the (monolithic) kernel ?
- The answer is usually (as in the quote above)
- To avoid errors _in the implementation_ to spread.
-
- Which (in this context) is a software-engineering solution to a
- debugging problem.
- There is no such thing as a free lunch. It is more expensive for one
- service in the kernel to [insert your favourite IPC mechanism here] in
- order to inform another part of some event, then just jumping to it.
- But note that the cost is measured in time, while in the above quote the
- cost is measured in "debugging".
-
- >yodaiken@chelm.cs.umass.edu
-
-
- --
- //// Tage Stabell-Kuloe |e-mail : tage@cs.utwente.nl ////
- /// Faculty of Computer Science / SPA |Phone : +31-53-894177 ///
- // University of Twente, P.O. Box 217 |#include <disclaimer.std> //
- / 7500 AE Enschede, The Nederlands |"'oe' in Kuloe is '\o{}' in TeX"/
-
-
-