世界上最流行的三种操作系统是Windows、Mac和Linux。这三个操作系统受到了所有媒体的关注,前两个比后者多,并且可能是您听说过的唯一一个。
如果我告诉您,最流行的操作系统中有三分之二实际上包含了称为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 的设计,反过来,今天的许多操作系统,包括Android、Chrome OS、Steam 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 的大型衍生产品系列(如Linux和Mac 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完全不同。这是因为Linux和Mac OS是类 UNIX(UNIX)系统。
了解这一点也将帮助您了解UNIX的重要性以及过去的重要性。今天使用的主要UNIX哲学之一是创建小型的模块化实用程序,以极高的效率完成单一的事情。熟悉Mac OS 终端(Mac OS Terminal)也会让您熟悉Linux 终端(Linux Terminal),反之亦然。简而言之,这就是UNIX。
类 UNIX(UNIX)系统依赖于单个文件系统来使程序相互通信。类似 Windows 的系统依赖于DOS。这就是只有类 Windows 系统才有驱动器号的原因。所有其他操作系统都有它,因此系统上的每个文件都是单个目录层次结构的一部分。再次(Again)感谢UNIX哲学。
UNIX可以在BSD、Linux和Mac OS等操作系统的体系结构中看到,完全是设计使然。可以说,如果没有UNIX,就没有Mac OS,而且很可能对于它的竞争对手也可以这么说,包括Windows。
我们在这里显然是双曲线的。不过(Though),您必须承认UNIX在当今使用的每个操作系统的开发中都发挥了重要作用。如果这不能说明UNIX及其哲学的重要性,我不确定会是什么。
HDG Explains : What Is UNIX?
Three of the mоst popular operating systems the world over are Windows, Mac, and Linux. These three operating systems receіve all of the press, the two former more than the latter, and are likely the only ones yоu’vе heard of yourself.
What if I told you that two out of three of the most popular operating systems have actually incorporated the core philosophies of something called UNIX? These philosophies being basic concepts of a time-sharing system allowing multiple users to access a single mainframe computer at the same time.
Developed back in 1970 and designed to be a small, flexible system used exclusively by programmers, UNIX had quickly become a leading operating system for workstations. But how much do you really know about UNIX?
HDG Explains : What Is UNIX?
UNIX and UNIX-like operating systems are the most powerful and popular multi-user and multi-tasking operating systems on the market. Multiple generations of UNIX have been developed for various machines over the years including modern POSIX systems like Linux, its many variants, and Mac OS. Hard to believe something so powerful could have such humble beginnings.
Developed at Bell Telephone Laboratories, or Bell Labs, by a handful of programmers, UNIX was written in the C programming language. This allowed it to be installed on practically any computer that possessed a C compiler. This alone afforded UNIX natural portability, flexibility, and lent itself as a rather powerful option as an operating system.
On top of being inexpensive, Bell Labs distributed the operating system in its source language form, allowing anyone who got their hands on it to modify and customize it for their own purposes. This birthed dozens of different versions of UNIX in the span of a decade, running on various sites.
Bell Labs would eventually come to break up in 1984. Nevertheless, they began marketing UNIX in an attempt to define a standard version of the system. They developed something that many saw as too restrictive, one of them being Richard Stallman, responsible for the GNU project. The GNU project is the basis for the Linux we know today as it’s made up of the Linux kernel and not the UNIX kernel.
However, Linux was inspired by MINIX, which was a UNIX-like operating system created for educational purposes. This has led to a domino effect of sorts for most of the operating systems available today. GNU/Linux is descended from UNIX’s design and in turn, many operating systems today, including Android, Chrome OS, Steam OS, and a huge amount of embedded operating systems for devices, are based on Linux.
The UNIX standard
A standard did come to be, but not based on anything by AT&T. Today, the trademarked “UNIX” is owned by The Open Group. The same can be said for the Single UNIX Specification. Any operating system that uses UNIX has had to have been certified by The Open Group and conform to the Single UNIX Specification.
As illustrated by The Open Group:
For anyone interested in visiting the link in the image, here it is.
POSIX, as mentioned earlier, is a family of standards, specified by the Institute of Electrical and Electronic Engineers (IEEE). They serve to clarify and make uniform the application programming interfaces provided by UNIX-like operating systems.
This makes it so when you write a program reliant on POSIX standards, portability and functionality is made easy among UNIX’s large family of derivatives such as Linux and Mac OS. Using API or code not standardized as part of POSIX for UNIX-like operating systems will make portability to other UNIX-like systems increasingly more difficult.
What Are UNIX Programs, Systems, and Subsystems?
UNIX commands are executed on a command line interface provided by a shell. This shell is a program that will read the entered commands and either execute them itself, or pass it along to the kernel.
A “core kernel” is what the UNIX systems are built around that manages the system and the other processes. This is the core of the UNIX operating system and directly interacts with the underlying hardware to provide a set of standard services. Kernel subsystems may include process management, file management, memory management, network management and others.
A few core philosophies, including requirements like single purpose, interoperable, and working with a standardized text interface, are what UNIX programs are designed around.
When it comes to UNIX features, here is a list of a few prominent ones:
- Allows for the use of the same resources to be shared by different users on a single system.
- Provides multi-tasking, wherein each user can execute many processes at the same time.
- The first operating system written in a high-level language, making it easy to port to other machines with minimum adaptations.
- Hierarchical file structure allowing easier access and maintenance of data.
- Built-in networking functions to easily exchange information between users.
Why UNIX Matters
Aside from Windows and Windows-based systems, the bulk majority of operating systems you’ll see have philosophies based in UNIX. If you Take a look at the Mac OS X terminal or file system, you’ll notice a striking similarity to Linux. Both of which are completely different from Windows. This is because Linux and Mac OS are UNIX-like systems.
Understanding this will help you also understand how important UNIX is and has been. One of the main UNIX philosophies used today is of creating small, modular utilities to do a singular thing at an exceptional level of efficiency. Being familiar with the Mac OS Terminal will also make you familiar with the Linux Terminal and vice versa. This is UNIX in a nutshell.
UNIX-like systems rely on a single file system for programs to communicate with one another. Windows-like systems rely on DOS. This is the reason that only Windows-like systems have drive letters. All other operating systems have it so that every file on the system is part of a single directory hierarchy. Again, all thanks to UNIX philosophies.
UNIX can be seen in the architecture of operating systems such as BSD, Linux, and Mac OS, completely by design. One could say that without UNIX, there’d be no Mac OS, and quite possibly the same could be said about its competitors, Windows included.
We’re obviously being hyperbolic here. Though, you’ll have to admit that UNIX has played an important role in the development of every operating system used today. If that doesn’t illustrate the importance of UNIX and its philosophies, I’m not sure what will.