欢迎,来自IP地址为:98.80.143.34 的朋友
什么是Linux
如果有人问你,什么是Linux?通常,可以说Linux是一种操作系统。现在,我们对于操作系统越来越熟悉,例如我们经常使用的Windows、MAC OS以及Android都是操作系统,而Linux也是一种操作系统,并且正逐步为大家所接受。
操作系统是一种软件,可以提供计算机硬件和应用软件进行通信的功能。它将输入转化为处理器可以识别的指令送给处理器执行,并将执行结果通过硬件显示给最终用户。当然,这只是操作系统最基本的功能,它还有其它很多特性,这里我们就不再深入了解。
Linux于上个世纪90年代出现,目前已经成为应用最为广泛的操作系统,它涵盖了从智能手环到大型计算机的几乎各个智能系统领域。我们可以轻意在手机、笔记本电脑、个人电脑、汽车甚至我们的电冰箱找到Linux系统的身影,这个系统也变得越来越为开发人员和普通用户所熟悉。
Linux操作系统的体系结构
每种操作系统都是一个软件集,每种软件都完成特定的功能。Linux系统大致可以包含如下几个部分:
1] 内核
内核是Linux操作系统的核心,由它来完成软件和硬件的通信,另外,内核还管理系统资源。它主要完成以下职责:
- 设备管理:一个系统会包含各种不同类型的硬件,如CPU、内存、显卡、声卡等。内核会存储与主机相关设备数据,并且内核知道如何让一个硬件工作以及如何让这个硬件高效的工作。内核还同时管理不同硬件间的通信。
- 内存管理:内核的另一个基本功能是内存管理。内核监视内存的使用和未用情况,以确保可以通过使用虚拟内存地址来访问内存数据。
- 进程管理:内核通过进程管理来保障各个进程可以有足够的CPU时间,并且可以根据优先级情况来进行程序调度。内核同时还要保证各个进程独立以及安全性。
- 处理系统调用:内核可以接收应用软件的请求来让计算机(硬件)执行某项工作。
2]系统库
系统库是一些特定的程序,用于帮助可以更好的发挥内核特性。内核是通过触发来执行工作,而这些触发器都是通过应用软件来实现的。但是应用软件需要知道如何进行系统调用来触发内核执行,因为不同系统的系统调用可能并不相同。软件开发人员于是制定了一些标准库来同内核进行通信。而Linux最著名的系统库就是glibc(GNU C library)。
3]系统工具
Linux OS包含一整套命令行工具,这些工具由GNU项目组开发并通过开源软件许可授权给所有用户免费使用。
4]开发工具
包含以上三项内容,Linux操作系统就可以很好的工作了。但是如果系统需要升级,那么就需要一些额外的软件工具和库文件。这些由开发人员使用的工具和库文件被称作工具链,工具链包含开发一个应用软件所需的所有工具。
5]终端用户工具
终端用户工具可以让每个用户使用的工具更加统一,以便于更多普通用户的使用。终端用户工具可能对于操作系统不是必须的,但是对于终端用户来说确是最重要的。
开源操作系统
大多数操作系统文件都是编译格式的,这些文件是源代码通过编译工具转化为机器可以执行的机器代码。想要修改这些编译过的代码简直是不可完成的任务。
另一方面,开源却是完全不同的。源代码以及编译版本全部可以被修改,这可以让我们自由的运行软件,根据需求自由的修改软件,自由的发布用户自行编译的软件。
Linux历史
计算机演进
早期的计算机有整个房间那么大,这就不难想像要操作它是多么的困难。更糟糕的是,每台计算机都会有不同的操作系统,这就让人们操作它更加不便。当时机器上的软件由于是为了让它完成某项工作而设计的,造成软件并不能在其它机器上运行。这就造成巨大的人力和物力的浪费。
Unix的演进
1969年,美国贝尔实验室的开发人员启动了一个试图在所有计算机上都可以运行的通用系统的项目“Unix”。其中一个了不起的创举,就是他们使用“C”语言代替汇编语言作为系统的开发语言,这让一些代码就可以重复使用,而这些被重复使用的代码,就是现在操作系统的内核。内核被用来开发操作系统以及其它一些应用系统,而内核是开源的。
最初,Unix只出现在一些政府机构、大学校园以及大型金融机构的大型机或小型机中。
Unix的扩张
到了上世纪八十年代,众多大型企业例如IBM、HP都开始研发自己的Unix系统,这就造成Unix出现了不同的分支。直到1983年,由Richard Stallman发起的GNU项目试图让每个人都可以自由的获得Unix操作系统。但是他的项目并没有让大家所熟知,事实上,当时出现了众多的类Unix系统都没有获得广泛的普及。
Linux的演进
1991年,芬兰赫尔辛基大学的学生Linus Torvalds想要获得自由使用教学用Unix系统而自行编写代码。之后,这个项目就成为Linux的内核。他当时编写程序的目的是为了让他自己的Intel 386 PC机可以运行Unix。他在MINIX机器上通过GNU C编译器实现了该功能,至今,GNU C编译器依然是Linux主要的编译器。
他当时的一个兴趣最终产生了一个了不起的项目,最初,他想把软件命名为“Freax”,但最终还是命名为“Liunx”。
他发布了内核并使用自己的许可条件限制用于商业目的。Linux使用了大量的具有GNU版权的软件,于是他在1992年,他通过GNU公共许可对外发布了Linux内核。
Linux的现状
现在,Linux几乎遍布于我们生活的各个领域,我们可以在大型机、智能手机、桌面型电脑、web服务器、平板电脑、智能家电、路由器以及汽车等众多设备上找到Linux的身影。
Linux的特点
- 多用户:多用户可以让多个用户使用同一系统资源而具有各自的操作终端界面
- 多任务:通过CPU时间管理,让多个任务可以同时执行
- 便携性:便携性并不是指系统文件小以及可以在便携设备上运行,而是指系统可以适应多种硬件
- 安全性:系统提供三重认证保障:用户认证、密码认证以及加密认证
- CD/USB实时系统:大多数Linux系统都提供了CD/USB的实时功能,可以在不安装系统的情况下运行系统
- 图形用户界面(X windows系统):Linux系统虽然是基于命令行的系统,但是可以通过安装软件包的方式实现图形用户界面(GUI)
- 支持个性化键盘:由于系统全球通用,所以其支持各种语言键盘
- 应用支持:系统包含应用软件库,用户可以通过从软件库下载的方式获得应用软件
- 文件系统:提供可兼容的文件及目录系统
- 开源:Linux代码可以免费获得,并且是一个基于社区的开发项目
使用Linux的原因
Linux同其它操作系统相比有着巨大的差别:
- 它是一种开源的操作系统,可以让开发人员根据需求设计符合自己要求的操作系统
- 它提供大量软件不同特性的选项,让用户根据自己的实际情况自己选择
- 全球性的开发社会致力于提升系统的安全性,所以你大可不必为它安装任何防病毒软件。大型公司一般都采用Linux系统来提升系统安全性及可靠性
- 以上这些功能,都是可以免费使用的,并且系统可以安装到任意多的机器上
- 它是一个不受病毒和流氓软件困扰的系统,不会因为这些软件而导致系统运行速度下降
Unix VS Linux
现在,Linux系统使用量巨大,它几乎占领了从大型计算机到智能家电的各个领域。或许有些人根据Linux的起源会觉得它同Unix是同一系统,但事实并非如此。以往出现过很多类Unix系统,但是没有一种像Linux系统这样为广大用户所接受。可以说Linux是Unix的克隆,它虽然有一些特性同Unix完全一致,但还是同Unix有着一些关键性区别。在Linux和Windows系统出现之前,Unix统治操作系统领域,但现在具有版权的Unix操作系统只剩IBM AIX、HP-UX以及Sun Solaris。
Linux 和 Unix的区别
比较项 | Linux | Unix |
---|---|---|
定义 | 是一种开源操作系统,任何人都可以免费获得 | 是一种授权使用的操作系统 |
典型案例 | 包括Ubuntu、Redhat、Fedora等各种发行版 | IBM AIX、HP-UX和Sun Solaris |
用户 | Linux系统用户广泛,个人、开发人员和学生都在使用 | 主要用于服务器、工作站以及大型机设备 |
用途 | Linux用途广泛,服务器、PC机、智能手机、牚上设备以至大型机和超级计算机均可使用 | 主要用于服务器、大型机和少量PC机 |
费用 | Linux可以自由发行,并且可以免费下载。而实体的发行版软件也Windows要便宜很多 | Unix的权利人根据用户的使用情况来收取相应的费用 |
开发 | 由于其开源性,世界上任何开发人员都可以参与系统开发 | Unix由AT&T Labs、商业软件商以及一些非营利组织开发 |
制造商 |
Linux内核由全球开发人员社区维护,Linus Torvalds对其进行监督 | Unix有IBM AIX、HP-UX和Sun Solaris三种,苹果使用Unix开发了OS X操作系统 |
GUI | Linux是基于命令行的,但是一些发行版提供GUI。Gnome 和 KDE最为常用的GUI | 最初为命令行操作系统,但是后来通用桌面环境产生。大部分Unix使用Gnome |
接口 | 默认使用 BASH (Bourne Again SHell)作为输入接口 | 最初使用 Bourne shell 后期提供一些GUI |
文件系统 | Linux支持比Unix更多的文件系统 | 支持文件系统 |
代码 | Linux虽然是类Unix系统,但并不含有Unix代码 | Unix 同最初AT&T Labs开发的代码完全不致 |
操作系统 | Linux 仅仅指内核 | Unix 指全部操作系统 |
安全性 | 提供高安全性,迄今Linux系统只发现60-100种病毒 | Unix 同样非常安全,迄今发现80-120种病毒 |
错误处理机制 | 可以快速处理用户的反馈并加以解决 | Unix 如果出现问题,用户只有等系统更新来解决 |
Linux 的发行版(Distros)
其他的操作系统,例如Windows,厂商把所有的软件联合成一个整套软件包,我只能在他们提供的不同版本中进行选择。但是Linux系统不同,它不同模块由不同组织提供。不同的模块包括内核、shell工具、X server以及系统环境等。如果你乐意,你甚至可以自行编译每个模块,虽然这项工作并不像想像中那样容易。于是,众多的Linux发行商出现了,他们将各个模块编译好并提供给用户可以安装的分发版本。
Linux 发行版列表
1] Ubuntu
2004年由 Canonical公司发布,并迅速开始流行。 Canonical力求使用图形化操作来取代命令行,由于入门简单而受到大家喜欢。Ubuntu是Debian的一个后续版本,它提供了大量预安装软件和丰富的软件库。
最早,Ubuntu使用GNOME2桌面环境,现在它使用自行开发的桌面环境。Ubuntu一般每6个月发布一次,并且已经涉足智能手机领域。
2] Linux Mint
Mint是基于Ubuntu的发行版,它们甚至可以共用一些软件库的软件。
最初,Mint的出现是由于弥补Ubuntu在媒体编码软件方面的欠缺,现在它自行发布其操作系统软件。桌面环境也从Ubuntu统一桌面转变为cinnamon和mate 桌面。
3] Debian
Debian于1993年开始发布系统,但是其发布周期要比Ubuntu和Mint要长的多。
这也让它成为最可靠的Linux发行商。
Ubuntu基于Debian开发,并且让其比Debian更加友好。Debian所有发行版本的名称都来自于电影《玩具总动员》。
4] Red Hat Enterprise / CentOS
Red hat是一家商业Linux发行商,所有的Red Hat Enterprise Linux和 Fedora都可以免费获得。RHEL会在发布前进行广泛的测试,并提供长达七年的技术支持。而Fedora会在第一时间提供更新,但不提供技术支持。
RHEL使用商标权来保证软件不会被再次发行,而CentOS是一个使用RHEL核心的社区版本,去掉了其中的商标权部分。换句话说,CentOS可以说是一种免费的RHEL,并且可以获得长期稳定的支持。
5] Fedora
这是一个专注于免费软件以及最新版软件的项目,这个版本可能不是最稳定的发行版,但它却可以享受最新的软件功能。
选择适合的 Linux 发行版
发行版 | 选择原因 |
---|---|
Ubuntu | 运行起来像 Mac OS,使用简单 |
Linux mint | 运行起来像 windows,更加适合初学者 |
Debian | 提供稳定的系统,但是不太适合初学者 |
Fedora | 如果想尝试 Red Hat 最新的应用软件可以选择 |
Red hat enterprise | 如果用于商业目的,建议使用RHEL |
CentOS | 如果想使用免费的RHEL |
OpenSUSE | 运行起来像 Fedora,但是要稳定的多 |
Arch Linux | 不适于初学都使用,因为多数软件包都要自己安装 |
以上就是一些Linux的基础内容,在决定尝试这个系统前可以对它有所了解。