Architecture of macOS

From HandWiki
Short description: Layers of the operating system
Additional diagram of macOS architecture (2017 update)

The architecture of macOS describes the layers of the operating system that is the culmination of Apple Inc.'s decade-long research and development process to replace the classic Mac OS.

After the failures of their previous attempts—Pink, which started as an Apple project but evolved into a joint venture with IBM called Taligent, and Copland, which started in 1994 and was cancelled two years later—Apple began development of Mac OS X, later renamed OS X and then macOS, with the acquisition of NeXT's NeXTSTEP in 1997.

Development

NeXTSTEP

Main page: Software:NeXTSTEP

NeXTSTEP used a hybrid kernel that combined the Mach 2.5 kernel developed at Carnegie Mellon University with subsystems from 4.3BSD. NeXTSTEP also introduced a new windowing system based on Display PostScript that intended to achieve better WYSIWYG systems by using the same language to draw content on monitors that drew content on printers. NeXT also included object-oriented programming tools based on the Objective-C language that they had acquired from Stepstone and a collection of Frameworks (or Kits) that were intended to speed software development. NeXTSTEP originally ran on Motorola's 68k processors, but was later ported to Intel's x86, Hewlett-Packard's PA-RISC and Sun Microsystems' SPARC processors. Later on, the developer tools and frameworks were released, as OpenStep, as a development platform that would run on other operating systems.

Rhapsody

Main page: Software:Rhapsody (operating system)

On February 4, 1997, Apple acquired NeXT and began development of the Rhapsody operating system. Rhapsody built on NeXTSTEP, porting the core system to the PowerPC architecture and adding a redesigned user interface based on the Platinum user interface from Mac OS 8. An emulation layer called Blue Box allowed Mac OS applications to run within an actual instance of the Mac OS and an integrated Java platform.[1] The Objective-C developer tools and Frameworks were referred to as the Yellow Box and also made available separately for Microsoft Windows. The Rhapsody project eventually bore the fruit of all Apple's efforts to develop a new generation Mac OS, which finally shipped in the form of Mac OS X Server.

Mac OS X

A diagram of the Mac OS X architecture

At the 1998 Worldwide Developers Conference (WWDC), Apple announced a move that was intended as a response to complaints from Macintosh software developers who were not happy with the two options (Yellow Box and Blue Box) available in Rhapsody. Mac OS X would add another developer API to the existing ones in Rhapsody. Key APIs from the Macintosh Toolbox would be implemented in Mac OS X to run directly on the BSD layers of the operating system instead of in the emulated Macintosh layer. This modified interface, called Carbon, would eliminate approximately 2000 troublesome API calls (of about 8000 total) and replace them with calls compatible with a modern OS.[2]

At the same conference, Apple announced that the Mach side of the kernel had been updated with sources from the OSFMK 7.3 (Open Source Foundation Mach Kernel)[3] and the BSD side of the kernel had been updated with sources from the FreeBSD, NetBSD and OpenBSD projects.[2] They also announced a new driver model called I/O Kit, intended to replace the Driver Kit used in NeXTSTEP citing Driver Kit's lack of power management and hot-swap capabilities and its lack of automatic configuration capability.[4]

At the 1999 WWDC, Apple revealed Quartz, a new Portable Document Format (PDF) based windowing system for the operating system that was not encumbered with licensing fees to Adobe like the Display PostScript windowing system of NeXTSTEP. Apple also announced that the Yellow Box layer had been renamed Cocoa and began to move away from their commitment to providing the Yellow Box on Windows. At this WWDC, Apple also showed Mac OS X booting off of a HFS Plus formatted drive for the first time.

The first public release of Mac OS X released to consumers was a Public Beta released on September 13, 2000.

References

  1. Apple PR (1997-11-19). "Apple Extends Rhapsody Developer Release with Mac OS Compatibility Environment, Code-Named "Blue Box"". apple.com. http://product.info.apple.com/pr/press.releases/1998/q1/971119.pr.rel.macos.html. 
  2. 2.0 2.1 Scott Anguish (May 1998). "WWDC 98 Summary". stepwise.com. http://www.stepwise.com/SpecialCoverage/WWDC98/Summary.html. [yes|permanent dead link|dead link}}]
  3. Magee, Jim. WWDC 2000 Session 106 – Mac OS X: Kernel. 14 minutes in. Archived from the original on 2021-12-21.
  4. Scott Anguish (1998-05-14). "Rhapsody Core OS: Intro to the I/O Driver Architecture". stepwise.com. http://www.stepwise.com/SpecialCoverage/WWDC98/Thursday-IOKit.html. [yes|permanent dead link|dead link}}]

Bibliography

  • Levin, Jonathan (September 25, 2019) (in en). *OS Internals, Volume I: User Mode (v1.3.3.7 ed.). Technologeeks. ISBN 978-0-9910555-6-2. 
  • Levin, Jonathan (October 16, 2019b) (in en). *OS Internals, Volume II: Kernel Mode (v1.0 ed.). Technologeeks. ISBN 978-0-9910555-7-9. 
  • Singh, Amit (June 19, 2006) (in en). Mac OS X Internals: A Systems Approach. Addison-Wesley Professional. ISBN 978-0-13-270226-3. 

External links