This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Mac OS nanokernel" – news ·newspapers ·books ·scholar ·JSTOR(February 2012) (Learn how and when to remove this message) |
TheMac OS nanokernel is anoperating systemkernel that serves as the basis of mostPowerPC based system software versions 7 through 9 of theclassic Mac OS, predatingMac OS X.
The initial revision of this software is a single tasking system which delegates most tasks to anemulator running theMotorola 68000 series (68k) version of the operating system. The second major revision supportsmultitasking,multiprocessing, andmessage passing, and would be more properly called amicrokernel. Unlike the 68k-derived Mac OS kernel running within it, the PowerPC kernel exists in aprotected memory space and executesdevice drivers inuser mode.
Thenanokernel is very different from theCopland OS microkernel, although they were created in succession with similar goals.[1][2][3]
The originalnanokernel, and the tightly integratedMac 68k emulator, were written byemulation consultant Gary Davidian.[4] Its main purpose is to allow the existingMotorola 68k version of the operating system to run on new hardware. As such, the normal state of the system is to be running 68k code. The operating system does little until activated by aninterrupt, which is 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 Macintoshvirtual memory system to the PowerPC hardware. However, as the software is little documented, these might instead be handled by the emulator running inuser mode.
This nanokernel is stored on the Mac OSROM chip integrated intoOld World ROM computers, or inside the Mac OS ROM file on disk on theNew World ROM computers, rather than being installed in the familiar sense.
Progress after 1994 demanded additional functionality. A forward-looking architecture was introduced forPCI card drivers in anticipation of the Copland microkernel called NuKernel, which supportsmemory protection. TheOpen Transport networking architecture introduced standardized PowerPC synchronization primitives. TheDayStar Digital Genesis MPMacintosh clone requires kernel extensions to support multiprocessing. This evolution would later affect the overhaul to the nanokernel in Mac OS 8.6.
Mac OS 8.6's nanokernel was rewritten by René A. Vega to addMultiprocessing Services 2.0 support. PowerMacInfo, distributed in the Multiprocessing SDK, is an application that displays statistics about the nanokernel's operation.[5]