Unix, Linux 和MacOS

article/2025/10/13 0:47:35

常见问题

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

先说结论:

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

如下图:

 

 

 

下面开始详细描述.

Unix

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

POSIX

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

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

POSIX中定义的标准有:

  • 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来开发和维护.

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

 

 

参考


作者:keith
链接:https://juejin.cn/post/6844903841901576199
 


http://chatgpt.dhexx.cn/article/mZkyaAa6.shtml

相关文章

Ubuntu/Linux/Unix 究竟有什么区别??

导言 经常在和别人讨论的时候,老是会听见别人说:“我的是linux系统”、“我的是ubuntu系统”、“我的是unix系统”,那么三者到底有什么区别呢?这种说法又对不对呢? 网上搜集了资料整理了一下,和大家一起学…

Linux和UNIX操作系统的关系及区别(详解)

摘要: 通过介绍 linux 和 unix 的发展历史,说明 unix 与 Linux 的关系与区别。最后阐述了 unix / Linux 系统的结构(内核层、shell层、应用层)。 UNIX 与 Linux 之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中…

【Linux】Unix和Linux的历史及关系

Unix和Linux的关系 悉悉嗦嗦Unix的历史Linux简介Mac OS 悉悉嗦嗦 对于接触计算机不久的同学来说,可能经常听到类似:Unix,Linux,类Unix,Mac OS X,BSD,FreeBSD,“Linux和Unix一样啦”…

Linux与UNIX的区别与联系

UNIX诞生于20世纪60年代末,Windows诞生于20世纪80年代中期,而Linux诞生于20世纪90年代初,可以说UNIX是操作系统中的“老大哥”。 分时操作系统:是一台计算机可以同时为多个用户服务,连接计算机的终端用户交互式发出命令…

linux和unix区别

转至:http://www.goceanedu.com.cn UNIX是历史最悠久的通用操作系统。1969年,美国贝尔实验室的K.Thompson和D.M.Ritchie在规模较小及较简单的分时操作系统MULTICS的基础上开发出UNIX, 当时是在DEC的PDP—7小型计算机上实现的,1970年正式投入运行。此后数年,UNIX一直是一个限…

Unix和Linux的的发展史

首先说明本帖是转的,旨在让大家了解科技界的一些故事,每一种科技的进步都伴随开发者们不懈的努力! Unix是目前还在存活的操作系统的元老了,走过了40年的历程。由它引发的思想变革,对当今计算机文化造成的深远影响。这…

Unix,Linux和Windows

Unix、Linux和Windows都是操作系统,Unix和Linux需要输入命令来执行;Windows只需要点击鼠标就能执行命令,不需要学习命令,容易操作,又称为视窗操作系统。 Unix是操作系统的鼻祖,诞生之后的初始阶段免费使用…

linux和unix区别_Unix vs Linux – Unix和Linux之间的区别

linux和unix区别 Here you will learn about difference between unix and linux i.e. unix vs linux. 在这里,您将了解unix和linux之间的区别,即 unix vs linux。 Unix OS Unix操作系统 Unix is a proprietary software and it is a complete operating system. Unix是专有…

Unix 和 Linux 那些事

目前世界上有三大主流操作系统,Windows、Linux 和 Unix。安卓系统是基于 Linux的,苹果系统是基于 Unix的。全世界大部分的服务器运行着 Linux操作系统,其中 99%的超级计算机都是使用 Linux。但是 Linux系统又被称为类Unix系统,那么…

Linux和UNIX的关系及区别

原文链接 UNIX 与 Linux 之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞生于 20 世纪 90 年代初,可以说 UNIX 是操作系统中的&qu…

Linux和UNIX的关系及区别(详解)

UNIX 与 Linux 之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞生于 20 世纪 90 年代初,可以说 UNIX 是操作系统中的"老大哥&…

Linux与Unix有什么区别吗?

Linux和Unix都是功能强大的操作系统,都是应用广泛的服务器操作系统,有很多相似之处,甚至有一部分人错误地认为Unix和Linux操作系统是一样的,然而,事实并非如此,以下是两者的区别。 1. 开源性 Linux是一款…

【Linux基础】Unix与Linux操作系统介绍

一、Unix和Linux操作系统概述 1.Unix是什么 UNIX是一个计算机操作系统,一个用来协调、管理和控制计算机硬件和软件资源的控制程序。 2.Unix特点 (1)多用户:在同一时刻可以有多个用户同时使用UNIX操作系统而且他们互不干扰&#xf…

Unix简介及Linux简介

1.Unix简介 UNIX是20世纪70年代初出现的一个操作系统,除了作为网络操作系统之外,还可以作为单机操作系统使用。Unix作为一种开发平台和台式操作系统获得了广泛使用,主要用于工程应用和科学计算等领域。 2.Unix哲学 3.资深Unix程序员的格言 …

vue实现前端登录验证码

一、验证码组件 <template><div class"s-draw"><canvas id"s-draw" :width"contentWidth" :height"contentHeight"></canvas></div> </template> <script> export default {name: SIdentif…

用户登录的验证码

效果展示 1.在component中导入组件用于生成二维码 Identify.vue <template><div class"s-canvas"><canvas id"s-canvas" :width"contentWidth" :height"contentHeight"></canvas></div> </templ…

vue实现登录验证码

效果图&#xff1a; html代码 输入错误三次显示该验证码&#xff0c;isSidentify 为输错次数 <div class"inputYzm vfCode" v-if"isSidentify > 3"><input placeholder"请输入验证码" v-model"sidentifyMode" /><…

JavaWeb实现登录验证码

在登录界面中使用图片验证码, 对于现在的web应用到处可见. 话不多说, 开始写代码了! 首先, 新建一个JSP, 表示登录界面: login3.jsp文件: <%--User: menglanyingfeiDate: 2018/1/12Time: 16:16 --%> <% page contentType"text/html;charsetUTF-8" langu…

验证码登录如何实现?

手机验证码登录 1、需求分析2、数据模型3、代码开发-交互过程4、代码开发-准备工作5、代码开发-修改LoginCheckFilter6、代码开发-接口开发7、前端代码介绍8、启动测试 1、需求分析 为了方便用户登录&#xff0c;移动端通常都会提供通过手机验证码登录的功能。 手机验证码登录…

登录验证

登录验证理解&#xff1a;指的是进入一个页面或者是系统之前检验用户是否有权限进入 登录验证的步骤&#xff1a; ① 获取页面用户输入的数据&#xff0c;然后通过提交传递到控制器 ② 在控制器中对页面传过来的数据进行验证&#xff0c;检查数据数据是否为空&#xff0c;密码…