Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, Mac OS X has been included with all new Macintosh computer systems. It is the successor to Mac OS 9, released in 1999, the final release of the “classic” Mac OS, which had been Apple’s primary operating system since 1984. Mac OS X, whose X is the Roman numeral for 10 and is a prominent part of its brand identity, is a Unix-based graphical operating system, built on technologies developed at NeXT between the second half of the 1980s and Apple’s purchase of the company in late 1996. From its sixth release, Mac OS X v10.5 “Leopard” and onward, every release of Mac OS X gained UNIX 03 certification while running on Intel processors. The first version released was Mac OS X Server 1.0 in 1999, and a desktop-oriented version, Mac OS X v10.0 “Cheetah” followed on March 24, 2001. Releases of Mac OS X are named after big cats: for example, Mac OS X v10.6 is usually referred to by Apple and users as “Snow Leopard”. The server edition, Mac OS X Server, is architecturally identical to its desktop counterpart, and includes tools to facilitate management of workgroups of Mac OS X machines, and to provide access to network services. These tools include a mail transfer agent, an LDAP server, a domain name server, and others. It is pre-loaded on Apple’s Xserve server hardware, but can be run on almost all of Apple’s current selling computer models. Apple also produces specialized versions of Mac OS X for use on its consumer devices. iOS, which is based on Mac OS X, runs on the iPhone, iPod Touch,0 iPad, and the 2nd generation Apple TV. An unnamed variant of Mac OS X powered the 1st generation Apple TV. History – Mac OS X is based upon the Mach kernel. Certain parts from FreeBSD’s and NetBSD’s implementation of Unix were incorporated in NeXTSTEP, the core of Mac OS X. NeXTSTEP was the object-oriented operating system developed by Steve Jobs’ company NeXT after he left Apple in 1985. While Jobs was away from Apple, Apple tried to create a “next-generation” OS through the Taligent, Copland and Gershwin projects, with little success. Eventually, NeXT’s OS, then called OPENSTEP, was selected to be the basis for Apple’s next OS, and Apple purchased NeXT outright. Steve Jobs returned to Apple as interim CEO, and later became CEO, shepherding the transformation of the programmer-friendly OPENSTEP into a system that would be adopted by Apple’s primary market of home users and creative professionals. The project was first known as Rhapsody and was later renamed to Mac OS X. Mac OS X Server 1.x, was incompatible with software designed for the original Mac OS and had no support for Apple’s own IEEE 1394 interface (FireWire). Mac OS X 10.x included more backward compatibility and functionality by including the Carbon API as well as FireWire support. As the operating system evolved, it moved away from the legacy Mac OS to an emphasis on new “digital lifestyle” applications such as the iLife suite, enhanced business applications (iWork), and integrated home entertainment (the Front Row media center). Each version also included modifications to the general interface, such as the brushed metal appearance added in version 10.3, the non-pinstriped titlebar appearance in version 10.4, and in 10.5 the removal of the previous brushed metal styles in favor of the “Unified” gradient window style.
Mac OS X is the tenth major version of Apple’s operating system for Macintosh computers. Previous Macintosh operating systems were named using Arabic numerals, e.g. Mac OS 8 and Mac OS 9. The letter X in Mac OS X’s name refers to the number 10, a Roman numeral. It is therefore correctly pronounced “ten” ( /?t?n/) in this context. However, due to the tenth version being the first to be based on Unix origins, and a reason for the Roman numeral to be used for the number 10 in its honour, a common pronunciation is “X”. Mac OS X’s core is a POSIX compliant operating system (OS) built on top of the XNU kernel, with standard Unix facilities available from the command line interface. Apple has released this family of software as a free and open source operating system named Darwin. On top of Darwin, Apple layered a number of components, including the Aqua interface and the Finder, to complete the GUI-based operating system which is Mac OS X. Mac OS X introduced a number of new capabilities to provide a more stable and reliable platform than its predecessor, Mac OS 9. For example, pre-emptive multitasking and memory protection improved the system’s ability 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 to be portable, to ease the transition from one platform to another. For example, NeXTSTEP was ported from the original 68k-based NeXT workstations to x86 and other architectures before NeXT was purchased by Apple, and OPENSTEP was later ported to the PowerPC architecture as part of the Rhapsody project. The most visible change was the Aqua theme. The use of soft edges, translucent colors, and pinstripes – similar to the hardware design of the first iMacs – brought more texture and color to the user interface when compared to what OS 9 and OS X Server 1.0′s “Platinum” appearance had offered. According to John Siracusa, an editor of Ars Technica, the introduction of Aqua and its departure from the then conventional look “hit like a ton of bricks.”5 Bruce Tognazzini (who founded the original Apple Human Interface Group) said that the Aqua interface in Mac OS X v10.0 represented a step backwards in usability compared with the original Mac OS interface. Third-party developers started producing skins for customizable applications and other operating systems which mimicked the Aqua appearance. To some extent, Apple has used the successful transition to this new design as leverage, at various times threatening legal action against people who make or distribute software with an interface the company claims is derived from its copyrighted design. Mac OS X architecture implements a layered design. The layered frameworks aid rapid development of applications by providing existing code for common tasks. Mac OS X includes its own software development tools, most prominently an integrated development environment called Xcode. Xcode provides interfaces to compilers that support several programming languages including C, C++, Objective-C, and Java. For the Apple–Intel transition, it was modified so that developers could build their applications as a universal binary, which provides compatibility with both the Intel-based and PowerPC-based Macintosh lines.
The Darwin sub-system in Mac OS X is in charge of managing the filesystem, which includes the Unix permissions layer. In 2003 and 2005, two Macworld editors expressed criticism of the permission scheme; Ted Landau called misconfigured permissions “the most common frustration” in Mac OS X,1 while Rob Griffiths suggested that some users may even have to reset permissions every day, a process which can take up to 15 minutes. More recently, another Macworld editor, Dan Frakes, called the procedure of repairing permissions vastly overused. He argues that Mac OS X typically handles permissions properly without user interference, and resetting permissions should just be tried when problems emerge. As of September 2010, Mac OS X is the second most active general-purpose client operating system in use on the World Wide Web, after Microsoft Windows, with an 8.3% usage share according to statistics compiled by W3Counter. It is the most successful Unix-like desktop operating system on the web, estimated at over 5 times the usage of Linux (which has 1.5%). See also Usage share of operating systems. Eighteen languages are available as the “base” language (that which is used for sub-user environments, such as the user login screen) at the first screen of the installation DVD. All of the eighteen user languages for the system menus, messages, and other functions are installed by default and can be chosen from the System Preferences. As of Mac OS X Snow Leopard, the languages are English, Japanese, French, German, Spanish, Italian, Dutch, Swedish, Danish, Norwegian, Finnish, Traditional Chinese, Simplified Chinese, Korean, Brazilian Portuguese, European Portuguese, Russian, and Polish. Input methods for typing in dozens of scripts can be chosen independently of the system language.
Software – The APIs that Mac OS X inherited from OpenStep are not backward compatible with earlier versions of Mac OS. These APIs were created as the result of a 1993 collaboration between NeXT Computer and Sun Microsystems and are now referred to by Apple as Cocoa. This heritage is highly visible for Cocoa developers, since the “NS” prefix is ubiquitous in the framework, standing variously for Nextstep or NeXT/Sun. The official OpenStep API, published in September 1994, was the first to split the API between Foundation and Application Kit and the first to use the “NS” prefix. Apple’s Rhapsody project would have required all new development to use these APIs, causing much outcry among existing Mac developers. All Mac software that did not receive a complete rewrite to the new framework would run in the equivalent of the Classic environment. To permit a smooth transition from Mac OS 9 to Mac OS X, the Carbon Application Programming Interface (API) was created. Applications written with Carbon can be executed natively on both systems. Carbon was not included in the first product sold as Mac OS X, Mac OS X Server (now known as Mac OS X Server 1.x). Mac OS X also used to support the Java Platform as a “preferred software package” – in practice this means that applications written in Java fit as neatly into the operating system as possible while still being cross-platform compatible, and that graphical user interfaces 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. Since Mac OS X is POSIX compliant, many software packages written for the * BSDs or Linux can be recompiled to run on it. Projects such as Fink, MacPorts and pkgsrc provide pre-compiled or pre-formatted packages. Since version 10.3, Mac OS X has included X11.app, Apple’s version of the X Window System graphical interface for Unix applications, as an optional component during installation. Up to and including Mac OS X v10.4 (Tiger), Apple’s implementation was based on the X11 Licensed XFree86 4.3 and X11R6.6. All bundled versions of X11 feature a window manager which is similar to the Mac OS X look-and-feel and has fairly good integration with Mac OS X, also using the native Quartz rendering system. Earlier versions of Mac OS X (in which X11 has not been bundled) can also run X11 applications using XDarwin. With the introduction of version 10.5 Apple switched to the X.org variant of X11. Hardware – For the early releases of Mac OS X, the standard hardware platform supported was the full line of Macintosh computers (laptop, desktop, or server) based on PowerPC G3, G4, and G5 processors. Later versions discontinued support for some older hardware; for example, Panther does not support “beige” G3s,0 and Tiger does not support systems that pre-date Apple’s introduction of integrated FireWire ports (the ports themselves are not a functional requirement). Mac OS X v10.5 “Leopard”, introduced October 2007, has dropped support for all PowerPC G3 processors and for PowerPC G4 processors with clock rates below 867 MHz. Mac OS X v10.6 “Snow Leopard” supports Macs with Intel processors, not PowerPC. Tools such as XPostFacto and patches applied to the installation disc have been developed by third parties to enable installation of newer versions of Mac OS X on systems not officially supported by Apple. This includes a number of pre-G3 Power Macintosh systems that can be made to run up to and including Mac OS X 10.2 Jaguar, all G3-based Macs which can run up to and including Tiger, and sub-867 MHz G4 Macs can run Leopard by removing the restriction from the installation DVD or entering a command in the Mac’s Open Firmware interface to tell the Leopard Installer that it has a clock rate of 867 MHz or greater. Except for features requiring specific hardware (e.g. graphics acceleration, DVD writing), the operating system offers the same functionality on all supported hardware. PowerPC versions of Mac OS X prior to Leopard 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. Classic is not supported on Intel-based Macs or in Mac OS X v10.5 “Leopard”, but users still requiring Classic applications on Intel Macs can use the SheepShaver emulator to run Mac OS 9 on top of Leopard.
Apple–Intel transition – In April 2002, eWeek announced a rumor that Apple had a version of Mac OS X code-named Marklar, which ran on Intel x86 processors. The idea behind Marklar was to keep Mac OS X running on an alternative platform should Apple become dissatisfied with the progress of the PowerPC platform. These rumors subsided until late in May 2005, when various media outlets, such as the Wall Street Journal2 and CNET,3 announced that Apple would unveil Marklar in the coming months. On June 6, 2005, Steve Jobs confirmed these rumors when he announced in his keynote address at the annual Apple Worldwide Developers Conference that Apple would be making the transition from PowerPC to Intel processors over the following two years, and that Mac OS X would support both platforms during the transition. Jobs also confirmed rumors that Apple had versions of Mac OS X running on Intel processors for most of its developmental life. 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 that made almost all 68K software work automatically on the new hardware. Apple had supported the 68K emulator for 11 years, but stopped supporting it during the transition to Intel CPUs. Included in the new OS for the Intel-based Macs is Rosetta, a binary translation layer which enables software compiled for PowerPC Mac OS X to run on Intel Mac OS X machines. Apple dropped support for Classic mode on the new Intel Macs. Third party emulation software such as Mini vMac, Basilisk II and SheepShaver provides support for some early versions of Mac OS. A new version of Xcode and the underlying command-line compilers support building universal binaries that will run on either architecture. PowerPC-only software is supported with Rosetta, though applications may have to be rewritten to run properly on the newer OS X for Intel. Apple initially encouraged developers to produce universal binaries with support for both PowerPC and x86.5 There is a performance penalty when PowerPC binaries run on Intel Macs through Rosetta. Moreover, some PowerPC software, such as kernel extensions and System Preferences plugins, are not supported on Intel Macs. Some PowerPC applications would not run on Intel OS X at all. Plugins for Safari need to be compiled for the same platform as Safari, so when Safari is running on Intel it requires plug-ins that have been compiled as Intel-only or universal binaries, so PowerPC-only plug-ins will not work. While Intel Macs are able to run PowerPC, x86, and universal binaries, PowerPC Macs support only universal and PowerPC builds. Support for the PowerPC platform was dropped after Mac OS X 10.5. Such cross-platform capability already existed in Mac OS X’s lineage; OpenStep was ported to many architectures, including x86, and Darwin included support for both PowerPC and x86. Apple stated that Mac OS X would not run on Intel-based personal computers aside from its own, but a hacked version of the OS compatible with conventional x86 hardware was developed by the OSx86 community. On June 8, 2009, Apple announced at its Worldwide Developers Conference that Snow Leopard (version 10.6) would drop support for PowerPC processors and be Intel-only. However, Rosetta is still supported. In Snow Leopard, Rosetta is not installed by default, but it is available on the installation DVD as an installable add-on and is installed automatically via the Internet when first attempting to run a PowerPC-based application.
One of the major differences between the previous versions of Mac OS and OS X was the addition of the Aqua GUI, a graphical user interface with water-like elements. Every window element, text, graphic, or widget is drawn on-screen using anti-aliasing technology. ColorSync, a technology introduced many years before, was improved and built into the core drawing engine, to provide color matching for printing and multimedia professionals. Also, drop shadows were added around windows and isolated text elements to provide a sense of depth. New interface elements were integrated, including sheets (document modal dialog boxes attached to specific windows) and drawers. Apple has continued to change aspects of the OS X appearance and design, particularly with tweaks to the appearance of windows and the menu bar. One example of a UI behavioral change is that previewed video and audio files no longer have progress bars in column view; instead, they have mouse-over start and stop buttons as of 10.5. The human interface guidelines published by Apple for Mac OS X are followed by many applications, giving them consistent user interface and keyboard shortcuts.0 In addition, new services for applications are included, which include spelling and grammar checkers, special characters palette, color picker, font chooser and dictionary; these global features are present in every Cocoa application, adding consistency. The graphics system OpenGL composites windows onto the screen to allow hardware-accelerated drawing. This technology, introduced in version 10.2, is called Quartz Extreme, a component of Quartz. Quartz’s internal imaging model correlates well with the Portable Document Format (PDF) imaging model, making it easy to output PDF to multiple devices. As a side result, PDF viewing and creating PDF documents from any application are built-in features. In version 10.3, Apple added Exposé, a feature which includes three functions to help accessibility between windows and desktop. Its functions are to 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. Also, FileVault was introduced, which is an optional encryption of the user’s files with Advanced Encryption Standard (AES-128). Features introduced in version 10.4 include Automator, an application designed to create an automatic workflow for different tasks;4 Dashboard, a full-screen group of small applications called desktop widgets that can be called up and dismissed in one keystroke;5 and Front Row, a media viewer interface accessed by the Apple Remote. Moreover, the Sync Services were included, which is a system that allows applications to access a centralized extensible database for various elements of user data, including calendar and contact items. The operating system then managed conflicting edits and data consistency. As of version 10.5, all system icons are scalable up to 512×512 pixels, to accommodate various places where they appear in larger size, including for example the Cover Flow view, a three-dimensional graphical user interface included with iTunes, the Finder, and other Apple products for visually skimming through files and digital media libraries via cover artwork. This version includes Spaces, a virtual desktop implementation which enables the user to have more than one desktop and display them in an Exposé-like interface. Mac OS X v10.5 includes an automatic backup technology called Time Machine, which provides the ability to view and restore previous versions of files and application data;0 and Screen Sharing was built in for the first time.
It used to be that developers needed to code their programs in such a way that their software would explicitly take advantage of the multiple cores, which could easily become a tedious and troublesome task, especially in complex software. It also includes advanced GPU performance with OpenCL (a cross platform open standard for GPGPU distinct from CUDA, Dx11 Compute Shader or STREAM) by providing support to offload work normally only destined for a CPU to the graphic card’s GPU. This can be especially useful in tasks that can be heavily parallelized. Snow Leopard only supports machines with Intel CPUs, requires at least 1 GB of RAM, and drops default support for applications built for the PowerPC architecture (Rosetta can be installed as an additional component to retain support for PowerPC-only applications). Version 10.7: “Lion” – A preview of Mac OS X v10.7 “Lion” was publicly unveiled at Apple’s “Back to the Mac” event on October 20, 2010. It will include support for the Mac App Store, and will bring many other developments made in Apple’s iOS, such as an easily-navigable display of installed applications, to the Mac. It is scheduled to be released in the (Northern Hemisphere) summer of 2011. Changes made to the GUI (Graphical User Interface) include the Launchpad (similar to the home screen of iOS devices), auto-hiding scrollbars that only appear when they are being used, and Mission Control, which unifies Exposé, Spaces, Dashboard, and full-screen applications within a single interface. Apple also made changes to applications: they resume in the same state as they were before they were closed (similar to iOS). Because of this, the Dock no longer visually indicates whether an app is currently running. In addition to this, documents auto-save by default so users don’t have to worry about manually managing their documents. A developer preview was released to developers on February 24, 2011. A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier (URI) and may be a web page, image, video, or other piece of content. Hyperlinks present in resources enable users to easily navigate their browsers to related resources. Although browsers are primarily intended to access the World Wide Web, they can also be used to access information provided by web servers in private networks or files in file systems. The major web browsers are Windows Internet Explorer, Mozilla Firefox, Google Chrome, Apple Safari, and Opera. History – The history of the web browser dates back to the late 1980s, when a variety of technologies laid the foundation for the first web browser, WorldWideWeb, by Tim Berners-Lee in 1991. That browser brought together a variety of existing and new software and hardware technologies. The introduction of the NCSA Mosaic web browser in 1993 – one of the first graphical web browsers – led to an explosion in web use. Marc Andreessen, the leader of the Mosaic team at NCSA, soon started his own company, named Netscape, and released the Mosaic-influenced Netscape Navigator in 1994, which quickly became the world’s most popular browser, accounting for 90% of all web use at its peak (see usage share of web browsers). Microsoft responded with its browser Internet Explorer in 1995 (also heavily influenced by Mosaic), initiating the industry’s first browser war. By bundling Internet Explorer with Windows, Microsoft was able to leverage its dominance in the operating system market to take over the web browser market; Internet Explorer usage share peaked at over 95% by 2002. Opera debuted in 1996; although it has never achieved widespread use, having less than 1% browser usage share as of February 2009 according to Net Applications,, having grown to 2.14 in April 2011 its Opera-mini version has an additive share, in April 2011 amounting to 1.11 % of overall browser use, but focused on the fast-growing mobile phone web browser market, being preinstalled on over 40 million phones. It is also available on several other embedded systems, including Nintendo’s Wii video game console. In 1998, Netscape launched what was to become the Mozilla Foundation in an attempt to produce a competitive browser using the open source software model. That browser would eventually evolve into Firefox, which developed a respectable following while still in the beta stage of development; shortly after the release of Firefox 1.0 in late 2004, Firefox (all versions) accounted for 7.4% of browser use. As of April 2011, Firefox has a 21.63% usage share. Apple’s Safari had its first beta release in January 2003; as of April 2011, it has a dominant share of Apple-based web browsing, accounting for just over 7.15% of the entire browser market. The most recent major entrant to the browser market is Google’s Chrome, first released in September 2008. As of April 2011, it has a 11.94% usage share.
Function – The primary purpose of a web browser is to bring information resources to the user. This process begins when the user inputs a Uniform Resource Identifier (URI), for example http://en.wikipedia.org/, into the browser. The prefix of the URI determines how the URI will be interpreted. The most commonly used kind of URI starts with http: and identifies a resource to be retrieved over the Hypertext Transfer Protocol (HTTP). Many browsers also support a variety of other prefixes, such as https: for HTTPS, ftp: for the File Transfer Protocol, and file: for local files. Prefixes that the web browser cannot directly handle are often handed off to another application entirely. For example, mailto: URIs are usually passed to the user’s default e-mail application, and news: URIs are passed to the user’s default newsgroup reader. In the case of http, https, file, and others, once the resource has been retrieved the web browser will display it. HTML is passed to the browser’s layout engine to be transformed from markup to an interactive document. Aside from HTML, web browsers can generally display any kind of content that can be part of a web page. Most browsers can display images, audio, video, and XML files, and often have plug-ins to support Flash applications and Java applets. Upon encountering a file of an unsupported type or a file that is set up to be downloaded rather than displayed, the browser prompts the user to save the file to disk. Information resources may contain hyperlinks to other information resources. Each link contains the URI of a resource to go to. When a link is clicked, the browser navigates to the resource indicated by the link’s target URI, and the process of bringing content to the user begins again. Features – For more details on this topic, see Comparison of web browsers. Available web browsers range in features from minimal, text-based user interfaces with bare-bones support for HTML to rich user interfaces supporting a wide variety of file formats and protocols. Browsers which include additional components to support e-mail, Usenet news, and Internet Relay Chat (IRC), are sometimes referred to as “Internet suites” rather than merely “web browsers”. All major web browsers allow the user to open multiple information resources at the same time, either in different browser windows or in different tabs of the same window. Major browsers also include pop-up blockers to prevent unwanted windows from “popping up” without the user’s consent. Most web browsers can display a list of web pages that the user has bookmarked so that the user can quickly return to them. Bookmarks are also called “Favorites” in Internet Explorer. In addition, all major web browsers have some form of built-in web feed aggregator. In Mozilla Firefox, web feeds are formatted as “live bookmarks” and behave like a folder of bookmarks corresponding to recent entries in the feed. In Opera, a more traditional feed reader is included which stores and displays the contents of the feed. Furthermore, most browsers can be extended via plug-ins, downloadable components that provide additional features.
Most major web browsers have these user interface elements in common: Back and forward buttons to go back to the previous resource and forward again. A refresh or reload button to reload the current resource. A stop button to cancel loading the resource. In some browsers, the stop button is often merged with the reload button. A home button to return to the user’s home page. An address bar to input the Uniform Resource Identifier (URI) of the desired resource and display it. A search bar to input terms into a search engine. A status bar to display progress in loading the resource and also the URI of links when the cursor hovers over them, and page zooming capability. Major browsers also possess incremental find features to search within a web page. Privacy and security – Most browsers support HTTP Secure and offer quick and easy ways to delete the web cache, cookies, and browsing history. For a comparison of the current security vulnerabilities of browsers, see comparison of web browsers. Standards support – Early web browsers supported only a very simple version of HTML. The rapid development of proprietary web browsers led to the development of non-standard dialects of HTML, leading to problems with interoperability. Modern web browsers support a combination of standards-based and de facto HTML and XHTML, which should be rendered in the same way by all browsers.