什么是Linux

Linux,全称为GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,我们常说的Linux,指的是Linux内核,一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。

Linux现在已经是现代互联网体系中不可或缺的一部分了,可能你看不见它,但是它一直在你身边,各种嵌入式设备,如手表,机器人。还有广为人之的安卓。地球上大多数的服务器都是Linux操作系统。从航天到军事、从科研到金融、从手机到电脑,无处不在。(我们接触比较多的安卓就是基于 Linux 系统开发的,最近的鸿蒙也是。而 ios 则是 Linux 的好兄弟 Unix 系统开发的)

因其开源的特点,Linux的发展速度以指数规模增长,无数开发者加入到Linux开发的行列中来。本章简单概括一下Linux的优点和发展历史。

一、为什么要使用Linux

Linux有以下众多特点:

  • 开源免费

    Linux是完全免费的操作系统,并且开放源代码,任何人都可以随意修改其源代码。(完全免费!!!)

  • 多用户、多任务

    Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现代电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。

  • 安全可靠

    Linux的代码是开源的,所以每个人都可以参与进入修补漏洞。此外,Linux的用户权限管理也使得安全风险降低。(这就是为什么 Linux 系统的安全性是最高的,哪里有问题就会出现大佬来改进它,完善它。就好像一座属于每一个人的城堡 属于自己的东西当然是加倍去保护它)

  • 稳定

    Linux服务器一直以稳定性闻名,可以持续运行很久都不易崩溃。

  • 多平台

    Linux可以运行在多种硬件平台上,x86,arm及其他各种嵌入式设备。

以上几类特点是Linux内核的特点,我们常说的Linux,一般都是指其内核,还有很多个人、社区或者企业,都有根据Linux内核进行“改装”的发行版,各种发行版的特点不同,有的注重服务器性能,有的注重图形系统。

在Linux那么多年的迅猛发展后,Linux也产生了很多与内核无关的优点。例如

  • 方便

    Linux的在线安装软件包工具非常方便,一行命令即可将软件安装好,环境配置非常方便快捷。

  • 开源软件多

    大多数的开源软件的首要适配平台都是Linux,所以在Linux有许多免费又开源的软件工具让你使用。

二、发展历程

20世纪80年代,计算机硬件的性能不断提高,PC的市场不断扩大,当时可供计算机选用的操作系统主要有Unix、DOS和macOC这几种。

Unix价格昂贵,不能运行于PC;DOS显得简陋,且源代码被软件厂商严格保密;MacOS是一种专门用于苹果计算机的操作系统。此时,计算机科学领域迫切需要一个更加完善、强大、廉价和完全开放的操作系统。由于供教学使用的典型操作系统很少,因此当时在荷兰当教授的美国人AndrewS.Tanenbaum编写了一个操作系统,名为MINIX,为了向学生讲述操作系统内部工作原理。

MINIX虽然很好,但只是一个用于教学目的的简单操作系统,而不是一个强有力的实用操作系统,然而最大的好处就是公开源代码。全世界学计算机的学生都通过钻研MINIX源代码来了解电脑里运行的MINIX操作系统,芬兰赫尔辛基大学大学二年级的学生Linus Torvalds就是其中一个。

在吸收了MINIX精华的基础上,Linus于1991年写出了属于自己的Linux操作系统,版本为Linux0.01,是Linux时代开始的标志。他利用Unix的核心,去除繁杂的核心程序,改写成适用于一般计算机的x86系统,并放在网络上供大家下载,1994年推出完整的核心Version1.0,至此,Linux逐渐成为功能完善、稳定的操作系统,并被广泛用。

三、常用发行版

1、Debian

老牌发行版,非常稳定,适合用于服务器。

2、Ubuntu

Ubuntu是Debian的一款衍生版,侧重于它在这个市场的应用,在服务器、云计算、甚至一些运行Ubuntu Linux的移动设备上很常见。于2004年9月首次公布的。属于热门发行版之一,因其图形界面开发较完善以及良好的社区支持,很受初接触Linux的人群青睐。

3、CentOS

CentOS 是一种对 RHEL(Red Hat Enterprise Linux)源代码再编译的产物,由于 Linux 是开发源代码的操作系统,并不排斥样基于源代码的再分发,CentOS 就是将商业的 Linux 操作系统 RHEL 进行源代码再编译后分发,并在 RHEL 的基础上修正了不少已知的漏洞。

4、Fedora

Fedora Linux(第七版以前为Fedora Core)是由Fedora项目社区开发、红帽公司赞助,目标是创建一套新颖、多功能并且自由(开放源代码)的操作系统。Fedora是商业化的Red Hat Enterprise Linux发行版的上游源码。

5、Kali

Kali Linux是Debian的一款衍生版。旨在渗透测试和数字取证。它预先构建了用于渗透测试的多种工具。

6、Arch

Arch是一款采用滚动发行方式的操作系统,只要安装一次就够了,每当发行了某个新版本,就可以升级发行版,无需重新安装。Pacman是Arch Linux的软件包管理器。Arch Linux既支持X86处理器架构,又支持X86_64架构,安装程序可以从光盘或U盘来运行。

四、Linux 系统主要部分

  • 内核

  • Shell

  • 文件系统

  • 应用程序

1、内核

内核是操作系统的核心,具有很多最基本的功能,如虚拟内存、多任务、共享库、需求加载、可执行程序和 TCP/IP 网络功能。

Linux 内核的主要模块分为 存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信、系统的初始化系统调用 等几个部分

2、Shell

Shell 是系统的 用户界面,提供了 用户内核 进行交互操作的一种接口。它接受用户输入的命令并把它送入内核去执行。

Shell 是一个 命令解释器,它解释由用户输入的命令并且将它们送到内核。

Shell 也可作为 编程语言,具有普通编程语言的很多特点,用这种编程语言编写的 Shell 程序与其他应用程序具有同样的效果。

3、文件系统

文件系统是文件存放在磁盘等存储设备上的 组织方法

Linux 系统能支持多种目前流行的文件系统,如 ext3、ext4、XFS、FAT、VFAT、NTFS 和 ISO9660 等。

4、应用程序

标准的 Linux 系统都有一套称为 应用程序 的程序集,它包括 文本编辑器、编程语言、X Window、办公软件 和 Internet 工具 等。

 

参考资料

[1] 刘振洪、吴敏凤.Linux操作系统实用教程.天津:天津科学技术出版社,2016

[2] https://baike.baidu/item/fedora/3293972?fr=aladdin