Mac OS X

From Citizendium
Revision as of 19:32, 21 March 2008 by imported>Geoffrey Horton (→‎History)
Jump to navigation Jump to search
This article is developing and not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
This editable Main Article is under development and subject to a disclaimer.
Mac OS X
OSXLeopardDP.jpg
Screenshot of Mac OS X 10.4 "Tiger"
Website: http://www.apple.com/macosx/
Developer: Apple Inc.
OS family: BSD/Darwin/NEXTSTEP
Source model: Closed source (with open source components)
Latest stable release: 10.5.1 / November 15, 2007
Supported platforms: x86, x86-64, PowerPC (32 & 64-bit), ARM
Kernel type: Hybrid kernel (XNU)
Default user interface: Graphical user interface (Aqua)
License: proprietary
Working state: Current

Mac OS X is a proprietary, Unix-like operating system developed, marketed, and sold by Apple Inc., which currently ships on all Macintosh computers. It succeeds the original Mac OS with its Aqua graphical user interface and Cocoa API, based on technologies of the defunct OPENSTEP operating system from NeXT, absorbed with Apple's purchase in late 1996.[1] The operating system was first released in 1999 in the form Mac OS X Server 1.0, with a desktop-oriented version following in March 2001. Mac OS X has ever since become the most used and probably most popular Unix in the world. Its open source core, named Darwin, is based on FreeBSD and the XNU microkernel (which is a Mach-based microkernel design). Notably OS X offers both an intuitive graphical interface but also integrates much open source software, and "Unix is under the hood," via the Terminal command-line application.[2] Mac OS X 10.5 "Leopard" is an Open Brand UNIX 03 Registered Product, conforming to the SUS v3 and POSIX 1003.1 specifications for the C API, Shell Utilities, and Threads.[3]

History

The Mac OS X project was born out of a failed attempt to fully modernize the aging Mac OS 9 operating system. Mac OS up to that point was still using such outdated operating system technologies as cooperative multitasking and a networking stack that was plagued with performance issues. Mac OS 9 compared to the Microsoft Windows 98 operating system in this respect. Apple wanted something that could compete with Windows NT in stability, reliability and performance.

The collapse of the Copland project directly led to Apple opting to "start from scratch" for the tenth version of its operating system. As they needed a new operating system as soon as possible, Apple surveyed an array of operating systems to buy out and make their own, and they even considered licensing Microsoft's Windows NT. [4] Another candidate was Be Inc's BeOS; however NeXT's NeXTstep was ultimately chosen to be the starting point for the next Mac OS version, code-named Rhapsody. Shortly after this decision was made, NeXT Inc. was bought out and folded into Apple.

Rhapsody Developer Release 2

The Rhapsody project would join the XNU Mach-based microkernel, a BSD-based operating system layer, and two developer frameworks (or APIs). The existing "Classic" Mac OS would run in a virtual machine on top of OS X called the "Blue Box."[4] The OpenStep derived Yellow Box API was modified during OS X development, and evolved into the Cocoa API. Cocoa would come to be the de facto API on Mac OS X. If developers didn't want to make the jump to Cocoa, they could choose to write native OS X programs using the "classic API" Carbon. The "Blue Box" existed solely for backwards compatibility with non-native OS X programs that would not be ported over to either Carbon or Cocoa, and existed only on the PowerPC platform. These programs would not gain the stability improvements of OS X, and one program misbehaving could crash the Mac OS 9-based "Blue Box" (but notably not OS X itself).

Over time Rhapsody evolved into Mac OS X Server 1.0[5], the direct predecessor to Mac OS X. It carried the "Server" name because it did not ship with the Aqua user interface, one of the most notable new features of OS X. This new interface was first present in the third developer preview of Mac OS X.

While backwards-compatibility was a major point in the first release of the operating system, each new version of Mac OS X has evolved away from it, with the transition to Intel processors making Apple finally discard the "Classic" runtime environment, included in versions for the PowerPC. OS X running on Intel processors does not include the Classic "Blue Box" environment.

Mac OS X has seen 5 releases as of early 2007. Mac OS X v10.0 was the first release, and Mac OS X v10.5.1 is the most recent.

Description

Mac OS X is a radical departure from previous Macintosh operating systems, its underlying code base being completely different from previous versions. Unlike its predecessors, Mac OS X is a Unix-like operating system and includes standard Unix utilities, available from the command line interface. Darwin, the core of the operating system, is built on top of the hybrid kernel XNU, which is a combination of the Mach 3 microkernel, various elements of FreeBSD 5 like the process model, network stack, and virtual file system and an object-oriented device driver API called I/O Kit. Apple layered over Darwin a number of proprietary components, most notably the Quartz graphics layer and the Aqua interface, to complete the GUI-based operating system which is Mac OS X. It includes Apple's free software development tools, most notably Apple's integrated development environment named XCode, which supports programming languages such as C, C++, Objective-C, and Java.

Mac OS X includes a number of features intended to make the operating system more stable and reliable than Apple's previous operating systems. Pre-emptive multitasking and memory protection, for example, improved the ability of the operating system to run multiple applications simultaneously without them interrupting or corrupting each other. Many aspects of Mac OS X's architecture are derived from OPENSTEP, which was designed with portability in mind, thus easing the transition from one platform to another. NEXTSTEP was ported from the original 68k-based NeXT workstations to other architectures before NeXT was purchased by Apple, and OPENSTEP was subsequently ported to the PowerPC architecture as part of the Rhapsody project. Thus, Mac OS X is able to run on multiple platforms. While the first 4 releases only were only sold for the PowerPC processors, Mac OS X has had builds running on the x86 and x86-64 processors since its conception. The x86 version of the operating system has become mainstream since Apple's transition to Intel, which started with version 10.4. The iPhone version of OS X is also supposed to able to run on at least one form of ARM processor.

Versions

Retail box Version Code name* Release date New features
OSXBox100101.jpg 10.0 Cheetah March 24, 2001
  • Aqua user interface
  • Carbon & Cocoa APIs
  • Quartz graphics engine
  • Darwin UNIX-based core[6]
OSXBox100101.jpg 10.1 Puma September 25, 2001
  • Improved system performance
  • Enhanced Aqua interface
  • Data CD burning within the Finder
  • DVD video playback[7]
OSXBox102.jpg 10.2 Jaguar August 24, 2002
  • Enhanced Mail
  • iChat
  • New Address Book
  • Inkwell
  • MPEG-4 support
  • Universal Access
  • Enhanced Finder
  • Sherlock 3
  • Rendezvous
  • Quartz Extreme[8]
OSXBox103.jpg 10.3 Panther October 24, 2003
  • User oriented
    • Exposé
    • iChat AV
    • Safari
    • Fast User Switching
    • FileVault
    • Font Book
    • Enhanced Mail
    • New Adress Book
  • Developer oriented
OSXBox104.jpg 10.4 Tiger April 29, 2005
  • User oriented
    • Spotlight
    • Dashboard
    • Automator
    • VoiceOver
    • Quicktime 7
    • Mail 2
    • iCal 2
    • Font Book 2
  • Developer oriented
    • Core Audio
    • Core Video
    • XCode 2[10]
No image yet 10.5 Leopard October 26, 2007
  • User oriented
    • Time Machine
    • Spaces
    • Boot Camp
    • Improved Front Row
    • Improved Photo Booth
    • iCal 3
    • Improved Spotlight
  • Developer oriented
    • Full native 64-bit support
    • Core Animation
    • Dashcode
    • Objective C 2.0
    • XCode 3[11]

* From version 10.2 onwards, code names were employed for branding.

References