MacOS: Difference between revisions
[unchecked revision] | [unchecked revision] |
Content deleted Content added
Minor fixes. |
Netbsduser (talk | contribs) Correct mistaken claims about the architecture of XNU. |
||
(7 intermediate revisions by 4 users not shown) | |||
Line 1:
{{stub}}
XNU (acronym for "X is Not Unix") is a [[
Darwin is
== Features ==
XNU as a derivative of 4.4BSD inherits most of its features, as well as some features imported from other BSD systems such as FreeBSD. Features of BSD heritage include:
* POSIX system calls and the various BSD extensions;
* the [[Wikipedia:Kqueue|kqueue]] event multiplexing system, a later import from FreeBSD;
* [[wikipedia:Mandatory_access_control|Mandatory Access Control (MAC)]], developed through the TrustedBSD project in collaboration with FreeBSD.
* own sandboxing system;
* own file system hierarchy (with [[wikipedia:Filesystem_Hierarchy_Standard|FHS]] preserved);
Line 20:
* OpenDirectory, an authentification system;
* SystemConfiguration, a modular configuration mechanism;
* [https://developer.apple.com/library/ios/documentation/System/Conceptual/ManPages_iPhoneOS/man3/asl.3.html Apple System Log (ASL)];
* [[wikipedia:AppleScript|AppleScript]];
* notifyd and distnoted, notification ([[Message_Passing|IPC]]) mechanisms;
* [[wikipedia:launchd|launchd]],
* Mach APIs;
* the I/O Kit, an object-oriented drivers framework;
* and more.
Line 39:
==== Sandboxing ====
This feature is present in both OS X and iOS, but in iOS it is much harder. In fact, it is a jail, which places applications inside their own environment, from which they can only access their own root. More about app sandbox
==
macOS is derived from the OSF/MK kernel, a variant of Mach, and from 4.4BSD UNIX. Mach originated as a system which rearchitected the lowest levels of the BSD kernel <ref>Accetta et al. (1986). ''[https://cseweb.ucsd.edu/classes/wi11/cse221/papers/accetta86.pdf Mach: A New Kernel Foundation for UNIX Development]''. USENIX Summer Conference 1986. Retrieved June 25, 2024.</ref> and initially retained most of the BSD kernel as a component layered on top of the Mach primitives, thus remaining a monolithic 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. NeXTSTEP forked their variant of Mach from a version in which this was the case. Later versions of Mach from version 3.0 onwards, such as OSF/MK, were [[microkernel]] systems.
== See Also ==▼
In order to maintain similar properties to the NeXTSTEP kernel, while avoiding the use of the then-encumbered 4.3BSD UNIX source tree, Apple developed XNU on the basis of the unencumbered OSF/MK and 4.4BSD-Lite2 codebases. The resulting kernel uses the core abstractions of the Mach kernel, which include tasks, threads, ports, port sets, messages, and memory objects, as a basis on which the adapted BSD kernel provides the higher-level BSD interfaces. As the 4.4BSD code runs as an integral part of the kernel, the result is a layered [[monolithic kernel]], although the marketing term [[Hybrid Kernel]] is often used in reference to XNU.
▲== See Also ==
=== External Links ===
* http://opensource.apple.com - here you can obtain sources of all open source components.
== References ==
<references/>
|