TranslateProject/sources/tech/20180704 What is the Difference Between the macOS and Linux Kernels.md
Stephen 548b3e61dd
translated by stephenxs
translated by stephenxs
2018-07-14 17:51:36 +08:00

4.8 KiB
Raw Blame History

tranWhat is the Difference Between the macOS and Linux Kernels

Some people might think that there are similarities between the macOS and the Linux kernel because they can handle similar commands and similar software. Some people even think that Apples macOS is based on Linux. The truth is that both kernels have very different histories and features. Today, we will take a look at the difference between macOS and Linux kernels.

macOS vs Linux

History of macOS Kernel

We will start with the history of the macOS kernel. In 1985, Steve Jobs left Apple due to a falling out with CEO John Sculley and the Apple board of directors. He then founded a new computer company named NeXT. Jobs wanted to get a new computer (with a new operating system) to market quickly. To save time, the NeXT team used the Mach kernel from Carnegie Mellon and parts of the BSD code base to created the NeXTSTEP operating system.

NeXT never became a financial success, due in part to Jobs habit of spending money like he was still at Apple. Meanwhile, Apple had tried unsuccessfully on several occasions to update their operating system, even going so far as to partner with IBM. In 1997, Apple purchased NeXT for $429 million. As part of the deal, Steve Jobs returned to Apple and NeXTSTEP became the foundation of macOS and iOS.

History of Linux Kernel

Unlike the macOS kernel, Linux was not created as part of a commercial endeavor. Instead, it was created in 1991 by Finnish computer science student Linus Torvalds. Originally, the kernel was written to the specifications of Linus computer because he wanted to take advantage of its new 80386 processor. Linus posted the code for his new kernel to the Usenet in August of 1991. Soon, he was receiving code and feature suggestions from all over the world. The following year Orest Zborowski ported the X Window System to Linux, giving it the ability to support a graphical user interface.

Over the last 27 years, Linux has slowly grown and gained features. Its no longer a students small-time project. Now it runs most of the worlds computing devices and the worlds supercomputers. Not too shabby.

Features of the macOS Kernel

The macOS kernel is officially known as XNU. The acronym stands for “XNU is Not Unix.” According to Apples Github page, XNU is “a hybrid kernel combining the Mach kernel developed at Carnegie Mellon University with components from FreeBSD and C++ API for writing drivers”. The BSD subsystem part of the code is “typically implemented as user-space servers in microkernel systems”. The Mach part is responsible for low-level work, such as multitasking, protected memory, virtual memory management, kernel debugging support, and console I/O.

Features of Linux Kernel

While the macOS kernel combines the feature of a microkernel (Mach)) and a monolithic kernel (BSD), Linux is solely a monolithic kernel. A monolithic kernel is responsible for managing the CPU, memory, inter-process communication, device drivers, file system, and system server calls.

Difference between Mac and Linux kernel in one line

The macOS kernel (XNU) has been around longer than Linux and was based on a combination of two even older code bases. On the other hand, Linux is newer, written from scratch, and is used on many more devices.

If you found this article interesting, please take a minute to share it on social media, Hacker News or Reddit.


via: https://itsfoss.com/mac-linux-difference/

作者:John Paul 选题:lujun9972 译者:译者ID 校对:校对者ID

本文由 LCTT 原创编译,Linux中国 荣誉推出