Mac OS nanokernel
Encyclopedia
Before Mac OS X, PowerPC
PowerPC
PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...

 versions of the Mac OS
Mac OS
Mac OS is a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems. The Macintosh user experience is credited with popularizing the graphical user interface...

were based on a nanokernel, or extremely simple operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 kernel. The initial revision of this software is an extremely simple, single tasking system which delegates most tasks to an emulator
Emulator
In computing, an emulator is hardware or software or both that duplicates the functions of a first computer system in a different second computer system, so that the behavior of the second system closely resembles the behavior of the first system...

 running the Motorola 68K version of the operating system. The second major revision supports multitasking
Computer multitasking
In computing, multitasking is a method where multiple tasks, also known as processes, share common processing resources such as a CPU. In the case of a computer with a single CPU, only one task is said to be running at any point in time, meaning that the CPU is actively executing instructions for...

, multiprocessing
Multiprocessing
Multiprocessing is the use of two or more central processing units within a single computer system. The term also refers to the ability of a system to support more than one processor and/or the ability to allocate tasks between them...

, and message passing
Message passing
Message passing in computer science is a form of communication used in parallel computing, object-oriented programming, and interprocess communication. In this model, processes or objects can send and receive messages to other processes...

, and would be more properly called a microkernel
Microkernel
In computer science, a microkernel is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system . These mechanisms include low-level address space management, thread management, and inter-process communication...

. Unlike the 68K-derived Mac OS kernel running within it, the PowerPC kernel exists in a protected memory space and executes device driver
Device driver
In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....

s 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
Mac 68K emulator
The Mac 68K emulator was a software emulator built into all versions of the Mac OS for PowerPC. This emulator permitted the running of applications and system code that were originally written for the 680x0 based Macintosh models. The emulator was completely seamless for users, and reasonably...

, were written by emulation
Emulator
In computing, an emulator is hardware or software or both that duplicates the functions of a first computer system in a different second computer system, so that the behavior of the second system closely resembles the behavior of the first system...

 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
Interrupt
In computing, an interrupt is an asynchronous signal indicating the need for attention or a synchronous event in software indicating the need for a change in execution....

, 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
Virtual memory
In computing, virtual memory is a memory management technique developed for multitasking kernels. This technique virtualizes a computer architecture's various forms of computer data storage , allowing a program to be designed as though there is only one kind of memory, "virtual" memory, which...

 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
Read-only memory
Read-only memory is a class of storage medium used in computers and other electronic devices. Data stored in ROM cannot be modified, or can be modified only slowly or with difficulty, so it is mainly used to distribute firmware .In its strictest sense, ROM refers only...

 integrated into Old World ROM
Old World ROM
Old World ROM Macintosh computers are the Macintosh models that use a Macintosh Toolbox ROM chip, usually in a socket . All Macs prior to the iMac use Old World ROM, while the iMac and all subsequent models until the introduction of the Intel-based EFI Models are New World ROM machines...

 computers, or inside the Mac OS ROM file on disk on the New World ROM
New World ROM
New World ROM computers are Macintosh models that do not use a Macintosh Toolbox ROM on the logic board. Due to Mac OS X not requiring the availability of the Toolbox, this allowed ROM sizes to shrink dramatically , and facilitated the use of Flash memory for system firmware instead of the now more...

 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
Peripheral Component Interconnect
Conventional PCI is a computer bus for attaching hardware devices in a computer...

 card drivers in anticipation of Copland OS, which supported memory protection
Memory protection
Memory protection is a way to control memory access rights on a computer, and is a part of most modern operating systems. The main purpose of memory protection is to prevent a process from accessing memory that has not been allocated to it. This prevents a bug within a process from affecting...

. The Open Transport
Open Transport
Open Transport was the name given by Apple Inc. to their implementation of the Unix-originated System V STREAMS. Based on code licensed from Mentat's Portable Streams product, Open Transport was built to provide the Mac OS with a modern TCP/IP implementation, replacing MacTCP...

 networking architecture introduced standardized PowerPC synchronization primitives. The DayStar Digital
DayStar Digital
DayStar Digital, Inc., was founded in 1983 by Andrew Lewis as a subcontract manufacturer of electronic assemblies and circuit boards. In 1986, the company released memory upgrades for Apple Macintosh Computers, its first product. In 1987 the company began to market processor upgrades exclusively...

 Genesis MP Macintosh clone
Macintosh clone
A Macintosh clone is a personal computer made by a manufacturer other than Apple, using Macintosh ROMs and system software.-Background:...

 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.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK