文档介绍:Linux系统是一种类UNIX的完整操作系统。它不仅功能强大、运行稳定,而且用户可免费使用,分析其源代码。Linux系统支持x86、ARM等大多数常见硬件架构和TCP/IP等主流网络协议,有良好的跨平台性能,应用面极其广阔。本章将介绍Linux系统的基本概念,并演示如何安装一套带有X Window图形操作界面的Linux系统发布版。
11 引 言
计算机系统由硬件系统和软件系统所组成,软件系统中最为重要的是操作系统。Linux作为操作系统管理着计算机内所有的硬件资源和软件资源,仿佛是计算机的灵魂。Linux系统基于GPL协议发布,该协议是GNU项目所创立开放源代码的公共许可证。要理解Linux系统并以一种全新的方式开发和发布软件,首先则需要了解GNU项目和Linux系统的渊源。
111 GNU项目简介
GNU项目在1983年由理查德·斯托曼(Richard Stallman)创立,最初的目标是通过使用必要的工具从源代码开始创建一个自由的类UNIX操作系统。此前的软件均以源代码的形式发布,用户可以根据自己需要修改源代码。但自从那时起,软件厂商为了保护自己的商业利益,开始使用编译所得的二进制文件发布软件,从而使软件的源代码变为“商业秘密”。
为了改变当时不利于软件技术发展的格局,GNU项目花了十余年时间创建了GCC编译器、Emacs编辑器等多个工具。所有的工具以源代码形式发布,并且无需支付任何费用,只是这些工具的改进版本和衍生品必须遵循同样的发布形式,这就形成了GPL协议。但它在20世纪80年代缺少了一个最关键的组件,即操作系统核心,直到Linux系统的诞生。GNU项目组织结构如图11所示。
112 Linux起源
安德鲁·塔能鲍姆(Andrew Tanenbaum)出于教学目的编写了名为Minix的类UNIX操作系统。芬兰赫尔辛基大学在读的学生林纳斯·托瓦兹(Linus Torvalds)认为Minix有许多地方不合理,于是开始为自己AT 386微机设计新的操作系统核心。1991年8月,林纳斯将自己新设计的操作系统内核通过网络发布,命名为Linux系统。不久之后,Linux系统陆续推出了多个版本,并且吸引了更多开发者加入Linux系统开发的行列。许多开发者利用已有的GNU工具构建Linux系统并为它开发新的特性,使之成为GNU项目中重要的组成部分。最新版本的Linux操作系统桌面如图12所示。
图11 GNU项目组织结构示意图
图12 Linux操作系统桌面
113 Linux发展现状
如今,Linux系统内核版本已发布到26版,它代表着当前操作系统技术的最前沿,并依然保持数周内一次的版本更新。更多的开发者进入到Linux系统开发的行列中,因此基于Linux系统的软件资源也十分丰富,而且这些资源同样能免费使用。绝大多数硬件产品具有针对Linux系统的支持,无论是将Linux系统作为桌面工作站还是服务器,都非常稳定易用。Linux系统的安装、操作和升级也越来越简单,有一些企业和开源组织对Linux系统进行了深入的扩展,他们将Linux系统以及一些重要的应用程序打包,并提供较方便的安装界面。同时,还提供一些有偿的商业服务如技术支持等。
Linux系统进入我国的时间较早,我国的工程师对Linux系统的发展也做出了巨大贡献。所以,Linux系统在我国拥有一定的用户基础和大量中文资源。Linux系统符合我国国情,不仅为信息化建设提供低廉成本的软件,而且其开放性也造就了众多中国人成为顶级软件工程师。
114 免费软件与开源软件
免费软件与开源软件概念并不相同,免费软件通常以二进制文件形式发布。用户虽然可以免费使用,但无权对软件进行任何修改。开源软件是将软件以源代码形式发布,并遵循GPL等开源协议,用户不仅能使用,而且还可对软件进行改进。
Linux系统是开源软件,所以基于Linux系统开发必须遵循开源规则。这种开发方式最大的优势是,开发者能最大限度的利用现有代码,从而避免重复工作。举例说明,如果需要构建一个新的办公协作软件,在Linux系统上开发不用从最基本的联系人数据库开始编写,也不用从头开始编写一个即时通信协议。这些都可以从其他已有软件上继承,开发者只要注重软件新特性部分实现即可。
12 Linux内核与版本
Linux内核是该操作系统的核心程序文件,通过与其他程序文件组合,Linux又构成了许多版本。每种Linux版本都有其特点,例如嵌入式Linux版本专门用于较小的电子设备操作,而计算机中常用的是Linux桌面版和Linux企业版。
121 Linux内核介绍
内核是操作系统的心脏,系统其他部分必须依靠内核这部分软件提供的服务,例如管理硬件设备、分配系统资