home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / os / mach / 1746 next >
Encoding:
Internet Message Format  |  1993-01-21  |  3.8 KB

  1. Path: sparky!uunet!pipex!warwick!uknet!gdt!aber!fronta.aber.ac.uk!pcg
  2. From: pcg@aber.ac.uk (Piercarlo Grandi)
  3. Newsgroups: comp.os.mach
  4. Subject: Re: Just what is Mach?
  5. Message-ID: <PCG.93Jan21153143@decb.aber.ac.uk>
  6. Date: 21 Jan 93 15:31:43 GMT
  7. References: <9301160144.AA23608@deepthought.cs.utexas.edu>
  8. Sender: news@aber.ac.uk (USENET news service)
  9. Reply-To: pcg@aber.ac.uk (Piercarlo Grandi)
  10. Organization: Prifysgol Cymru, Aberystwyth
  11. Lines: 72
  12. In-Reply-To: STDN%MARIST.bitnet@YaleVM.YCC.Yale.Edu's message of 16 Jan 93 01: 43:45 GMT
  13. Nntp-Posting-Host: decb.aber.ac.uk
  14.  
  15. On 16 Jan 93 01:43:45 GMT, STDN%MARIST.bitnet@YaleVM.YCC.Yale.Edu (Dan Newcombe) said:
  16.  
  17. STDN> Okay, so this may be a beginners question :) But I was reading an
  18. STDN> article in Byte last night and they mentioned mach here and there.
  19. STDN> I know that it's 700+ mph, and also the kernel being developed by
  20. STDN> CMU, but just what is it?
  21.  
  22. There are many ways to answer. I could say tongue in cheek that it is
  23. the direct result of the failure of Three Rivers Corp., or that it is
  24. what happens when you take Accent and travesty it as some kind of Unix
  25. to fob it on the masses. :-)
  26.  
  27. Technically Mach is an hypervisor, or a security kernel, or a
  28. microkernel. The Mach core is a smallish set of modules that provide,
  29. among other things, for:
  30.  
  31.     a capability based IPC mechanism
  32.     multiple incore address spaces
  33.     threads within address spaces
  34.     device drivers
  35.  
  36. By far and away the most important bit is the (double indirect)
  37. capability based IPC mechanism, which is lifted more or less identically
  38. from Accent, and that provides for ability of Mach to support
  39. transparent distributed services, user level pagers, and other niceties.
  40.  
  41. The Mach IPC is based on message queues, which cannot be addressed
  42. directly by programs; programs can only access them by quoting a port
  43. number, and ports are capabilities to queues. A given queue may be
  44. denoted by many ports with send rights, but only by one port with
  45. receive rights; only the processing that holds the port with receive
  46. rights may dequeue a message from the queue. Messages are structured,
  47. and each component has a type tag, so messages can be exchanged between
  48. different architectures without formality.
  49.  
  50. Part of a message may be port numbers; when the message is dequeued, the
  51. receiving process gets a copy of the port denoted by that number in the
  52. sender process.
  53.  
  54. In this way processes can exchange capabilities to services, by sending
  55. each other ports with send rights; since ports with receive rights can
  56. also be sent from one process to another, it is easy to implement laod
  57. balancing and proxies and many other neat things.
  58.  
  59. For example it is possible to instruct the hypervisor to send a message
  60. to a given queue via a given port on all attempts tot access a given
  61. range of address, and to wait for a reply containing data to be put in
  62. that range of addresses. Thus any process can do paging and other
  63. tricks ("memory objects").
  64.  
  65. Incidentally, these are very broad generalities, there have been several
  66. versions of Mach, which are quite different in implementation, and even
  67. somewhat different in external appearance.
  68.  
  69. A book on Mach internals is due out sonner or later, according to
  70. net.rumours.
  71.  
  72. STDN> I have heard the Gnu Hurd is based on it, there are versions for
  73. STDN> 386's.  Are these publically availiable?
  74.  
  75. Yes and no. At one time CMU withdrew the BSD single server source code
  76. (the supervisor that provides emulation of BSD Unix system calls while
  77. running under the Mach hypervisor), but it had already been distributed
  78. widely. If you are lucky you can find a copy. There have been rumours
  79. that instead of having a BSD server Hurd will have a Linux server, as
  80. USL have not (yet :->) sued Linus Torvald.
  81.  
  82. STDN> Could some kind soul please enlighten me.
  83.  
  84. Would somebody unkind and soulless do? If so, I can refer you to several
  85. net.personalities...
  86. --
  87.