Jump to content

Apple–Intel architecture

From Wikipedia, the free encyclopedia

TheApple–Intel architecture,orMactel,is an unofficial name used forMacintoshpersonal computersdeveloped and manufactured byApple Inc.that useIntelx86processors,[not verified in body]rather than thePowerPCandMotorola 68000 ( "68k" ) seriesprocessors used in their predecessors or theARM-basedApple siliconSoCsused in their successors.[1]As Apple changed the architecture of its products, they changed thefirmwarefrom theOpen Firmwareused on PowerPC-based Macs to the Intel-designed Extensible Firmware Interface (EFI).[not verified in body]With the change in processor architecture to x86, Macs gained the ability to boot into x86-native operating systems (such asMicrosoft Windows), whileIntel VT-xbrought near-native virtualizationwith macOS as the host OS.

Technologies

[edit]

Background

[edit]

Apple uses asubsetof thestandard 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 theExtensible Firmware Interface.[2]

The EFI and GUID Partition Table

[edit]

With the change in architecture, a change infirmwarebecame necessary.[3]Extensible Firmware Interface (EFI) is the firmware-based replacement for the PCBIOSfrom Intel. Designed by Intel, it was chosen by Apple to replaceOpen Firmware,used onPowerPCarchitectures. Since many operating systems, such as Windows XP and many versions of Windows Vista, are incompatible with EFI, Apple released a firmware upgrade with aCompatibility Support Modulethat provides a subset of traditional BIOS support with itsBoot Campproduct.

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

[edit]

To Mac operating systems

[edit]

Intel Macs can boot in two ways: directly via EFI, or in a "legacy" BIOS compatibility mode. Formultibooting,holding down "Option" gives a choice of bootable devices, while therEFIndbootloaderis commonly used for added configurability.

LegacyLive USBscannot 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 toMac OS X,which can easily be booted via EFI.

To non-Mac operating systems

[edit]
Mac Mini with Intel Core

Booting to non-Mac operating systems is possible by holding the option key while booting to select an operating system other than macOS to which the user would like to boot.[5][6]

On April 5, 2006, Apple made available for download a publicbetaversion ofBoot Camp,a collection of technologies that allows users of Intel-based Macs to bootWindows XPService Pack 2.[7]The first non-beta version of Boot Camp is included inMac OS X v10.5,"Leopard."[8]

Differences from standard PCs

[edit]

