Unix, Linux 和MacOS

原文地址: juejin.im/post/5cd5d1…linux

目录

常见问题

我经常会听到相似的问题: Unix, Linux和MacOS之间有什么联系? 又有什么区别?shell

先说结论:macos

  • Linux操做系统的内核Unix的分支, 内核上的大部分软件是按照POSIX协议运行,因此跟Unix系统上运行效果相似,所以是Linux是类Unix的操做系统.
  • MacOS的内核是在Unix的家族分支上的,其内核是基于NeXTSTEP和FreeBSD混合开发组成,因此有部分功能运行的跟Unix系统同样,有部分又不一样(定制开发)

以下图:架构

下面开始详细描述.工具

Unix

Unix是一个由多用户、多进程的计算机操做系统的统称,源自于从20世纪70年代开始在美国AT&T公司的Bell Labs开发的 AT&T Unix, 包括不少个类似但不一样的变种操做系统. Unix是一个商业上的专利产品, 须要购买或受权才能使用.post

POSIX

随着Unix变种操做系统的增长,就须要有标准来规范各个变种操做系统,以保证系统之间的兼容性,这样就有了POSIX.学习

POSIX: Portable Operating System Interface,中文为可移植操做系统接口,为一系列标准的集合,是由IEEE Computer Society定义的觉得保证各UNIX操做系统之间的兼容性.操作系统

POSIX中定义的标准有:3d

  • Core Services: 核心服务,包括Process, Signals, Pipes, C Library等.
  • Real-time extensions: 包含Priority Scheduling, Real-Time Signals, Shared Memory, Asynchronous and Synchronous I/O等.
  • Threads extensions: 包括Thread Creation, Control, and Cleanup, Thread Scheduling, Thread Synchronization, Signal Handling等.
  • Shell and Utilities: 包括Command Interpreter和Utility Programs, utility program如:cd,cp,ls等.

SUS

SUS: Single UNIX Specification, 建立的目的与POSIX相似,都是为了保证Unix系统之间的兼容性. 如今由IEEE和The Open Group共同组成的Austin Group来开发和维护.unix

Austin Group从POSIX和SUS中定义了一套通用的标准,称为Open Group Base Specification.

POSIX和SUS是有交集的

Linux

Linux是一个基于Linux kernel的类Unix操做系统的统称.

Linux kernel是一个operating system kernel,由Linus Torvalds发布.

GNU Project

GNU Project是一个关于free-software, mass-collaboration的项目,理念是: 用户能够自由的使用,分享,学习和修改软件.

由GNU项目和Linux kernel就能够组成一个类Unix的操做系统:

  • GNU packages: 包含了许多操做系统的工具和应用软件,如shell,coreutils,compilers,libraries以及按照POSIX标准实现的类库等.
  • Linux kernel: 提供了进程调度,多重任务处理,驱动管理,内存管理等功能.
  • non-GNU programs: 非GNU应用程序.

Linux kernel不属于GNU project, 但基于GNU General Public License.

Linux distribution

Linux发行版, 是由Linux kernel加上一些软件组成,不一样的组合就构成了不一样的发行版. 一般发行版会包括:

  • Linux kernel.
  • GNU packages.
  • 窗口管理软件: 如GNOME.
  • 文档.

比较受欢迎的发行版有: Debian, Fedora, Ubuntu等.

MacOS

MacOS新的名称为Darwin, 这是Apple发布的类Unix的操做系统, 内核由XNU构成, 而XNU是基于NeXTSTEP和FreeBSD混合开发组成. 架构图以下:

Unix和类Unix系统的演进

Evolution of Unix and Unix-like system

参考

相关文章
相关标签/搜索