Jump to content

MacOS

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Guy Harris (talk | contribs) at 21:03, 25 February 2006 (Description: xnu's kernel isn't very micro; it's hybrid like NT. Mach didn't make a difference to the portability.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Mac OS X
File:MacOSX10.4.png
A screenshot of Mac OS X v10.4 Tiger
DeveloperApple Computer
OS familyBSD
Working stateCurrent
Source modelClosed source (Darwin foundation is open source)
Latest release10.4.5 / February 14, 2006
Kernel typeHybrid kernel
Default
user interface
Aqua
LicenseAPSL and Apple EULA
Official websitewww.apple.com/macosx

Mac OS X is an operating system developed and sold by Apple Computer which is included with all currently shipping Apple Macintosh computers. It is also sold separately as an upgrade for recent existing Macintosh computers that do not have the latest major release of Mac OS X.

Mac OS X Server is architecturally identical to its desktop counterpart but usually runs on Apple's line of Macintosh server hardware. Mac OS X Server includes workgroup management and administration software tools that provide simplified access to key network services, including a mail server, a Samba server, a directory server, and a domain name server.

History

Main article: Mac OS X history

Despite its branding as simply "version 10" of the Mac OS, Mac OS X has a history that is almost completely independent of the earlier Mac OS releases.

Mac OS X is based on the Mach kernel and the BSD implementation of Unix, which were incorporated into NEXTSTEP, the object-oriented operating system developed by Steve Jobs' NeXT company after he left Apple in 1985. Meanwhile, during the years without Jobs at the helm, Apple attempted to create a "next-generation" operating system of its own (see Taligent and Copland) with little success.

Eventually, NeXT's OS -- called OPENSTEP at the time -- was selected to form the basis for Apple's next OS, and Apple purchased NeXT outright. Jobs was re-hired, and later returned to the leadership of the company, shepherding the transformation of the programmer-friendly OPENSTEP into a system that would be welcomed by Apple's primary market of home users and creative professionals, as a project known as Rhapsody. After some missteps which threatened the loyalty of independent developers to Mac OS, and changes of strategy to ease the transition from Mac OS 9 to the new system, Rhapsody evolved into Mac OS X.

Initially, Apple attempted to retain backwards compatibility with existing Macintosh software by including the "Classic" mode of operation which allowed the previous operating system, OS 9, to run within OS X, supporting applications that weren't capable of running natively on OS X. However in January 2006, Apple began shipping Macintosh computers with Intel x86 microprocessors (rather than PowerPC microprocessors). The version of Mac OS X included with these new Intel systems no longer includes the "Classic" backwards compatibility. Apple has developed an emulation service named Rosetta which allows PowerPC applications to run on Intel machines, albeit slightly slower than they would normally.

Description

File:Mac OS X Box.jpeg
The box for Mac OS X v10.4 "Tiger"

Mac OS X is a radical departure from previous Macintosh operating systems as its underlying code base is completely different from previous versions. Mac OS X includes a number of features that are intended to make the operating system more stable and reliable than Apple's previous operating systems. Pre-emptive multitasking and memory protection are intended to improve the ability of the operating system to run multiple applications simultaneously without them interrupting or corrupting each other as was possible under previous versions.

The most visible change was the Aqua graphical user interface. The use of soft edges, translucent colors, and pinstripes, similar to the hardware of the first iMacs), brought more color and texture to the windows and controls on the Desktop than OS 9's "Platinum" appearance had offered.

Initially, the new, aqua look raised a great deal of controversy among users. Many older Macintosh users decried the interface as "cutesy" and lacking in professional polish, while others hailed the new interface as another revolutionary Apple innovation in the consistent look and theme of the human interface.

Regardless, the look was instantly recognizable, and even before the first version of Mac OS X was released, third-party developers started producing skins for customizable applications, like Winamp, similar to the Aqua appearance. To some extent, Apple has used its successful transition to this new design as leverage, at various times threatening legal action against people who make or distribute software which provides an interface which they claim is derived from their copyrighted design.

The core of Mac OS X is an open source Unix-like operating system, built around the XNU kernel with standard Unix facilities available from the command line interface. Shortly before the release of Mac OS X, Apple released this core as Darwin. On top of this core, Apple designed and developed a number of proprietary closed source components including the Aqua user interface, and the Finder (analogous to the Windows Explorer).

Compatibility

