Linux和GNU / Linux的区别

Linux是一种操作系统,几乎可以为任何你能想到的设备供电。

Linux概述

当大多数人想到Linux时,他们会想到极客和技术人员使用的桌面操作系统或者用于为网站提供动力的基于服务器的操作系统。

Linux无处不在。 它是大多数智能设备的引擎。 您正在使用的Android手机运行一个Linux内核,可以重新运行的智能冰箱运行Linux。 有一些智能灯泡可以在Linux的帮助下互相交流。 即使是军队运行的Linux使用的步枪。

现代流行术语是“物联网”。 事实是,真正只有一个操作系统支持物联网,那就是Linux。

从商业角度来看,Linux也用于大型超级计算机,并用于运行纽约证券交易所。

当然,Linux也可以用作上网本,笔记本电脑或台式电脑上的桌面操作系统。

操作系统

操作系统是用于与计算机内的硬件进行交互的特殊软件。

如果您考虑使用标准笔记本电脑,则操作系统必须管理的硬件设备包括CPU,内存,图形处理单元,硬盘驱动器,键盘,鼠标,屏幕,USB端口,无线网卡,以太网卡,电池,屏幕和USB端口的背光。

除了内部硬件之外,操作系统还需要能够与外部设备(如打印机,扫描仪,游戏手柄和各种USB供电设备)进行交互。

操作系统必须管理计算机上的所有软件,确保每个应用程序都有足够的内存来执行,并在处于活动状态和非活动状态之间切换。

操作系统必须接受来自键盘的输入并根据输入来执行用户的意愿。

操作系统的例子包括Microsoft Windows,Unix,Linux,BSD和OSX。

GNU / Linux概述

您可能会偶尔听到的一个术语是GNU / Linux。 什么是GNU / Linux,它与普通Linux有什么不同?

从桌面Linux用户的角度来看,没有区别。

Linux是与计算机硬件交互的主要引擎。 它通常被称为Linux内核。

GNU工具提供了一种与Linux内核交互的方法。

GNU工具

在提供工具列表之前,我们先看看您需要能够与Linux内核进行交互的那种工具。

首先,在甚至考虑桌面环境的概念之前,在最基本的层面上,您将需要一个终端,终端必须接受Linux操作系统将用来执行任务的命令。

用于在终端中与Linux进行交互的通用shell是名为BASH的GNU工具。 要首先将BASH引入计算机,需要编译BASH,以便还需要一个编译器和一个汇编程序,它们也是GNU工具。

实际上,GNU负责整个工具链,使得开发Linux的程序和应用成为可能。

最受欢迎的桌面环境之一称为GNOME,代表GNU网络对象模型环境。 Snappy不是。

最流行的图形编辑器称为GIMP,代表GNU图像操作程序。

GNU项目背后的人们有时会感到恼火,因为当Linux是他们的工具时,Linux获得了所有的荣誉。

我的观点是,每个人都知道是谁在法拉利制造发动机,没有人知道是谁制造真皮座椅,音响播放器,踏板,车门饰件和汽车的其他部分,但他们都同样重要。

构成标准Linux桌面的层

计算机的最低组件是硬件。

硬件之上是Linux内核。

Linux内核本身有多个层次。

底部是用于与硬件交互的设备驱动程序和安全模块。

在下一个级别中,您有用于管理系统上运行的程序的进程调度程序和内存管理。

最后,在顶部,有一系列系统调用提供了与Linux内核进行交互的方法。

Linux内核上方是一系列程序可用于与Linux系统调用进行交互的库。

表面下方是各种底层组件,如窗口系统,日志记录系统和网络。

最后,您将进入最高层,这就是桌面环境和桌面应用程序所在的位置。

桌面环境

桌面环境是一系列图形工具和应用程序,它使您更容易与计算机进行交互,并基本完成任务。

最简单的桌面环境可以包含一个窗口管理器和一个面板。 最简单和功能齐全的桌面环境之间有许多复杂程度。

例如,轻量级LXDE桌面环境包括文件管理器,会话编辑器,面板,启动器,窗口管理器,图像查看器,文本编辑器,终端,归档工具,网络管理器和音乐播放器。

GNOME桌面环境包括所有这些,再加上办公套件,网页浏览器,GNOME机箱,电子邮件客户端以及更多应用程序。