Software & Apps Linux 270 270 people found this article helpful MacOS Is Not a Linux Distribution Both operating systems share the same roots by Juergen Haas Writer Former Lifewire writer Juergen Haas is a software developer, data scientist, and a fan of the Linux operating system. our editorial process Juergen Haas Updated on March 27, 2020 Linux Switching from Windows Tweet Share Email Both macOS—the operating system used on Apple desktop and notebook computers—and Linux are based on the Unix operating system, which was developed at Bell Labs in 1969 by Dennis Ritchie and Ken Thompson. The operating system used on Apple iPhones, now called iOS, is derived from macOS and therefore is also a Unix variant. The Connection Between macOS and Linux Like all major Linux distributions, such as Ubuntu, Red Hat, and SuSE Linux, macOS offers a desktop environment that provides a graphical user interface to application programs and system settings. This desktop environment is built on top of a Unix-type OS just as the desktop environments of Linux distros are built on top of the core Linux OS. However, Linux distros usually offer alternative desktop environments besides the one installed by default. Microsoft Windows and macOS don't give users the option to switch desktop environments, other than minor look-and-feel adjustments such as color schemes and font size. The Common Roots of Linux and macOS The practical aspect of the common roots of Linux and macOS is that both follow the POSIX standard. POSIX stands for Portable Operating System Interface for Unix-like Operating Systems. This compatibility makes it possible to compile applications developed on Linux on macOS systems. Linux even provides options to compile applications on Linux for macOS. John Coulter / Getting Images Like Linux distros, macOS includes a Terminal application, which provides a text window in which you can run Linux commands. This terminal is also often referred to as command line, shell, or shell window. It's the text-based environment that people used to operate computers before the graphical user interface became available. It is still widely used for system administration and scripting automated processes. The popular Bash shell is available in macOS as it is in most Linux distributions. The Bash shell helps you to quickly traverse the file system and start text-based or graphical applications. In a shell, you can use all the basic Linux and shell commands such as ls, cd, and cat. The file system is structured as in Linux, with partitions such as usr, var, etc, dev, and home, although there are additional folders in macOS. The basic programming languages of Unix-type operating systems such as Linux and macOS are C and C++. Much of the operating system is implemented in these languages, and many basic applications are implemented in C and C++ as well. High-level programming languages such as Perl and Java are also implemented in C/C++. Apple provides the Objective C programming language, including an Integrated Development Environment called Xcode to support the development of applications for macOS and iOS. Like Linux, macOS includes strong Java support and provides a custom Java installation to ensure seamless integration of Java applications. It also includes terminal-based versions of the text editors Emacs and vi, which are popular on Linux systems. Versions with more GUI support can be downloaded from the Apple AppStore. Major Differences One of the differences between Linux and Mac OS X is the kernel. The kernel is the core of a Unix-type OS and implements functions such as process and memory management as well as file, device, and network management. When Linus Torvalds designed the Linux kernel he opted for what is referred to as a monolithic kernel for performance reasons, as opposed to the microkernel, which is designed for more flexibility. macOS uses a kernel design that compromises between these two architectures.