HDG 解释:什么是 UNIX?

世界上最流行的三种操作系统是WindowsMacLinux。这三个操作系统受到了所有媒体的关注,前两个比后者多,并且可能是您听说过的唯一一个。

如果我告诉您,最流行的操作系统中有三分之二实际上包含了称为UNIX的核心理念,会怎样?这些理念是分时系统的基本概念,允许多个用户同时访问单个大型计算机。

UNIX开发于 1970 年,旨在成为程序员专用的小型灵活系统,它迅速成为工作站的领先操作系统。但是(you)对 UNIX 真正了解多少?

HDG 解释:什么是 UNIX?

UNIX类 UNIX(UNIX-like)操作系统是市场上最强大和最流行的多用户和多任务操作系统。多年来,已经为各种机器开发了多代UNIX ,包括现代(UNIX)POSIX系统,如Linux、它的许多变体和Mac OS很难(Hard)相信如此强大的东西会有如此卑微的开端。

UNIX由少数程序员在贝尔电话(Bell Telephone) 实验室(Laboratories)贝尔实验室开发(Bell Labs),是用 C 编程语言编写的。这使得它几乎可以安装在任何拥有 C 编译器的计算机上。仅此一项就为UNIX提供了自然的可移植性、灵活性,并使其自身成为一个相当强大的操作系统选项。 

除了价格低廉之外,贝尔实验室(Bell Labs)还以源语言形式分发操作系统,允许任何接触到它的人根据自己的目的对其进行修改和定制。这在十年间催生了几十个不同版本的UNIX ,在不同的站点上运行。(UNIX)

贝尔实验室(Bell Labs)最终会在 1984 年解体。然而,他们开始推销UNIX,试图定义系统的标准版本。他们开发了许多人认为过于严格的东西,其中之一是负责GNU项目的Richard Stallman 。GNU项目是我们今天所知的(GNU)Linux的基础,因为它由Linux内核而不是UNIX内核组成。

然而,Linux的灵感来自MINIX,这是一个类似 UNIX 的操作系统,用于教育目的。对于当今可用的大多数操作系统,这导致了某种多米诺骨牌效应。GNU/Linux源于 UNIX 的设计,反过来,今天的许多操作系统,包括AndroidChrome OSSteam OS以及大量用于设备的嵌入式操作系统,都是基于Linux的。

UNIX 标准

一个标准确实出现了,但不是基于 AT&T 的任何东西。今天,商标“UNIX”归The Open Group 所有(The Open Group)Single UNIX Specification也是如此。任何(Any)使用UNIX的操作系统都必须经过 The Open Group的认证并符合单一 UNIX 规范(Single UNIX Specification)

如 The Open Group 所示: 

对于有兴趣访问图像中的链接的任何人,这里是(here it is)

(POSIX)如前所述,POSIX是一系列标准,由电气和电子工程师协会 (IEEE)(Institute of Electrical and Electronic Engineers (IEEE))指定。它们用于澄清和统一类 UNIX 操作系统提供的应用程序编程接口。

这使得当您编写依赖于POSIX标准的程序时,在 UNIX 的大型衍生产品系列(如LinuxMac OS )中,可移植性和功能性变得容易。使用未标准化的API或代码作为(API)类 UNIX操作系统的(UNIX-like)POSIX的一部分,将使移植到其他类 UNIX(UNIX-like)系统变得越来越困难。

什么是 UNIX程序(Programs)系统(Systems)子系统(Subsystems)

UNIX命令在shell提供的命令行界面上执行。这个 shell 是一个程序,它将读取输入的命令并自行执行它们,或者将其传递给内核(kernel)

“核心内核”是UNIX系统围绕它构建的,用于管理系统和其他进程。这是UNIX操作系统的核心,直接与底层硬件交互,提供一套标准服务。内核(Kernel)子系统可能包括进程管理、文件管理、内存管理、网络管理等。

一些核心理念,包括单一用途、可互操作和使用标准化文本界面等要求,是UNIX程序的设计依据。 

谈到UNIX特性,这里列出了一些突出的特性:

  • 允许在单个系统上由不同用户共享相同的资源。
  • 提供(Provides)多任务处理,其中每个用户可以同时执行多个进程。
  • 第一个用高级语言编写的操作系统,可以轻松移植到其他机器上,并且只需最少的适配。
  • 分层文件结构允许更轻松地访问和维护数据。
  • 内置联网功能,方便用户之间交换信息。

为什么 UNIX 很重要

除了Windows和基于Windows的系统之外,您将看到的大部分操作系统都具有基于UNIX的理念。如果您看一下Mac OS X终端或文件系统,您会发现与(Mac OS X)Linux有惊人的相似之处。两者都与(Both)Windows完全不同。这是因为LinuxMac OS类 UNIX(UNIX)系统。

了解这一点也将帮助您了解UNIX的重要性以及过去的重要性。今天使用的主要UNIX哲学之一是创建小型的模块化实用程序,以极高的效率完成单一的事情。熟悉Mac OS 终端(Mac OS Terminal)也会让您熟悉Linux 终端(Linux Terminal),反之亦然。简而言之,这就是UNIX

类 UNIX(UNIX)系统依赖于单个文件系统来使程序相互通信。类似 Windows 的系统依赖于DOS。这就是只有类 Windows 系统才有驱动器号的原因。所有其他操作系统都有它,因此系统上的每个文件都是单个目录层次结构的一部分。再次(Again)感谢UNIX哲学。

UNIX可以在BSDLinuxMac OS等操作系统的体系结构中看到,完全是设计使然。可以说,如果没有UNIX,就没有Mac OS,而且很可能对于它的竞争对手也可以这么说,包括Windows

我们在这里显然是双曲线的。不过(Though),您必须承认UNIX在当今使用的每个操作系统的开发中都发挥了重要作用。如果这不能说明UNIX及其哲学的重要性,我不确定会是什么。



About the author

我是一名全职软件工程师,在使用 Windows 和 Mac 软件方面拥有超过 10 年的经验。我知道如何在两个平台上设计、测试和部署应用程序。我也有安全和系统管理方面的经验。我的技能和知识可以帮助您构建更好、更高效的计算机系统。



Related posts