PowerPC versions of Mac OS X retain compatibility with older Mac OS applications by providing an emulation environment called Classic, which allows users to run Mac OS 9 as a process within Mac OS X, so that most older applications run as they would under the older operating system. In addition, the Carbon APIs for Mac OS 9 and Mac OS X were created to permit code to be written to run natively on both systems. The OpenStep APIs are still available, but Apple now calls the technology Cocoa. (This heritage is visible in the Cocoa APIs, in which the class names mostly begin with "NS" for NEXTSTEP.) A fourth option for developers is to write applications in the Java platform, which Mac OS X has supported as a "first class citizen" — in practice this means that Java applications fit as neatly into the operating system as possible while still being "cross-platform", and that GUIs, while being written in Swing, look almost exactly like native Cocoa interfaces. Traditionally, Cocoa programs have been mostly written in Objective-C, with Java as an alternative.

However, on July 11, 2005, Apple announced that "features added to Cocoa in Mac OS X versions later than 10.4 will not be added to the Cocoa-Java programming interface."[1]

Mac OS X can run many BSD or Linux software packages, as long as they have been compiled for the platform. Compiled binaries are normally distributed as Mac OS X packages, but some may require command-line configuration or compilation. Projects such as Fink and DarwinPorts provide precompiled or preformatted packages for many standard packages. Since version 10.3, Mac OS X has included X11.app, the company's version of the X11 graphical interface for Unix applications, as an optional component during installation. Apple's implementation is based on XFree86 4.3 and X11R6.6, with a window manager which mimics the Mac OS X look, closer integration with Mac OS X, and extensions to use the native Quartz rendering system and to accelerate OpenGL. Earlier versions of Mac OS X can run X11 applications using XDarwin.

For the early releases of Mac OS X, the standard hardware platform supported was the line of Macintosh computers (laptop, desktop, or server) based on PowerPC G3, G4, and G5 processors. Later versions of Mac OS X discontinued support for some older hardware; for example, Panther does not support "beige" G3s, and Tiger does not support systems that pre-date Apple's introduction of FireWire ports (generically known as IEEE 1394). However, free tools such as XPostFacto have enabled installation of Mac OS X on certain older systems not officially supported by Apple, including some pre-G3 systems. The operating system offers the same functionality on all supported hardware and performance enhancements possible only with more advanced equipment (e.g. graphics acceleration).

On June 6, 2005, Steve Jobs announced in his keynote address at the annual Apple Worldwide Developers Conference that Apple will be transitioning from PowerPC to Intel processors over the following two years, and that Mac OS X will support both platforms during this transition. The last time that Apple switched CPU families -- from the Motorola 68K CPU to the IBM/Motorola PowerPC -- Apple included a Motorola 68K emulator in the new OS when running a PowerPC CPU that made almost all 68K software work automatically with legacy hardware. Apple has supported the 68K emulator for 11 years now, but will drop the support of the 68K emulator now because they will still be supporting the PowerPC and also supporting the Macs with Intel CPU family CPUs. Included in the new OS for the Intel-based Macs is a new emulator named "Rosetta" which will allow users to automatically be able to run Mac OS X PowerPC software on an Intel-based Mac.

Software on the new Intel Macs will be supported in three ways 1) Legacy OS X PowerPC software will automatically work by using the Rosetta emulator which is included with the new OS that runs on Intel-based Macs. and 2) Developers were encouraged to develop "Universal Binaries" that are two applications in one. One application is PowerPC machine code and the other is Intel machine code. The user will just open what looks like one application and depending upon which CPU the Mac has, the appropriate version of the application will be run automatically. The third option that developers have, but is not recommended as of Feb 2006 is, 3) Intel only Mac OS X applications that will run only on the new Intel-based Macs and on the newest version of Mac OS X. Option 3 will likely start to be the norm several years from now when the demand for PowerPC software drops off.

With each Mac OS X system sold, Apple includes their own professional development tools. The IDE is called XCode, this currently is version 2.2.1. With XCode, you can develop, C, C++, Cocoa-Objective-C, Java, etc. and just check any combination of versions that you want to develop. You just check: 1) PowerPC Only, 2) Intel Only, or 3) Both checkboxes and a Universal Binary is generated -- which is what most developers are doing at this time and for the foreseeable future to preserve investment in hardware purchases.

