[geeks] Google announces Google Chrome OS

Michael Parson mparson at bl.org
Thu Jul 9 08:51:30 CDT 2009


On Wed, 8 Jul 2009, der Mouse wrote:

<attribution got lost, but I wrote the >> bits>

>> I don't understand this argument against MacOS X being UNIX.  It is,
>> it's been certified as such by those that do that sort of thing.
>
> Right.  And that's about all there is to say about it being UNIX, that
> is, the trademark.
>
> As for it being Unix, that is, the generic core that the various OSes
> derived from V7 have more or less in common?  UNIX bears comparatively
> little relation to that, being, as far as I can tell, mostly about
> POSIX interfaces, which I understand even Windows has these days.
> (Note that that understanding may well be wrong; I've never looked at
> exactly what hoops must be jumped through to get the UNIX stamp.)
>
> It is and it isn't.  The surface layer is a pretty good Unix, as such
> things go at that layer, and that's mostly what you outline in the
> remaining three or four paragraphs of your mail.  But, as you scratch
> below that layer, it begins to look less like Unix, and the deeper
> you scratch, the more non-Unixy things look.  For example, if you
> boot single-user, network interfaces don't even _exist_ as far as the
> Unix emulation layer (eg, ifconfig) is concerned - you have to know
> it really is a message-passing microkernel under the hood to grok why
> it's necessary to start some idiosyncratic daemon in order to make the
> machine's network interface appear.  I once spent most of an afternoon
> trying to get a Tiger system into a state where networking worked and
> the root filesystem was still read-only.  I'm told this is possible
> but how it's done varies wildly from release to release of OS X - this
> is a good example where scratching below the surface in a sysadmin
> direction turns up something very non-Unix.

I think most of this is due to the underlying Darwin kernel being a
Microkernel rather than the more traditional monolithic model most of
the other Unix-ish systems out there have deployed with.  The arguments
between those two models have been done to death, anyone wanting to
see some, go search the usenet archives for the debates between Andrew
Tanenbaum and Linus Torvalds on the subject back in the early/mid 90s.

I've not run any other microkernel systems to know if they differ, but
it just seems that Darwin's single-user mode was a bit more restrictive
than you were expecting.  The lack of network interfaces means that this
layer hadn't been applied yet.  The lack of documentation on how to do
this is hardly the OS's fault, nor is it an indication of how unixy
the OS is, rather, it's a failure on the vendor to provide sufficient
documentation on how to navigate their OS.  I'd have the same problem
on a Linux box if the kernel were compiled with all the drivers as
modules and there had been a problem with the modprobe step during the
bootstrap.  We might have the filesystem loaded, but w/o the driver
module for the NIC loaded, ifconfig would probably be empty, might still
have the loopback adaptor, unsure.

I don't have a Tiger system to play with any more, the Mac systems I
have access to have all been upgraded to Leopard.  However, a brief bit
of googling, and a browse through my O'Reily "Mac OS X Tiger for Unix
Geeks" book seems to indicate that your problems are around something
I covered in the previous message, namely that Darwin/OS X use launchd
to start system services, rather than the init/rc type system of the
traditional Unix.

My knee-jerk response to things like this tend to be negative too.  I
didn't like going from the BSD style rc system on my SunOS 4.1.3 systems
to the new-fangled SysV init scripts in Solaris 2.  Now Solaris (2.)10
is moving to this even newer-fangled service manager daemon.  I want
my plain-text, manageable with vi, ln, and rm scripts back!  However, I
guess I can see the value in the daemons being run under a super server
that can monitor them and restart them, etc.  It's the next logical step
beyond what we were doing with inetd, and DJB started some people down
that path with daemontools, even if he did it with his own flair and
style.  It seems that launchd is just another variation on that theme.

>> What part of your understanding of 'UNIX' is missing from OS X?
>
> None, since you are, again, using the trademarked term, and my
> understanding of that is "it's got the stamp of approval from the
> trademark holder".
>
> If you'd asked about Unix, instead, my answer would be, approximately,
> "the parts below the surface": the deeper below the surface I've
> looked, the less Unixy things have looked.

Fair enough.  I don't presume to know all of your experience, but as
I've read your posts over the years on the various lists we're both
members of, it seems you do have a fair amount of experience, deeper
than mine, for sure.  What is your experience with other microkernel
operating systems?  Have you played with either Minix or NeXTStep?  How
do they compare at the deeper levels that your complaints about OS X
seem to originate?  I'm not attempting to flame, just genuinely curious.
I've not used either OS, so, I really don't have a place to comment
from.

-- 
Michael Parson
mparson at bl.org



More information about the geeks mailing list