什么是GNU / Linux?

导读 大多数消费者可以轻而易举地命名两个台式机和笔记本电脑操作系统:Microsoft Windows和Apple的macOS。几乎没有人考虑过在GNU Linux的

大多数消费者可以轻而易举地命名两个台式机和笔记本电脑操作系统:Microsoft Windows和Apple的macOS。几乎没有人考虑过在GNU / Linux的保护下找到任何开源替代方案,尽管有些人甚至可能根本不知道,例如Google的Chrome OS使用Linux内核。老实说,除了Chromebook通常,对于依赖大型软件或不喜欢使用可定制的动手界面的人来说,GNU / Linux系统通常不是最佳选择。但是,如果您希望改变节奏,不想花钱购买软件,也不想介意卷土重来,那么切换到GNU / Linux不仅值得,而且可以让您转换生活。本非家庭用户指南可帮助您入门。请注意,使用GNU / Linux系统运行服务器是完全不同的用例,此处未涉及。

什么是UNIX,Linux和GNU?

在深入探究GNU / Linux系统的神秘世界之前,了解它们的产生方式以及在研究和使用它们时可能遇到的一些术语很重要。我将从三大简要历史开始:UNIX,Linux和GNU。

UNIX是最初由Dennis Ritchie和Ken Thompson(以及其他人)在1960年代末和1970年代初期在AT&T的贝尔实验室开发的基于命令行的专有操作系统。UNIX几乎完全用C编程语言编码(也是Ritchie发明的),最初旨在用作程序员和研究人员的可移植且方便的OS。由于涉及AT&T,贝尔实验室和联邦政府的漫长而复杂的法律历史,UNIX和类似UNIX的操作系统变得越来越流行,汤普森(Thompson)具有影响力的模块化,极简主义的软件设计哲学也是如此。

在此期间,Richard Stallman发起了GNU项目,旨在创建“一个自由软件的操作系统”。令人困惑的是,GNU代表“ GNU的不是UNIX”。该项目负责类似UNIX的GNU OS。Stallman还基于任何参与软件的“任何用户都可以学习源代码,对其进行修改和共享程序”的原则,启动了相关的自由软件基金会(FSF)。

我将在一分钟内深入研究操作系统的组成部分,但是当从本质上讲,当GNU对一个非常重要的低级组件内核(GNU Hurd)的开发没有完全实现时,情况就变得更加复杂了。这就是Linux(由Linus Torvalds等人开发的内核)进入市场的地方。根据GNU:

“ Linux是内核:系统中的程序将计算机的资源分配给您运行的其他程序。内核是操作系统的重要组成部分,但它本身无用;它只能在完整的上下文中起作用。操作系统。”

GNU纯粹主义者认为,将Linux作为当今存在的完整操作系统的参考,应该以GNU / Linux的形式编写,以表明他们之间的共生关系。其他人则倾向于关注Linux(无前缀)已成为一个更为主流的术语,而GNU / Linux命名法背后的逻辑可能会使广告的使用范围扩大到GNU / Linux / Windowing System Name / Desktop Environment Name / Etc。就本指南而言,我将使用GNU / Linux。

也存在其他类似UNIX的操作系统。例如,FreeBSD使用其自己的内核和软件。这些项目的历史可以填满许多书,但是这个简短的总结应该足以使您可能遇到的某些术语与背景相关。

什么是发行版?

我们每天使用的现代操作系统(例如Windows和macOS)由许多不同(非常技术性)的组件组成,包括帮助软件与硬件进行通信的内核以及您在屏幕上看到的图形用户界面(GUI)元素。 。有关所有模块如何工作的详细说明超出了本文的范围。

例如,尝试考虑如何将鼠标移动转换为在屏幕上移动的光标,或者如何将文件存储在固态驱动器上。当您了解游戏中的所有组件以及现代计算机执行这些动作的速度时,看似简单的任务实际上实际上是非常复杂的。Windows和macOS设计为在运行时尽可能减少摩擦,因为用户根本不需要了解事物在后台的工作方式。换句话说,图形用户界面(GUI)下的所有内容在功能上与大多数用户无关。

现在,让我们转到GNU / Linux发行版。最好将发行版(发行版的缩写)视为构成GNU / Linux操作系统的核心软件组件的整齐包装。可以将Ubuntu,Linux Mint,PCLinuxOS或Puppy之类的发行版大致等同于Windows和macOS。

典型的GNU / Linux发行版包括Linux内核。GNU工具和库;窗口系统,用于在屏幕上显示窗口并与输入设备进行交互;用于通过OS程序执行操作的桌面环境;和其他零件。甚至前面的描述都是极大的简化。一些最常见的桌面环境是GNU的GNOME,KDE的Plasma,MATE和XFCE。不同风格的发行版使用不同的桌面环境-更好或更精简,或多或少像Microsoft Windows一样,但是OS的核心组件是相同的。

软件公司或组织通常将所有这些部分打包,并创建一个ISO文件(从技术上讲,是安装CD-ROM或DVD的压缩映像),用户可以将其下载并安装在其计算机上。例如,Canonical是管理受欢迎的发行版Ubuntu发行的公司;发行新版本的Windows或macOS时,Microsoft和Apple的作用相似。如果您有足够的技能,则可以挑选组件并打包自己的发行版,但我们在这里不做介绍。

如前所述,Apple和Microsoft的平台同样复杂,但是我将对它们的核心组件进行类似的简化概述。macOS的核心是一个称为Darwin的类似UNIX的操作系统,它建立在一个称为XNU的类似UNIX的混合内核上(X不是UNIX)。Aqua和Finder GUI元素只是组成完整macOS系统的一些其他组件。Windows 10是Windows NT家族的成员,并使用混合内核和Windows Shell。(附带说明,Microsoft现在在Windows 10中包含完整的Linux内核,这使事情有些混乱。)Chrome OS基于Chromium OS和Linux内核。

这里的要点是,即使您可能认为Windows和macOS是整体的,它们也有许多可移动的部分。区别在于,您很少会遇到它们的复杂性,即使是最人性化的发行版也不是那么无缝。

在阅读一个发行版与另一个发行版之间的关系时,您可能还会遇到上游和下游术语。以Ubuntu为例,该发行版位于另一个流行的发行版Debian的下游。它引用Ubuntu的网站,“建立在Debian架构和基础架构之上,并与Debian开发人员广泛合作”。换句话说,Canonical根据自己的软件原理对Debian的软件包进行修复和更改,并将其部署到其用户(有时将更改发送回Debian)。

免责声明:本文由用户上传,如有侵权请联系删除!