🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.next.sysadmin
Article #2089

Mach vs. BSD (was PGP v2.1 and NeXT)

#2089
From: Derek Beatty
Date: Sun, 13 Dec 1992 22:22
40 lines
2979 bytes
In article <WARLORD.92Dec12021232@deathtongue.mit.edu>  writes:
> First of all, the NeXT is neither Mach nor BSD!  It is a BSD-ish UNIX
> signal server on top of Mach. 

This isn't precisely correct in all detail.  The NeXT runs Mach, but not  
Mach 3.0.  I think NeXT started from Mach 2.0 and picked up most of the  
CMU changes through 2.5 or so, except for external pagers.

I don't know what a "signal server" on top of Mach might be.  Perhaps  
"single server" was intended?  This is a Mach 3.0-ism and refers to an  
emulation architecture where Unix system calls are implemented in a single  
Mach task that's in some ways a Unix kernel moved into user address space.   
The other possibility is "multiple server" where you'd have one mach task  
to handle filesystems, perhaps another to handle tty's, others providing  
the networking calls, etc.  The distinction is moot here, though, because  
on the NeXT the BSD-isms are implemented in the kernel, and not in a  
process or processes running in user mode.  (And they're probably not  
BSD-ish, but real BSD.  I'd bet that if you had the kernel sources, they'd  
have the UC Regents' copyrights at the top.)  One of the goals of Mach  
development at CMU has been to keep compatibility with BSD binaries.  As a  
user, I'd say they've had great success!, probably due to the fact that  
the BSD calls are implemented with BSD code.

Practically all of the trouble I've ever had porting code to the NeXT has  
been with header files.  Except for the "absence" of sbrk().  It's  
actually there, at least in 2.1, though you have to understand what it  
really means in the Mach memory model.  (Basically, it means that sbrk()  
can fail long before the heap hits the stack.)  However, I could be  
biased, since I've been porting and developing code under Mach for 6  
years.  (I usually want my code to be portable, so I just pretend it's  
BSD.)

The version numbering of NeXTstep (e.g., 2.1, 3.0) has nothing to do with  
the version numbering of Mach.  Version 3.0 of the NeXT software is not  
version 3.0 of Mach.  This seems to be a constant source of confusion.

 -- Derek Beatty
(not, and never, a member of the Mach project, but a satisfied user)
-- 
Derek_Beatty@cmu.edu   ABD   Comp Sci, CMU, 5000 Forbes, Pgh, PA 15213 USA
Technical Details
Message-ID: <Bz7y5y.E79.2@cs.cmu.edu>
Path: arc1-ca.pugleaf.net!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
References: <WARLORD.92Dec12021232@deathtongue.mit.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!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
From: beatty@sqhilton.pc.cs.cmu.edu (Derek Beatty)
Newsgroups: comp.sys.next.sysadmin
Subject: Mach vs. BSD (was  PGP v2.1 and NeXT)
Message-ID: <Bz7y5y.E79.2@cs.cmu.edu>
Date: 13 Dec 92 22:22:33 GMT
References: <WARLORD.92Dec12021232@deathtongue.mit.edu>
Sender: news@cs.cmu.edu (Usenet News System)
Reply-To: beatty+@cs.cmu.edu
Organization: School of Computer Science, Carnegie Mellon
Lines: 40
Originator: beatty@sqhilton.pc.cs.cmu.edu
Nntp-Posting-Host: sqhilton.pc.cs.cmu.edu