Intel-based Mac computers use very similar hardware to PCs from other manufacturers that ship withMicrosoft WindowsorLinuxoperating systems. In particular,CPUs,chipsets,andGPUsare entirely compatible. However, Apple computers also include some custom hardware and design choices not found in competing systems:

  • System Management Controlleris a custom Apple chip that controls various functions of the computer related topower management,including handling the power button, management of battery and thermal sensors, among others.[9]It also plays a part in the protection scheme deployed to restrict booting macOS to Apple hardware (seeDigital Rights Managementbelow). Intel-based Mac doesn't implementTPM.
  • Laptop input devices. EarlyMacBookandMacBook Procomputers used an internal variant ofUSBas akeyboardandtrackpadinterconnect.[10]Since the 2013 revision ofMacBook Air,Apple started to use a customSerial Peripheral Interfacecontroller instead.[11]The2016 MacBook Proadditionally uses a custom internal USB device dubbed "iBridge" as an interface to the Touch Bar andTouch IDcomponents, as well as theFaceTime Camera.[12]PC laptops generally use internal variant of the legacyPS/2keyboard interconnect. PS/2 also used to be the standard for PC laptop pointing devices, although a variety of other interfaces, including USB,[13]SMBus,andI2C,[14]may also be used.
  • Additional custom hardware may include a GMUX chip that controlsGPU switching,[15]non-compliant implementations ofsolid-state storage[16]and non-standard configurations ofHD Audiosubsystem.[17]
  • Keyboard layouthas significant differences betweenAppleandIBM PC keyboards.While PC keyboards can be used inmacOS,as well as Mac keyboards inMicrosoft Windows,some functional differences occur. For example, theAlt(PC) andOption(Mac) keys function equivalently; the same is true forWin(PC) andCommand(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.[18]Compact and laptop keyboards from Apple also lack some keys considered essential on PCs, such as theforwardDeletekey,although some of them are accessible through theFnkey.[19]
  • Boot process. All Intel-based Macs have been using some version ofEFIas the boot firmware. At the time the platform debuted in 2006, it was in a stark contrast to PCs, which almost universally employed legacyBIOS,and Apple's implementation of EFI did not initially implement theCompatibility Support Modulethat would allow booting contemporary standard PC operating systems. Apple updated the firmware with CSM support with the release ofBoot Campin April 2006,[20]and since the release ofWindows 8in 2012,Microsofthas required itsOEMpartners to use UEFI boot process on PCs,[21]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 theHFS PlusandAPFSfile systemswith support locating the bootloader based on the "blessed directory" and "blessed file" properties of HFS+ and APFS volumes.[22]TheEFI System Partitionis thus not used or necessary for regular macOS boot process.[20]
    • Rudimentary pre-boot GUI framework, including support for image drawing, mouse cursor and events. This is used byFileVault 2to present the login screen before loading the operating system.[23]
    • Other non-standard EFI services for managing various firmware features such as the computer'sNVRAMand boot arguments.[24]

Some of these differences can pose as obstacles both torunning macOS on non-Apple hardwareand booting alternative operating systems on Mac computers – Apple only providesdriversfor its custom hardware formacOSandMicrosoft Windows(as part ofBoot Camp); drivers for other operating systems such asLinuxneed to be written by third parties, usually volunteerfree softwareenthusiasts.

Digital rights management

[edit]

Digital rights managementin 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 theMac OS Xoperating system.[citation needed]Its presence enforces a form of digital rights management, preventing Mac OS X being installed on stock PCs.[citation needed]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 isstealingMac OS X. The kext is located at /System/Library/Extensions on the volume containing the operating system.[25]The extension contains a kernel function calledpage_transform()that performsAESdecryption of "apple-protected" programs. A system lacking a proper key will not be able to run the Apple-restricted binaries, which includeDock,Finder,loginwindow,SystemUIServer,mds,ATSServer,backupd,fontd,translate,ortranslated.[26]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 aTrusted Platform Moduleamong 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 theSystem Management Controller,a component exclusive to Apple computers, and can be easily retrieved from it.[27]These two 32-byte keys form a human-readable ASCII string copyrighted by Apple,[28]establishing another possible line of legal defence against prospective clone makers.

Virtualization

[edit]

The processors found in Intel Macs supportIntel VT-x,which allows for high performance (near-native)virtualizationthat 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 wasParallels Desktop for Mac,released in June 2006.[29]The Parallels virtualization products allow users to use installations of Windows XP and later in a virtualized mode while running macOS.VirtualBoxis another piece of virtualization software originally from Innotek (nowOracle Corporation), which had a first public beta release for Mac OS X in April 2007.[30]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 theGPL.[31]

VMwarealso offers a Mac virtualization product competing with Parallels calledFusion,released August 2007.[32]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

[edit]

References and notes

[edit]
  1. ^"CPU Architectures".docs.elementscompiler.com.Retrieved2023-08-10.
  2. ^"UEFI firmware security in an Intel-based Mac".Apple Support.Retrieved2023-08-10.
  3. ^"Apple to Use Intel Microprocessors Beginning in 2006".Apple Newsroom.Retrieved2023-08-10.
  4. ^Note, Linux andX.orgrely on BIOS mode to initialize the video hardware, and hence under EFI-booting, Linux and X do not have hardware accelerated video.[citation needed]
  5. ^"Mac startup key combinations".Apple Support.Retrieved2024-08-04.
  6. ^"Change your Mac startup disk".Apple Support.Retrieved2024-08-04.
  7. ^"Technology | Apple makes Macs run Windows XP".BBC News.2006-04-05.Retrieved2015-10-11.
  8. ^"Personal Technology -- Personal Technology from The Wall Street Journal".2007-03-06. Archived fromthe originalon 2007-03-06.Retrieved2024-08-04.
  9. ^"Reset the System Management Controller (SMC) on your Mac".Apple Inc.Retrieved2017-03-30.
  10. ^"Program crash on open, will not load iTunes library".Software help archive.serato.com. 2009-10-29.Retrieved2017-03-30.
  11. ^"Apple MacBook Air 13-inch 2013: Windows struggles in Boot Camp".The Register. 2013-07-15.Retrieved2017-03-30.
  12. ^Daniel Roschka."State of Linux on the MacBook Pro 2016".github.com.Retrieved2017-03-30.
  13. ^Jan Steinhoff."Linux driver for Synaptics USB devices".Retrieved2017-03-30.
  14. ^"TouchPad Driver Support".Synaptics.Retrieved2017-03-30.
  15. ^Andreas Heider."GPU switching support for Apple Macbook Pro".github.com.Retrieved2017-03-30.
  16. ^TJ (2015-09-29)."Bug 99891 – Macbook8,1 12-inch (Early 2015) keyboard and trackpad don't work – Comment 11".bugzilla.kernel.org.Retrieved2017-03-30.
  17. ^Leif Liddy (2016-01-09)."Bug 110561 – Macbook8,1 12-inch (Early 2015) No speaker sound output".bugzilla.kernel.org.Retrieved2017-03-30.
  18. ^"Print Screen on Windows 7 with Apple Keyboard".superuser.com.Retrieved2017-03-30.
  19. ^"How do I type Home/End/PageUp/PageDown on a MacBook Pro?".superuser.com.Retrieved2017-03-30.
  20. ^ab"Myths and Facts About Intel Macs".refit.sourceforge.net.Retrieved2017-03-30.
  21. ^"Windows Hardware Certification Requirements for Client and Server Systems".Microsoft. January 2013.
  22. ^"bless(8) Mac OS X Manual Page".Apple, Inc.Retrieved2017-03-30.
  23. ^vit9696 (2016-10-28)."FileVault 2 – UEFI – InsanelyMac Forum".insanelymac.com.Retrieved2017-04-09.{{cite web}}:CS1 maint: numeric names: authors list (link)
  24. ^"VBoxAppleSim in vbox/trunk/src/VBox/Devices/EFI/Firmware/VBoxPkg – Oracle VM VirtualBox".Oracle Corporation.Retrieved2017-04-09.
  25. ^Victor Mihailescu (January 13, 2006)."Don't Steal Mac OS X!".Softpedia.Retrieved2007-01-17.
  26. ^Amit Singh."Understanding Apple's Binary Protection in Mac OS X".Osxbook.com.Retrieved2015-10-11.
  27. ^Amit Singh.""TPM DRM" In Mac OS X: A Myth That Won't Die ".Osxbook.com. Archived fromthe originalon 2020-01-03.Retrieved2017-03-30.
  28. ^Gabriel L. Somlo."Running Mac OS X as a QEMU/KVM Guest".Retrieved2017-03-30.
  29. ^"Parallels Celebrates 10 Years of Innovations and Industry Firsts in Parallels Desktop for Mac".BusinessWire.2016-06-14.Archivedfrom the original on 2023-08-11.Retrieved2023-08-11.
  30. ^"News (older entries)".virtualbox.org.Archivedfrom the original on 2023-08-11.Retrieved2023-08-11.
  31. ^"The GNU General Public License (GPL) Version 3".virtualbox.org.Retrieved2023-08-11.
  32. ^Cheng, Jacqui (2007-02-08)."VMware to release Fusion for Mac into the wild on Aug. 6".Ars Technica.Archivedfrom the original on 2023-08-11.Retrieved2023-08-11.
[edit]