For Apple's press release, announcing the transition to Intel, see: [2] Support for the PowerPC platform will remain in version 10.5, though it is unclear how long this dual-architecture support will be continued -- but since Apple supported the Motorola 68k family for eleven years after the introduction of PowerPC systems, it's likely that they will support the PowerPC Macs for many years to come. A new version of Xcode supports building "universal binaries" that will run on either architecture. PowerPC binaries will be supported on Intel-based Macs using an emulator called Rosetta. Jobs also confirmed rumors that Apple has had versions of Mac OS X running on Intel processors for most of its developmental life. Such crossplatform capability already existed in OS X's lineage — the predecessor of OS X, OPENSTEP, had been ported to many architectures, including Intel's x86, and a port to x86 of the core operating system of OS X, Darwin, has been available as a free download since OS X was first released. However, Apple has stated that OS X for x86 platforms will not support the Classic environment. Also note that Apple stated that MacOS would only run on Apple x86 systems, not PCs, but several people have been using a development version of the OS on x86 PCs (See links below).

Notable features

  • Uses a subset of the Portable Document Format (PDF) as the basis of its Quartz imaging model.
  • Full color, continuously scalable icons (up to 256x256 pixels, though only viewable up to 128x128 as icons in the Finder).
  • Drop shadow around window and isolated text elements to provide a sense of depth.
  • Global application services - spell checker, special characters palette, color picker, font chooser and dictionary.
  • Anti-aliasing of widgets, text, graphics and window elements.
  • New interface elements including sheets (document modal dialogs attached to specific windows) and drawers.
  • Interweaving windows of different applications (not necessarily adjacent in the visible stacking order).
  • ColorSync color matching built into the core drawing engine (for print and multimedia professionals).
  • OpenGL (introduced in version 10.2) composites windows onto the screen to allow hardware accelerated drawing. This technology is called Quartz Extreme.
  • Exposé (introduced in version 10.3) Instantly display all open windows as thumbnails for easy navigation to different tasks, display all open windows as thumbnails from the current application, and hide all windows to access the desktop.
  • Pervasive use of Unicode throughout the operating system.
  • Straightforward architecture for localization of applications and other code, fully separating language dependencies from the core code of a program.
  • FileVault (introduced in version 10.3) encrypts the user's Home folder with Advanced Encryption Standard (AES) 128-bit keys.
  • Dashboard (introduced in version 10.4) supports small applications ("widgets") that can be called up and dismissed in one keystroke.
  • Spotlight search technology (introduced in version 10.4) allows rapid real-time searches of data files, mail messages, photos, and other information, based on item properties (meta data) and/or content.
  • Automator (introduced in version 10.4) an application designed to create an automatic work-flow for different tasks.
  • Smart Folders (introduced in version 10.4) allow for dynamically updated folders depending on a set criteria.
  • A well defined set of Human Interface Guidelines followed by almost all applications giving them intuitive, consistent user interface and keyboard shortcuts.
  • Xgrid allows networked Macs to form a distributed computing system.

Pricing Criticism

File:Macosxkernelpanic.jpg
The Mac OS X kernel panic alert.

Mac OS X comes included in the price for new Macs. Minor upgrades are free and can be downloaded using Software Update. Major upgrades cost US$129 from Apple. The disc purchased can be used to either update the existing operating system or install a new version. There is also a more highly priced server version, Mac OS X Server. There is also a "family version" of Mac OS X that has a license for home use for users who have more than one Mac at home for $199.99 suggested. The Apple Developer Connection (ADC) offers deals where developers can register for access to additional developer tools such as xCode for free for Mac OS X. ADC also provides developers with selected shipping versions of OS X and beta versions of the operating system.

In comparison to Microsoft Windows, some critics point to the lack of upgrade pricing for upgrading to a new major release on Mac OS X; users of previous versions have to pay full price for a new version. This is in part a semantic argument, depending on whether a retail Mac OS X package is considered an "upgrade" or not. On one hand, it can only be used on a Mac, all of which were sold with some version of the Mac OS, so it is arguably an upgrade. On the other hand, no price distinction is made between upgrading version 9.0 or version 10.3 to version 10.4, suggesting that consumers are buying a full license in either case, or at least receiving no credit for intervening upgrades. Furthermore, customers who purchase a Macintosh between the time a new version of Mac OS X is announced and the time it starts shipping preinstalled on new machines have typically been given upgrades at a much smaller cost (9.95-19.95 USD).


Naming

