MacOS: Difference between revisions

1,366 bytes added ,  3 years ago
Significant corrections and expansions
[unchecked revision][unchecked revision]
(Significant corrections and expansions)
Line 1:
{{stub}}
 
XNU (acronym for "X is Not Unix") is a [[Hybrid Kernel|hybrid kernel]] based on [[wikipedia:Mach (kernel)|Mach]] and2.5, a hybrid kernel derived from [[wikipedia:Berkeley_Software_Distribution|BSD]] and the [[wikipedia:Accent kernel|Accent]] kernel, which is used in OS XmacOS. It was developed for the NeXTStep operating system; when Apple purchased NeXT, they opted to use NeXTStep to replace the obsolete classic Mac OS (Mac OS 9 and older) kernel, which had poor memory protection and cooperative multitasking.
 
macOS is an Apple's mostlypartly proprietary operating system for Macintosh computers, which is, in fact, able to be run on any modern x86-64 computer; it also has a mobile version, iOS, and other specialised editions: tvOS and watchOS.
 
Darwin is athe distributionterm offor corethe opencore sourceBSD componentsUNIX ofsystem OSwhich XmacOS andbuilds iOSatop.
 
== Features ==
 
XNU as a direct derivative from 4.3BSD inherits most of its features, as well as some features imported from other BSD systems such as FreeBSD. Features of BSD heritage include:
XNU inherits some BSD features:
* POSIX system calls and the various BSD extensions;
* the [[Wikipedia:Kqueue|kqueue]] event multiplexing system;
* some BSD extensions;
* [[wikipedia:Mandatory_access_control|Mandatory Access Control (MAC)]].
 
Line 23:
* [[wikipedia:AppleScript|AppleScript]];
* notifyd and distnoted, notification ([[Message_Passing|IPC]]) mechanisms;
* [[wikipedia:launchd|launchd]], an initializationa system, network managerinitialisation and otherservice thingsmanagement all-in-one;system'
* Mach APIs;
* the I/O Kit, an object-oriented drivers framework;
* IOKit framework, which allows interfacing with kernel mode drivers for user space programs;
* and more.
 
Line 42:
 
== Hybrid Kernel Design ==
macOS is derived from the Mach 2.5 operating system, a derivative of the 4.3BSD UNIX system which rearchitected the lowest levels of the BSD kernel. The primary inspiration for this redesign was the Accent kernel developed at Carnegie-Mellon University. Mach made several adaptations to the Accent model to better support UNIX compatibility.
TODO
 
The core abstractions of the Mach kernel are four: tasks, threads, ports, port sets, messages, and memory objects. The BSD kernel is adapted to use these underlying Mach abstractions to provide a complete higher-level BSD UNIX system.
 
A later version of Mach, version 3.0, was able to detach the new low-level abstraction layer from the BSD kernel, yielding a [[Microkernel]], where the BSD kernel was replaced with userland servers carved out from the BSD kernel code. XNU, however, was forked from Mach 2.5, which had not yet done so. While some improvements were imported from Mach 3.0, Apple opted not to separate the BSD kernel into userland servers. Thus XNU represents the [[Hybrid Kernel]] approach.
 
== See Also ==
Anonymous user