Copland (operating System) - Design

Design

Copland was designed to run the Mac OS on top of a microkernel named Nukernel, which would handle basic tasks such as application startup and memory management, leaving all other tasks to a series of semi-special programs known as servers. For instance, networking and file services would not be provided by the kernel itself, but by servers which would be sent requests though interapplication communications. Copland consisted of the combination of Nukernel, various servers, and a suite of application support libraries to provide implementations of the well-known Macintosh programming interface.

Application services would be offered through a single program known officially as the "Cooperative Macintosh Toolbox environment", but universally referred to as the blue box. The blue box encapsulated an existing System 7 operating system inside a single process and address space. Mac programs would run inside the blue box much as they did under System 7, as 'co-operative tasks' that used the non-re-entrant Toolbox calls. A worst-case scenario was that an application in the blue box would crash, taking down the entire box with it. This would not result in the system as a whole going down, however, and the blue box could be restarted.

New applications, those written with Copland in mind, would be able to directly communicate with the system servers and thereby gain many advantages in terms of performance and scalability. They could also communicate with the kernel to “spin off” separate applications or threads, which would run as separate processes in protected memory, as in most modern operating systems. However, these separate applications could not use non-re-entrant calls like QuickDraw, and thus could have no user interface. Apple suggested that larger programs could place their user interface in a normal Macintosh application, which would then start "worker threads" externally.

Another key feature of Copland was that it would be completely PowerPC "native". System 7 had been ported to the PowerPC (PPC) with great success; large portions of the system ran in PPC code, including both high-level functionality, such as the majority of the user interface "toolbox" managers, and low-level functionality, such as interrupt management. However there was enough 68k code left in the system, and especially user applications, that the operating system had to map some data between the two environments. In particular, every call into the Mac OS required a mapping between the 68k's interrupt system and the PPCs. Removing these mappings would greatly improve general system performance; at WWDC'96, engineers claimed that the performance of system calls would be as much as 50% faster.

Copland was also based on the newly-defined Common Hardware Reference Platform, or CHRP, which standardized the Mac hardware to the point where it could be built by different companies and run other operating systems (Solaris and AIX were two of many mentioned). This was a common theme at the time; many companies were forming groups to define standardized platforms to offer an alternative to the "Wintel" platform that was rapidly becoming dominant - examples included 88open, ACE and the AIM alliance.

The challenge in Copland would be getting all of this functionality to fit into an ordinary Mac. System 7.5 already used up about 2.5 megabytes (MB) of RAM, and at the time this was a significant portion of the total RAM in most machines. Copland would be running what was essentially a complete copy of System 7.5 (in the blue box) and an entirely separate operating system running “under” it as well. Copland therefore was to use a Mach-inspired memory management system and rely extensively upon shared libraries, with the goal being for Copland to be only some 50% larger than 7.5.

Read more about this topic:  Copland (operating System)

Famous quotes containing the word design:

    What but design of darkness to appall?—
    If design govern in a thing so small.
    Robert Frost (1874–1963)

    Westerners inherit
    A design for living
    Deeper into matter—
    Not without due patter
    Of a great misgiving.
    Robert Frost (1874–1963)

    We find that Good and Evil happen alike to all Men on this Side of the Grave; and as the principle Design of Tragedy is to raise Commiseration and Terror in the Minds of the Audience, we shall defeat this great End, if we always make Virtue and Innocence happy and successful.
    Joseph Addison (1672–1719)