The character X is a Roman numeral and is officially pronounced "ten", continuing the numbering of previous Macintosh operating systems such as Mac OS 8 and Mac OS 9. However, it is a common mistake to read it as the letter X and pronounce it "ex". One possible reason for this interpretation is the tradition of giving Unix-like operating systems names that contain the letter "X". (AIX, A/UX, HP-UX, IRIX, Linux, Minix, Ultrix, Xenix, NeXT). Another possible reason is Apple's tendency to refer to specific versions in print (for example, "Mac OS X version 10.4").

Mac OS X versions are named after big cats. Prior to its release, version 10.0 was code named "Cheetah" internally at Apple, and version 10.1 was code named internally as "Puma". After the immense buzz surrounding Version 10.2, codenamed "Jaguar", Apple's product marketing began openly using the code name to promote the operating system. 10.3 was similarly marketed as "Panther". Version 10.4 is marketed as "Tiger". "Leopard" has been announced as the name for the next release of the operating system. Apple has also registered "Lynx" and "Cougar" as trademarks.

Apple faced a lawsuit from a computer retailer named Tiger Direct regarding its use of the name "Tiger". However, on 16 May 2005 the Florida Federal Court ruled that Apple's use of the name "Tiger" does not infringe upon Tiger Direct's trademark.

Also, Java version 5.0 (also known as version 1.5) from Sun Microsystems is also named "Tiger" which may cause some confusion also because it can be installed into Macs running Mac OS X.

Versions

File:All boxes of apple os x releases.jpg
Box artwork for Mac OS X versions Cheetah/Puma, Jaguar, Panther, and Tiger.

Internally, Apple uses a "build number" to identify each development version of Mac OS X. There may be many development versions each week. Under Apple's guidelines, the first development version of a product starts with build 1A1. Minor revisions to that are 1A2, 1A3, 1A4, and so on; the first major development revision becomes 1B1 (and minor revisions to that would be 1B2, 1B3, etc.), the next major revision would be 1C1, and so forth. The next major revision after the last 1_ series would be 2A, followed by 2B. The transition from one letter to the next occurs with changes in the minor release number. For instance, the first build of Panther (10.3) was 7A1. The first public release was 7B85; the last, 10.3.9, was 7W98. But the next build of OS X was 10.4, 8A1. When a build is chosen as the next public release of Mac OS X, it is given a public version number. Build 4K78 was chosen to be Mac OS X version 10.0, build 5G64 became 10.1, build 6C115 became 10.2, build 7B85 became 10.3, and build 8A428 became 10.4.

The current version of Mac OS X is 10.4.5 (released on February 14, 2006). 10.4.4 was the first public version of Mac OS X to run on both PPC (build 8G32) and Intel-based Macs (8G1165). All previous versions of Mac OS X have Intel counterparts, but those were never publicized or made available to end-users.

Mac OS X v10.0 (Cheetah)

On March 24, 2001, Apple released Mac OS X v10.0 (internally codenamed Cheetah). The initial version was slow, not feature complete, and had very few applications available at the time of its launch, mostly from independent developers. Many critics suggested that while the OS was not ready for mainstream adoption, they recognized the importance of its initial launch as a base for which to improve upon. Simply releasing OS X was received by the Macintosh community as a great accomplishment, for attempts to completely overhaul the Mac OS had been underway since 1996, and delayed by countless setbacks. Following a few minor bug fixes, kernel panics became much less frequent, and Mac OS X began garnering praise for its stability at an early point in its development. It was criticized for being slow, with performance not much improved over the previous September's release of Mac OS X Public Beta.

Mac OS X v10.1 (Puma)

Later that year on September 25, 2001, Mac OS X v10.1 (internally codenamed Puma) was released, increasing the performance of the system as well as providing missing features, such as DVD playback. Apple released 10.1 as a free upgrade CD for 10.0 users, in addition to the US$129 boxed version for people running only Mac OS 9. It was discovered that the upgrade CDs were actually full install CDs that could be used with Mac OS 9 systems by removing a specific file; Apple subsequently re-released the CDs in an actual stripped-down format that didn't facilitate installation on such systems.

Mac OS X v10.2 "Jaguar"

On August 24, 2002, Apple followed up with Mac OS X v10.2 "Jaguar" (the first release to publicly bear its cat name), which brought profound performance enhancements, a newer, sleeker look, and many powerful enhancements (over 150, according to Apple), among them:

Mac OS X v10.2 was never officially referred to as Jaguar in the United Kingdom due to an agreement with the automobile manufacturer Jaguar, although boxes and CDs still bore the Jaguar-skin logo.

