home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / sys / next / sysadmin / 7038 < prev    next >
Encoding:
Internet Message Format  |  1992-12-13  |  2.9 KB

  1. Path: sparky!uunet!noc.near.net!hri.com!spool.mu.edu!uwm.edu!ogicse!das-news.harvard.edu!cantaloupe.srv.cs.cmu.edu!sqhilton.pc.cs.cmu.edu!beatty
  2. From: beatty@sqhilton.pc.cs.cmu.edu (Derek Beatty)
  3. Newsgroups: comp.sys.next.sysadmin
  4. Subject: Mach vs. BSD (was  PGP v2.1 and NeXT)
  5. Message-ID: <Bz7y5y.E79.2@cs.cmu.edu>
  6. Date: 13 Dec 92 22:22:33 GMT
  7. References: <WARLORD.92Dec12021232@deathtongue.mit.edu>
  8. Sender: news@cs.cmu.edu (Usenet News System)
  9. Reply-To: beatty+@cs.cmu.edu
  10. Organization: School of Computer Science, Carnegie Mellon
  11. Lines: 40
  12. Originator: beatty@sqhilton.pc.cs.cmu.edu
  13. Nntp-Posting-Host: sqhilton.pc.cs.cmu.edu
  14.  
  15. In article <WARLORD.92Dec12021232@deathtongue.mit.edu>  writes:
  16. > First of all, the NeXT is neither Mach nor BSD!  It is a BSD-ish UNIX
  17. > signal server on top of Mach. 
  18.  
  19. This isn't precisely correct in all detail.  The NeXT runs Mach, but not  
  20. Mach 3.0.  I think NeXT started from Mach 2.0 and picked up most of the  
  21. CMU changes through 2.5 or so, except for external pagers.
  22.  
  23. I don't know what a "signal server" on top of Mach might be.  Perhaps  
  24. "single server" was intended?  This is a Mach 3.0-ism and refers to an  
  25. emulation architecture where Unix system calls are implemented in a single  
  26. Mach task that's in some ways a Unix kernel moved into user address space.   
  27. The other possibility is "multiple server" where you'd have one mach task  
  28. to handle filesystems, perhaps another to handle tty's, others providing  
  29. the networking calls, etc.  The distinction is moot here, though, because  
  30. on the NeXT the BSD-isms are implemented in the kernel, and not in a  
  31. process or processes running in user mode.  (And they're probably not  
  32. BSD-ish, but real BSD.  I'd bet that if you had the kernel sources, they'd  
  33. have the UC Regents' copyrights at the top.)  One of the goals of Mach  
  34. development at CMU has been to keep compatibility with BSD binaries.  As a  
  35. user, I'd say they've had great success!, probably due to the fact that  
  36. the BSD calls are implemented with BSD code.
  37.  
  38. Practically all of the trouble I've ever had porting code to the NeXT has  
  39. been with header files.  Except for the "absence" of sbrk().  It's  
  40. actually there, at least in 2.1, though you have to understand what it  
  41. really means in the Mach memory model.  (Basically, it means that sbrk()  
  42. can fail long before the heap hits the stack.)  However, I could be  
  43. biased, since I've been porting and developing code under Mach for 6  
  44. years.  (I usually want my code to be portable, so I just pretend it's  
  45. BSD.)
  46.  
  47. The version numbering of NeXTstep (e.g., 2.1, 3.0) has nothing to do with  
  48. the version numbering of Mach.  Version 3.0 of the NeXT software is not  
  49. version 3.0 of Mach.  This seems to be a constant source of confusion.
  50.  
  51.  -- Derek Beatty
  52. (not, and never, a member of the Mach project, but a satisfied user)
  53. -- 
  54. Derek_Beatty@cmu.edu   ABD   Comp Sci, CMU, 5000 Forbes, Pgh, PA 15213 USA
  55.