Article View: comp.sys.next.sysadmin
Article #2089Mach vs. BSD (was PGP v2.1 and NeXT)
From: Derek Beatty
Date: Sun, 13 Dec 1992 22:22
Date: Sun, 13 Dec 1992 22:22
40 lines
2979 bytes
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!beattyReferences:
<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