Talk:OS X

Page contents not supported in other languages.
From Simple English Wikipedia, the free encyclopedia

EFI and Kernel[change source]

For the following words are related with Mac OS X and Macintosh systems, that would help answer why your 64-bit processor could not use 64-bit kernels. Words are repressed in simpler English. Some an eligible wiki editor might be suggested to represent useful part(s) onto the main article. Discussion and correction to my faults are both encouraged!

The Apple in-house EFI firmware is something a bit different from the original Intel EFI designed for their Itanium processors, and Apple's EFI firmware is not UEFI firmware deployed by most personal computers. In fact, the boot loader, boot.efi, is also a universal (fat) binary from Mac OS X 10.4.7 through 10.7.5. It provides two booting images for 32-bit and 64-bit EFI firmware respectively. Starting from Mac OS X 10.4.7, the 32-bit kernel provides two operating modes, one in pure 32-bit mode for IA-32 processors, and the other in the 64-bit mode for Intel 64 processors. Codes for those two modes are sealed into one binary image (IA-32 vs PPC), sealed into mach_kernel file. For Mac OS X 10.4 (since 10.4.7) and 10.5, the 32-bit EFI firmware would load 32-bit boot loader, which in turn checks whether EM64T function is available, if so, it would boot the codes written for Intel 64 processors, or else it loads the pure 32-bit codes for IA-32 processors. Similar with it, the 64-bit EFI firmware would load 64-bit boot loader sealed in the file boot.efi too, which in turn loads the codes written for Intel 64 processor only. Even though the 32-bit kernel works on different operating modes, but the same kernel extensions, KEXT, such as device drivers, and 32-bit applications working in the same style. 32-bit applications could take up the entire 4GB virtual space, and kernel has its own virtual space without overlaps with 32-bit applications. Those things make the world outside kernel without awareness of different environments they survive, and additional 64-bit applications could also work for Intel 64 processors. In Mac OS X 10.6, the 32-bit loader do the same job as previous versions, but besides booting the 32-bit kernel for Intel 64 processor, the 64-bit EFI loader also optionally boot the real 64-bit kernel for selected machines, or appropriate option is manually specified in NVRAM. Intel 64 processor based Macintosh computers but equipped with 32-bit EFI firmware could not work with 64-bit kernel, and the 64-bit EFI firmware lacks some features needed to load 64-bit kernel could not work with it too. In Mac OS X 10.7, the mach_kernel includes both 32-bit and 64-bit images similarly, but the 64-bit EFI loader load the 64-bit kernel by default, and support almost the entire 64-bit EFI equipped computers. With optional parameters issued to NVRAM, the 64-bit EFI loader would also load 32-bit kernel written for Intel 64 processors. The 32-bit kernel also provides for two operating modes, 32-bit and 64-bit. But the 32-bit EFI loader never loads the codes written for IA-32 processors, after checking EM64T is not available, it simply halts the system with prompt, 32-bit processor is not supported by this version of Mac OS X. Since OS X 10.8, the boot.efi provides only one binary image for 64-bit EFI firmware, and only 64-bit kernel provided.

As to the Mac OS X 10.4.1 through 10.4.6, only 32-bit EFI loader is provided, and the 32-bit kernel is only working under 32-bit operating mode. Both IA-32 and Intel 64 processor based Macintosh computers with 32-bit EFI firmware equipped would work in the same way, and there is no support for 64-bit applications at all. Limited by some 32-bit EFI firmware, the overlapped physical memory space does not be remapped, so even though the 32-bit kernel is working under 64-bit operating mode for Intel 64 processors, the overlapped range could not be accessed! Starting from OS X 10.10, the boot.efi represents itself in the form of 32-bit PE format, but 64-bit codes support only 64-bit EFI firmware and 64-bit kernel. — This unsigned comment was added by 175.17.63.118 (talk • changes).

Comment: The above content is probably more suitable on Apple–Intel architecture or BootX (Apple), due to the more technical nature of what is being discussed. Chenzw  Talk  16:41, 1 December 2015 (UTC)[reply]
Yeah, I think EFI (Apple) is much more suitable, and readers would find valuable information they might need. Dr. Huasheng (talk) 12:34, 2 December 2015 (UTC)[reply]

Rename to "macOS"[change source]

Starting from 10.12, OS X was rebranded as "macOS", with the OS itself also referencing all versions before 10.12 as "macOS". If someone is free and willing, please feel free to perform the page move and replace all instances of the old name in the article. Chenzw  Talk  09:00, 9 October 2016 (UTC)[reply]