Some developers consider version 10.2, or Jaguar, the "first good release" of OS X and don't support versions 10.0 or 10.1 any longer.

Mac OS X v10.3 "Panther"

Mac OS X v10.3 "Panther" was released on October 24, 2003. In addition to providing much improved performance, it also incorporated the most extensive update yet to the user interface. The update included as many or more new features as Jaguar had the year before. On the other hand, support for some early G3 computers such as "beige" PowerMacs and "WallStreet" PowerBooks was discontinued. New features of "Panther" include:

  • Updated Finder, incorporating a brushed-metal interface, customizable sidebar and fast-searching
  • Exposé: a new system to manipulate and view windows
  • Fast User Switching: allows a user to remain logged in while another user logs in
  • iChat AV which added video-conferencing features to iChat
  • Improved PDF rendering to allow for faster PDF viewing
  • Built-in faxing support
  • Much greater Microsoft Windows interoperability
  • FileVault: on the fly encryption and decryption of a user's home folder
  • Increased speed across the entire system with more support for the G5

Mac OS X v10.4 "Tiger"

Mac OS X v10.4 "Tiger" was released on April 29, 2005. Apple stated that Tiger contains more than 200 new features, but as with the release of Panther, certain older machines have been dropped from the list of supported hardware; Tiger requires a Mac with built-in FireWire ports. Among the new features of "Tiger":

  • Spotlight: A fast content and metadata-based file search tool, which quickly finds items containing the key words you search for.
File:Dashboardanim.gif
Apple's Dashboard
  • Dashboard: Widgets for common tasks available on a desktop overlay accessible by a mouse gesture or keyboard function key, similar to Exposé.
  • Smart Folders: A virtual folder that uses Spotlight to populate the file listing instead of showing a true folder on the filesystem.
  • Updated Mail program with Smart Mailboxes, allowing virtual mailboxes defined by Spotlight searches.
  • A new version of iChat: A new version supports the H.264/MPEG-4 AVC video codec for conferencing and allows for multi-party audio and video chats. Support for the Jabber online instant messaging protocol is also introduced.
  • A new version of QuickTime 7: the new version includes H.264 support and a completely re-written interface.
  • A new version of Safari 2: this new version of the system's default web browser includes the ability to view RSS feeds directly in the browser, among other new features.
  • Automator: automates repetitive tasks without programming.
  • VoiceOver: A built-in screen reader for those with vision disabilities.
  • Core Image and Core Video: allows additional effects in video and image editing to be performed in real time.
  • 64-bit memory support for the new G5, using the LP64 system. Apple claims that "Tiger's" new 64-bit memory addressing speeds up tasks on older 32-bit processors as well.
  • Updated Unix utilities, such as cp and rsync, that can preserve HFS Plus metadata and resource forks. (cp in 10.4 is like CpMac, mv is now like MvMac etc.)
  • An extended permissions system using access control lists.

An Intel x86 version of Mac OS X Tiger was previewed by Apple, and subsequently leaked to the Internet, following Apple's announcement to switch to the Intel platform. It was revealed by Apple at the June 2005 Worldwide Developers Conference that Intel versions of all previous versions of OS X had been compiled internally, keeping feature parity between the Intel and PowerPC versions, "just in case." Developers were provided the chance to buy an Intel-based developer transition system loaded with 10.4.1 in June 2005, and 10.4.2 and 10.4.3 were released to developers in September and November 2005 respectively. 10.4.4 is the first universal binary version of Mac OS X to be made freely available through Software Update. It is also preloaded on the new iMac (January 2006) and was available in February 2006 on the new MacBook Pro, both of which have the Intel Core Duo processor, as announced at Macworld in January 2006.

Mac OS X v10.5 "Leopard"

Mac OS X v10.5 "Leopard" was announced at the Worldwide Developers Conference on June 6, 2005. It is generally expected to be released at the end of 2006 or early 2007, roughly around the same time Microsoft would release Windows Vista (formerly known by the code-name "Longhorn"). Apple has said it will support both PowerPC- and Intel x86-based Macintosh computers. No information on what features Leopard will add to the Mac OS have been announced, although features available to developers in Tiger suggest that its GUI will be fully resolution independent, paving the way for much higher-resolution displays. Some rumor sites have claimed that it might include a whole new Finder (code-named "Chardonnay"), heavily based on Spotlight requests.

See also