Mac OS nanokernel
It is proposed that this article be deleted.
If you can address this concern by improving, copyediting, sourcing, renaming, or merging the page, please edit this page and do so. You may remove this message if you improve the article or otherwise object to deletion for any reason. Although not required, you are encouraged to explain why you object to the deletion, either in your edit summary or on the talk page. If this template is removed, do not replace it. This message has remained in place for seven days, so the article may be deleted without further notice. Find sources: "Mac OS nanokernel" – news · newspapers · books · scholar · JSTOR Nominator: Please consider notifying the author/project: {{subst:proposed deletion notify|Mac OS nanokernel|concern=}} ~~~~ Timestamp: 20120219205639 20:56, 19 February 2012 (UTC) Administrators: delete |
Before Mac OS X, PowerPC versions of the Mac OS were based on a nanokernel, or extremely simple operating system kernel. The initial revision of this software is an extremely simple, single tasking system which delegates most tasks to an emulator running the Motorola 68K version of the operating system. The second major revision supports multitasking, multiprocessing, and message passing, and would be more properly called a microkernel. Unlike the 68K-derived Mac OS kernel running within it, the PowerPC kernel exists in a protected memory space and executes device drivers in user mode. The nanokernel is completely different from the Copland OS microkernel, although they were created in succession with similar goals.
System 7.1.2—Mac OS 8.5.1
The original nanokernel, and the tightly integrated Mac 68K emulator, were written by emulation consultant Gary Davidian. Its main purpose was to allow the existing Motorola 68K version of the operating system to run on new hardware. As such, the "normal" state of the system was to be running 68K code. The operating system did little until activated by an interrupt, which would be quickly mapped to its 68K equivalent within the virtual machine.
Other tasks may include switching back to PowerPC mode, if necessary, upon completion of the interrupt handler, and mapping the Macintosh virtual memory system to the PowerPC hardware. However, as the software is little documented, these might instead be handled by the emulator running in user mode.
This nanokernel was stored on the Mac OS ROM chip integrated into Old World ROM computers, or inside the Mac OS ROM file on disk on the New World ROM computers, rather than being installed in the familiar sense.
Interim development
Progress after 1994 demanded additional functionality. A forward-looking architecture was introduced for PCI card drivers in anticipation of Copland OS, which supported memory protection. The Open Transport networking architecture introduced standardized PowerPC synchronization primitives. The DayStar Digital Genesis MP Macintosh clone required kernel extensions to support multiprocessing. This evolution would later affect the overhaul to the nanokernel in Mac OS 8.6.
Mac OS 8.6 and later
Mac OS 8.6's nanokernel was rewritten by René A. Vega to add Multiprocessing Services 2.0 support. PowerMacInfo is an application that can display various info about this nanokernel.