[clug] [OT] With Coders like these, how far can Apple go?

Hal Ashburner hal at ashburner.info
Mon Jan 14 20:31:14 MST 2013

On 15 January 2013 13:41, steve jenkin <sjenkin at canb.auug.org.au> wrote:

> What left me gob-smacked was that the Apple programmers seem *scared* of
> kernel programming and wish to propagate that view.

I have a couple of friends employed by apple to hack on Darwin. Including
one of the authors of IOKIt and I can assure you this is not the case. I
doubt they have much to do with that document. Apple also released Darwin
code under a reasonable Free software license as pushed by the guys hacking
on it. The OS they have is still not as good as the one I prefer but I
think this move from Apple was the right thing(tm) to do... You /can/ hack
Darwin if you want to. Windows? Most other commercial Unix? Not so much.

I think it's pretty reasonable community advice to hack whatever-it-is in
user space if you can. Linux user level usb driver framework worked well
for me the once I used it for a toy driver.

Discouraging enthusiastic people from hacking kernel when they don't have
experience and guidance to know if that is really what they want to do to
solve their problem is a good idea. Andy Tannenbaum (& those of that
religious persuasion) try to design the whole OS like that. Memory manager
in user space! Back when OSX was NextStep they tried this too but found the
performance prohibitive (or so i'm told - can't be sure there weren't other
issues, microkernel based operating systems are *hard* ask RMS about GNU
and the guys who tried L4/Gnu) so now you have this giant wart of the Mach
microkernel running in the same address space as their Monolithic BSD based
thing that they call Darwin. It's ugly.

So this brings us to a slightly different topic, which OS would /you/ use
to hack on if you do want to hack kernel for fun and because you're the
kind of awesome person who just wants to get in there and do stuff?

You have the big, complex full-featured and hard to deal with when you're
starting kernels of Linux, Mach, {Free,Net,Open}BSD, OpenSolaris(?? - I
know nothing, nothing). Symbian source was released as well IIRC but I'm
told people are unlikely to be as thrilled about it as they'd have hoped.

Minix - Not sure what recent Minix is up to, is it more full featured and
difficult now or is it still a good teaching thing? an older Minix maybe?

OS161 - out of Harvard (this is used at UNSW and was written, in part, by
another friend of mine - just disclosing potential bias). MIPS R3000 based
on a simulator into which you can hook GDB. The memory manager, process
management, filesystem and some other key bits are not provided.

Lions Book - Steve did the course as taught by John Lions himself! I'm
pretty Jealous of that. Can you run the ancient unix on a simulator? SCO
released the code under a reasonable license before deciding to ruin their
business telling shocking lies to pump their stock price while the board of
directors and senior management all dumped their holdings (also boosted by
buying from the Gates foundation, iirc, which I found surprising and
disappointing). I wonder if you could port the ancient Unix to x86-64 which
is obviously the only cpu in meaningful existence, then run on qemu or
similar. That'd be a good project, I reckon.

Old Linux? Which version? 0.01 bootable on quemu?

What else do you have to choose from?

I do not believe that Linus could have hacked on Linux in a fundamentally
meaningful way as it is today when he started Linux 0.01 He and all those
who went on that ride learned a hell of a lot by doing it. Another system
*may* be better to hack on while you get as good as those guys.

IMHO writing your own OS is always, always, always a really, really, really
good option. I would like to be more emphatic about that so just add your
own adjectives to taste. ;-)

More information about the linux mailing list