Date: Wed, 4 May 2005 19:56:55 -0400 From: Charles Swiger <cswiger@mac.com> To: Warner Losh <imp@bsdimp.com> Cc: freebsd-current@freebsd.org Subject: Re: boot banner project Message-ID: <ddbd692bcfcae94e8417a228a95fbcfc@mac.com> In-Reply-To: <20050504.163618.112621888.imp@bsdimp.com> References: <5207b55e44478fa93e3689ad79b54f4d@mac.com> <20050504.152439.71089989.imp@bsdimp.com> <ff3ef3b2621f16316effcf296f044d93@mac.com> <20050504.163618.112621888.imp@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On May 4, 2005, at 6:36 PM, Warner Losh wrote: >> NEXTSTEP never did; and neither does OS X: > > Nexstep is mach based, not BSD based. I've seen NEXTSTEP listed in some BSD family trees, and not in others. NEXTSTEP, or NeXTSTEP, or NextStep, (the all-caps is easiest, and makes publishers happier) was a BSD-4.3-reno userland, libc, and BSD system call layer as part of a Mach kernel, intermediate between the CMU Mach 2.0 and 2.5 releases, lightly salted with a few SysV-ism's from Sun (who also provided the code for RPC, NFS, and NIS). I still have a 33MHz NeXT TurboStation on my desk. It makes a very nice greyscale display for handling lots of Terminal windows logged into other machines for monitoring and remote CLI administration. NEXTSTEP is a BSD-based Unix. > OS X is FreeBSD based, so clearly they changed it :-) Since neither of us are nitpicking :-), be aware that OS X (aka "Rhapsody" at the time) was originally derived mostly from stock BSD-4.4lite and NetBSD by Wilfredo Sanchez, Justin, and others on Apple's BSD team-- NetBSD had better portability towards PPC, and a lower integration threshold, since the FreeBSD sources are more tightly integrated and somewhat more difficult to migrate. Other parts came from OpenBSD, and FreeBSD, and since then, OS X has tracked FreeBSD more closely. [1] Perhaps Jordan Hubbard has something to do with that, too. >> Likewise for the majority of UNIX systems I am familiar with (Solaris, >> Ultrix, HP/UX). In the case of Linux, or a few other systems, they >> would use a POSIX shell like bash or ksh instead, which are almost >> entirely backwards-compatible with /bin/sh. > > Ultrix/mips and Ultrix/VAX did have /bin/csh as their root shell, at > least in early versions that I used in the late 1980's. Solaris is > SYSV based with some BSD bits added to that base, so isn't of BSD > orgin. HP/UX likewise. I infer that POSIX compliance is not very important to you. > I'm not looking for a catalog of systems. I'm telling you why > we are where we are today, and why things haven't changed: There's > really no need and inertial keeps things BSDish. Most people never > use the root shell directly, and all shell scripts are /bin/sh > anyway... The fact that the /etc/rc scripts, cron, and similar tools involving root's environment are all run using /bin/sh is one of the primary reasons why root shell ought to be /bin/sh. There are newgroup FAQs for various platforms which recommend against changing root's shell from being a /bin/sh. -- -Chuck [1]: I'm quite familiar with this history, since at the time I had a Darwin commit bit because I submitted a security bugfix for a race dereferencing ../ in namei(), IIRC. And I did a little bit in libc-- fixed some printf problems with %g and buffer overflow checking with snprintf()-- and with lint and the Makefiles, handling includes and shared library versioning when building stuff to understand framework layout, but Darwin wasn't self-hosting at the time (at least not without wizard-level knowledge of how to integrate the pieces), so I've spent more time with FreeBSD and NetBSD since then.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ddbd692bcfcae94e8417a228a95fbcfc>