Linux是什么?

Linux 是一套免费使用和自由传播的类 UNIX 操作系统,已发展成为现今世界上最流行的操作系统之一,其同时也是嵌入式系统中最常用的操作系统之一,具有代码公开性、可裁剪性、自由度高、免费等一系列优点。

1. Linux操作系统的发展

Linux 操作系统从 1991 年问世到现在已经有 20 多年的历史,其从一个简单架构的系统内核发展到现在结构完整、功能丰富的多版本用户系统。Linux 操作系统是一种类 UNIX 操作系统,它最早是由芬兰人 Linus Torvalds 设计的。

目前 Linux 操作系统可以运行在 x86、MIPS、m68K、M32R、Power PC、s390、ARM 等类型的计算机上。从功能来看,它既可以作为普通的桌面操作系统,也可以作为中小型的网络操作系统,甚至作为大型网络的操作系统。

Linux 的内核是系统的心脏,内核包括了几百万行代码,是运行程序和管理硬件设备的核心程序。没有内核,就不能运行程序,但内核不是操作系统的全部。Linux 初学者常会把内核版本与发行套件版本弄混了,实际上内核版本指的是在 Linus 领导下的开发小组开发出的系统内核的版本号。

Linux 的每个内核版本使用形式为 x.y.zz-www 的一组数字来表示,其中:
  • x.y 为 Linux 的主版本号;
  • zz 为次版本号;
  • www 代表发行号(注意,它与发行版本号无关)。

当内核功能有一个飞跃时,主版本号升级,如 Kernel2.2、2.4、2.6 等。内核增加了少量补丁时,常常会升级次版本号,如 Kernle2.6.15、2.6.20 等。

当然,还有更复杂的版本号系统,如 2.6.20-32 等。通常 y 若为奇数,表示此版本为测试版,系统会有较多漏洞,主要用途是提供给用户测试。随着每一次系统的小漏洞的修正,zz 会增加。

截止到 2014 年 1 月 15 日,Linux 的稳定版本是 3.12.8,测试版本是 3.13-rc8。

2. Linux操作系统的特点

Linux 具有 UNIX 的所有特性,并且发展出来自身的一些特性:

1) 具有良好的开放性

开放性是指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。凡遵循国际标准所开发的硬件和软件,都能彼此兼容,可方便地实现互连。

2) 支持多用户

多用户是指系统资源可以被不同的用户各自拥有并使用,即使每个用户对自己的资源(如文件、设备)有特定权限,也互不影响,Linux 和 UNIX 都具有多用户特性。

3) 支持多任务

多任务是现代计算机的一个最主要特点,它是指计算机同时执行多个程序,而且各个程序的运行相互独立。Linux 操作系统调试每一个进程平等地访问处理器。由于处理器的处理速度非常快,其结果是启动的应用程序看起来好像是在并行运行。

事实上,从处理器执行的一个应用程序中的一组指令到 Linux 调试处理器,与再次运行这个程序之间只有很短的时间延迟,用户是感觉不出来的。

4) 提供友好的用户界面

Linux 向用户提供了用户界面和系统调用界面。Linux 的传统用户界面基于文本的命令行界面,即 Shell。它既可以联机使用,又可以存储在文件上脱机使用。Shell 有很强的程序设计能力,用户可方便地用它编写程序,从而为用户扩充系统功能提供了更高级的手段。

Linux 还提供了图形用户界面,它利用鼠标、菜单和窗口等设施,给用户呈现一个直观、易操作、交互性强的友好图形化界面。

5) 具有良好的设备独立

设备独立性是指操作系统把所有外部设备统一当作文件来看,只要安装它们的驱动程序,任何用户都可以像使用文件那样操作并使用这些设备,而不必知道它们的具体存在形式。

设备独立性的关键在于内核的适应能力,其他的操作系统只允许一定数量或一定种类的外部设备连接,因为每一个设备都是通过其与内核的专用连接独立地进行访问的。Linux 是具有设备独立的操作系统,它的内核具有高度的适应能力,随着更多程序员加入 Linux 编程,相信以后会有更多硬件设备加入到各种 Linux 内核和发行版本中。

6) 提供了丰富的网络功能

完善的内置网络是 Linux 的一大特点,Linux 在通信和网络功能方面优于其他操作系统。其他操作系统不包含如此紧密的内核结合在一起的连接网络能力,也没有内置这些连网特性的灵活性。而 Linux 为用户提供了完善的、强大的网络功能。

Linux 免费提供了大量支持 Internet 的软件,Internet 是在 UNIX 领域中建立并发展起来的,在这方面使用 Linux 是相当方便的,用户能用 Linux 与世界上其他人通过 Internet 网络进行通信。

7) 支持文件传输和远程访问

用户能通过一些 Linux 命令完成内部信息或文件的传输;同时 Linux 为系统管理员和技术人员提供了访问其他系统的窗口。通过这种远程访问的功能,一位技术人员能够有效地为多个系统服务,即使那些系统位于很远的地方。

8) 具有可靠的安全性

Linux 操作系统采取了许多安全措施,包括对读、写操作进行权限控制,带保护的子系统,审计跟踪和内核授权,这为用户提供了必要的安全保障。

9) 具有良好的可移植性

可移植性是指将操作系统从一个平台转移到另一个平台,使它仍然能按其自身的方式运行的能力。Linux 是一款具有良好可移植性的操作系统,能够在微型计算机到大型计算机的任何环境中和平台上运行。

可移植性为 Linux 操作系统的不同计算机平台与其他任何机器进行准确而有效的通信提供了保障,不需要另外增加特殊的通信接口。X-Windows 系统是用于 UNIX 机器的一个图形系统,该系统拥有强大的界面系统,并支持许多应用程序,是业界标准界面。

10) 提供了内存保护模式

Linux 使用处理器的内存保护模式来避免进程访问分配给系统内核或其他进程的内存。对于系统安全来说,这是一个主要的贡献,一个不正确的程序因不能再使用系统而崩溃(在理论上)。

11) 提供了共享程序库

共享程序库是一个程序工作所需要的例程的集合,有许多同时被多于一个进程使用的标准库,因此使用户觉得需要将这些库的程序载入内存一次,而不是一个进程一次,通过共享程序库使这些成为可能,因为这些程序库只有当进程运行的时候才被载入,所以它们被称为动态链接库。