There's lots of good stuff for developers. I'm at work so I can't really take the time to look up all the links and titles.
The OS X kernel - "xnu"? - is a massive fork off of *BSD. The two main differences are that it links _statically_ to Mach, not so much for use as a microkernel, but to avail itself of such primitives as message passing and low-level memory management. For example system calls are generally implemented by a userspace wrapper library that passes Mach messages into the kernel, rather than calling a trap - a sort of "illegal instruction" that results in a processor exception that switches the CPU to supervisor mode. There is a very good book on Mac OS X Internals. I think that's the title but my memory is hazy. I used to own a copy but left it on my desk when I was fired from Microsoft, as a way of pointing out to my manager - who knew nothing _whatsoever_ about the Mac - that my take on the way we should develop our product was correct, and he was blowing smoke. http://developer.apple.com/ has lots of good tutorials. You'll just have to wade through all the corporate propaganda that's aimed at the hip, new generation of iGadget coders, but the stuff is all still there, like the "Hello I/O Kit" tutorial that explains how to write a simple device driver. The other main way that xnu differs from *BSD is that Apple (or maybe NeXT I'm not sure) replaced the device driver architecture - originally written in C - with the I/O Kit, which is written in the badly named "Embedded C++", a strictly limited subset of C++. In many ways I regard EC++ as a huge PITA - Bjarne hates it too - but otherwise I like I/O Kit coding quite a lot. It's a whole lot easier to write OS X drivers than those for Linux, Windows or most embedded systems. The man pages are there for most command-line programs. They weren't included in the very earliest releases of OS X, which made UNIX fans howl in derision. Actually a great many of Apple's own engineers are UNIX coders. I myself helped a bit with the QA of A/UX 2.0 in 1989 and 1990. I was doing the QA for MacTCP running on Systems 6 and 7, so my manager suggested I beta test the A/UX build of MacTCP, which was binary-compatible with Mac OS apps, but in reality was a wrapper around Berkeley sockets via the UNIX kernel system call interface. Back to work... :-/ Michael David Crawford [email protected] http://www.warplife.com/mdc/ Available for Software Development in the Portland, Oregon Metropolitan Area. On Mon, Nov 3, 2014 at 11:40 AM, Jeff Singleton <[email protected]> wrote: > On 11/3/14 1:33 PM, Dave Horsfall wrote: >> >> OK, I'm going to bite. Does there exist a resource for Unix geeks to get >> used to Apple's way of doing things? I've read the Dummy's Guide, but >> it's not much more than helping Windoze lusers. >> > > I don't think there is a single guide...most of what I learned has been in > pieces over the years. The method I used this time to backup/restore comes > from an app I used way back that essentially was a GUI for doing the same > process. I just chose to do things manually this time. > > _______________________________________________ > macports-users mailing list > [email protected] > https://lists.macosforge.org/mailman/listinfo/macports-users _______________________________________________ macports-users mailing list [email protected] https://lists.macosforge.org/mailman/listinfo/macports-users
