Apple–Intel architecture
The Apple–Intel architecture, or Mactel, is an unofficial name used for Macintosh personal computers developed and manufactured by Apple Inc. that use Intel x86 processors, rather than the PowerPC and Motorola 68000 ("68k") series processors used in their predecessors or the ARM-based Apple silicon SoCs used in their successors.[1] As Apple changed the architecture of its products, they changed the firmware from the Open Firmware used on PowerPC-based Macs to the Intel-designed Extensible Firmware Interface (EFI). With the change in processor architecture to x86, Macs gained the ability to boot into x86-native operating systems (such as Microsoft Windows), while Intel VT-x brought near-native virtualization with macOS as the host OS.
Mac transition to Intel processors |
---|
Technologies
Background
Apple uses a subset of the standard PC architecture, which provides support for Mac OS X and support for other operating systems. Hardware and firmware components that must be supported to run an operating system on Apple-Intel hardware include the Extensible Firmware Interface.[2]
The EFI and GUID Partition Table
With the change in architecture, a change in firmware became necessary.[3] Extensible Firmware Interface (EFI) is the firmware-based replacement for the PC BIOS from Intel. Designed by Intel, it was chosen by Apple to replace Open Firmware, used on PowerPC architectures. Since many operating systems, such as Windows XP and many versions of Windows Vista, are incompatible with EFI, Apple released a firmware upgrade with a Compatibility Support Module that provides a subset of traditional BIOS support with its Boot Camp product.
GUID Partition Table (GPT) is a standard for the layout of the partition table on a physical hard disk. It is a part of the Extensible Firmware Interface (EFI) standard proposed by Intel as a substitute for the earlier PC BIOS. The GPT replaces the Master Boot Record (MBR) used with BIOS.
Booting
To Mac operating systems
Intel Macs can boot in two ways: directly via EFI, or in a "legacy" BIOS compatibility mode. For multibooting, holding down "Option" gives a choice of bootable devices, while the rEFInd bootloader is commonly used for added configurability.
Legacy Live USBs cannot be used on Intel Macs; the EFI firmware can recognize and boot from USB drives, but it can only do this in EFI mode–when the firmware switches to BIOS mode, it no longer recognizes USB drives, due to lack of a BIOS-mode USB driver. Many operating systems, such as earlier versions of Windows and Linux,[4] could only be booted in BIOS mode, or were more easily booted or perform better when booted in BIOS mode, and thus USB booting on Intel-based Macs was for a time largely limited to Mac OS X, which can easily be booted via EFI.
To non-Mac operating systems
On April 5, 2006, Apple made available for download a public beta version of Boot Camp, a collection of technologies that allows users of Intel-based Macs to boot Windows XP Service Pack 2.[5] The first non-beta version of Boot Camp is included in Mac OS X v10.5, "Leopard." Before the introduction of Boot Camp, which provides most hardware drivers for Windows XP, drivers for XP were difficult to find.
Differences from standard PCs
Intel-based Mac computers use very similar hardware to PCs from other manufacturers that ship with Microsoft Windows or Linux operating systems. In particular, CPUs, chipsets, and GPUs are entirely compatible. However, Apple computers also include some custom hardware and design choices not found in competing systems:
- System Management Controller is a custom Apple chip that controls various functions of the computer related to power management, including handling the power button, management of battery and thermal sensors, among others.[7] It also plays a part in the protection scheme deployed to restrict booting macOS to Apple hardware (see Digital Rights Management below). Intel-based Mac doesn't implement TPM.
- Laptop input devices. Early MacBook and MacBook Pro computers used an internal variant of USB as a keyboard and trackpad interconnect.[8] Since the 2013 revision of MacBook Air, Apple started to use a custom Serial Peripheral Interface controller instead.[9] The 2016 MacBook Pro additionally uses a custom internal USB device dubbed "iBridge" as an interface to the Touch Bar and Touch ID components, as well as the FaceTime Camera.[10] PC laptops generally use internal variant of the legacy PS/2 keyboard interconnect. PS/2 also used to be the standard for PC laptop pointing devices, although a variety of other interfaces, including USB,[11] SMBus, and I2C,[12] may also be used.
- Additional custom hardware may include a GMUX chip that controls GPU switching,[13] non-compliant implementations of solid-state storage[14] and non-standard configurations of HD Audio subsystem.[15]
- Keyboard layout has significant differences between Apple and IBM PC keyboards. While PC keyboards can be used in macOS, as well as Mac keyboards in Microsoft Windows, some functional differences occur. For example, the Alt (PC) and ⌥ Option (Mac) keys function equivalently; the same is true for ⊞ Win (PC) and ⌘ Command (Mac) – however, the physical location of those keys is reversed. There are also keys exclusive for each platform (e.g. Prt Sc), some of which may require software remapping to achieve the desired function.[16] Compact and laptop keyboards from Apple also lack some keys considered essential on PCs, such as the forward Delete key, although some of them are accessible through the Fn key.[17]
- Boot process. All Intel-based Macs have been using some version of EFI as the boot firmware. At the time the platform debuted in 2006, it was in a stark contrast to PCs, which almost universally employed legacy BIOS, and Apple's implementation of EFI did not initially implement the Compatibility Support Module that would allow booting contemporary standard PC operating systems. Apple updated the firmware with CSM support with the release of Boot Camp in April 2006,[18] and since the release of Windows 8 in 2012, Microsoft has required its OEM partners to use UEFI boot process on PCs,[19] which made the differences smaller. However, Apple's version of EFI also includes some custom extensions that are utilized during regular macOS boot process, which include the following:
- Drivers for the HFS Plus and APFS file systems with support locating the bootloader based on the "blessed directory" and "blessed file" properties of HFS+ and APFS volumes.[20] The EFI System Partition is thus not used or necessary for regular macOS boot process.[18]
- Rudimentary pre-boot GUI framework, including support for image drawing, mouse cursor and events. This is used by FileVault 2 to present the login screen before loading the operating system.[21]
- Other non-standard EFI services for managing various firmware features such as the computer's NVRAM and boot arguments.[22]
Some of these differences can pose as obstacles both to running macOS on non-Apple hardware and booting alternative operating systems on Mac computers – Apple only provides drivers for its custom hardware for macOS and Microsoft Windows (as part of Boot Camp); drivers for other operating systems such as Linux need to be written by third parties, usually volunteer free software enthusiasts.
Digital rights management
Digital rights management in the Apple–Intel architecture is accomplished via the "Dont Steal Mac OS X.kext," sometimes referred to as DSMOS or DSMOSX, a file present in Intel-capable versions of the Mac OS X operating system. Its presence enforces a form of digital rights management, preventing Mac OS X being installed on stock PCs. The name of the kext is a reference to the Mac OS X license conditions, which allow installation on Apple hardware only. According to Apple, anything else is stealing Mac OS X. The kext is located at /System/Library/Extensions on the volume containing the operating system.[23] The extension contains a kernel function called page_transform() that performs AES decryption of "apple-protected" programs. A system lacking a proper key will not be able to run the Apple-restricted binaries, which include Dock, Finder, loginwindow, SystemUIServer, mds, ATSServer, backupd, fontd, translate, or translated.[24] If the check fails, a short poem is displayed, reading "Your karma check for today: There once was a user that whined, his existing OS was so blind, he'd do better to pirate an OS that ran great, but found his hardware declined. Please don't steal Mac OS! Really, that's way uncool. (C) Apple Computer, Inc."
After the initial announcement of first Intel-based Mac hardware configurations, reporting a Trusted Platform Module among system components, it was believed that the TPM is responsible for handling the DRM protection. It was later proven to not be the case. The keys are actually contained within the System Management Controller, a component exclusive to Apple computers, and can be easily retrieved from it.[25] These two 32-byte keys form a human-readable ASCII string copyrighted by Apple,[26] establishing another possible line of legal defence against prospective clone makers.
Virtualization
The processors found in Intel Macs support Intel VT-x, which allows for high performance (near-native) virtualization that gives the user the ability to run and switch between two or more operating systems simultaneously, rather than having to dual-boot and run only one operating system at a time.
The first virtualization software for Intel Macs was Parallels Desktop for Mac, released in June 2006.[27] The Parallels virtualization products allow users to use installations of Windows XP and later in a virtualized mode while running macOS. VirtualBox is another piece of virtualization software originally from Innotek (now Oracle Corporation), which had a first public beta release for Mac OS X in April 2007.[28] It supports VT-x and can run multiple other guest operating systems, including Windows XP and later. It is available free of charge under either a proprietary license or the GPL.[29]
VMware also offers a Mac virtualization product competing with Parallels called Fusion, released August 2007.[30] VMware's virtualization product also allows users to use installations of Windows XP and later under macOS.
Regardless of the product used, there are inherent limitations and performance penalties in using a virtualized guest OS versus the native macOS or booting an alternative OS solution offered via Boot Camp.
See also
References and notes
- "CPU Architectures". docs.elementscompiler.com. Retrieved 2023-08-10.
- "UEFI firmware security in an Intel-based Mac". Apple Support. Retrieved 2023-08-10.
- "Apple to Use Intel Microprocessors Beginning in 2006". Apple Newsroom. Retrieved 2023-08-10.
- Note, Linux and X.org rely on BIOS mode to initialize the video hardware, and hence under EFI-booting, Linux and X do not have hardware accelerated video.
- "Technology | Apple makes Macs run Windows XP". BBC News. 2006-04-05. Retrieved 2015-10-11.
- Anon. (2012). "Linux netticasinon asentaminen MacBook Pro tietokoneeseen" [Finnish language organizational blog entry], Mactel (May 29), see , accessed 11 October 2015.
- "Reset the System Management Controller (SMC) on your Mac". Apple Inc. Retrieved 2017-03-30.
- "Program crash on open, will not load iTunes library". Software help archive. serato.com. 2009-10-29. Retrieved 2017-03-30.
- "Apple MacBook Air 13-inch 2013: Windows struggles in Boot Camp". The Register. 2013-07-15. Retrieved 2017-03-30.
- Daniel Roschka. "State of Linux on the MacBook Pro 2016". github.com. Retrieved 2017-03-30.
- Jan Steinhoff. "Linux driver for Synaptics USB devices". Retrieved 2017-03-30.
- "TouchPad Driver Support". Synaptics. Retrieved 2017-03-30.
- Andreas Heider. "GPU switching support for Apple Macbook Pro". github.com. Retrieved 2017-03-30.
- TJ (2015-09-29). "Bug 99891 – Macbook8,1 12-inch (Early 2015) keyboard and trackpad don't work – Comment 11". bugzilla.kernel.org. Retrieved 2017-03-30.
- Leif Liddy (2016-01-09). "Bug 110561 – Macbook8,1 12-inch (Early 2015) No speaker sound output". bugzilla.kernel.org. Retrieved 2017-03-30.
- "Print Screen on Windows 7 with Apple Keyboard". superuser.com. Retrieved 2017-03-30.
- "How do I type Home/End/PageUp/PageDown on a MacBook Pro?". superuser.com. Retrieved 2017-03-30.
- "Myths and Facts About Intel Macs". refit.sourceforge.net. Retrieved 2017-03-30.
- "Windows Hardware Certification Requirements for Client and Server Systems". Microsoft. January 2013.
- "bless(8) Mac OS X Manual Page". Apple, Inc. Retrieved 2017-03-30.
- vit9696 (2016-10-28). "FileVault 2 – UEFI – InsanelyMac Forum". insanelymac.com. Retrieved 2017-04-09.
- "VBoxAppleSim in vbox/trunk/src/VBox/Devices/EFI/Firmware/VBoxPkg – Oracle VM VirtualBox". Oracle Corporation. Retrieved 2017-04-09.
- Victor Mihailescu (January 13, 2006). "Don't Steal Mac OS X!". Softpedia. Retrieved 2007-01-17.
- Amit Singh. "Understanding Apple's Binary Protection in Mac OS X". Osxbook.com. Retrieved 2015-10-11.
- Amit Singh. ""TPM DRM" In Mac OS X: A Myth That Won't Die". Osxbook.com. Archived from the original on 2020-01-03. Retrieved 2017-03-30.
- Gabriel L. Somlo. "Running Mac OS X as a QEMU/KVM Guest". Retrieved 2017-03-30.
- "Parallels Celebrates 10 Years of Innovations and Industry Firsts in Parallels Desktop for Mac". BusinessWire. 2016-06-14. Archived from the original on 2023-08-11. Retrieved 2023-08-11.
- "News (older entries)". virtualbox.org. Archived from the original on 2023-08-11. Retrieved 2023-08-11.
- "The GNU General Public License (GPL) Version 3". virtualbox.org. Retrieved 2023-08-11.
- Cheng, Jacqui (2007-02-08). "VMware to release Fusion for Mac into the wild on Aug. 6". Ars Technica. Archived from the original on 2023-08-11. Retrieved 2023-08-11.