home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / os / research / 1135 next >
Encoding:
Internet Message Format  |  1992-12-14  |  2.8 KB

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