《计算机系统由硬件系统和软件系统组成.doc》由会员分享,可在线阅读,更多相关《计算机系统由硬件系统和软件系统组成.doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1第1章 Fedora Core Linux简介计算机系统由硬件系统和软件系统组成,硬件是计算机的物质基础,而软件则是计算机的灵魂。随着计算机技术的快速发展,操作系统也日趋成熟起来,例如Windows操作系统、Unix操作系统等。本书将向大家介绍一种现在比较流行的操作系统Linux操作系统。Linux操作系统是一款优秀的操作系统,支持多用户、多线程、多进程,实时性好,功能强大且稳定。同时,它又具有良好的兼容性和可移植性,被广泛应用于各种计算机平台上。通过本章的学习大家可以详细了解Linux操作系统的发展史、Linux操作系统的特点以及Linux操作系统的结构等。本章学习目标: 了解Linux操
2、作系统的发展史 了解Linux与Unix操作系统的关系 了解Linux操作系统的发布版本 掌握Fedora Core操作系统的特性 掌握Linux操作系统的组成 了解Linux操作系统的发展前景1.1 什么是LinuxLinux是一套免费使用和自由传播的类Unix的操作系统,是一种基于POSIX和Unix操作系统的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议并支持32位和64位硬件。Linux操作系统继承了Unix操作系统以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86系列CPU的计算机上。这个操
3、作系统是由全世界各地的、成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约且全世界都能自由使用的Unix操作系统的兼容产品。Linux操作系统以它的高效性和灵活性著称。Linux模块化的设计结构,使得它既能在价格昂贵的工作站上运行,也能在廉价的PC机上实现全部的Unix特性,具有多任务、多用户的能力。Linux操作系统是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X Windows图形用户界面,如同使用Window
4、s NT操作系统一样,允许用户使用窗口、图标和菜单对系统进行操作。Linux操作系统具有Unix操作系统的优点:稳定、可靠、安全、有强大的网络功能。在相关软件的支持下,可实现WWW、FTP、DNS、DHCP、E-mail等服务,还可作为路由器使用,利用ipchains/iptables可构建NAT及功能全面的防火墙。Linux操作系统有很多发行版本,较流行的有:Red Hat Linux、Debian Linux、Red Flag Linux等。它是在Internet网络上由志愿者开发的与Unix操作系统兼容的、完整的操作系统,可从许多以电子形式发布的提供者那里免费获得。Linux操作系统相对
5、于Windows操作系统而言,在易用方面还需要要大的改进,同时不容易配置,所以应用起来比较困难,但是Linux操作系统以其稳定、安全的因素吸引了大量的用户。它的软件包中包括X Window系统(X11R6)及TCP/IP网络功能(包括SLIP、PPP和对NFS服务器的支持)。Linux是一种类似Unix的操作系统,是一款完全免费的操作系统。说它是Unix操作系统的“克隆”并不准确,因为它的内核代码是全部从头写的,只是它符合POSIX 1003.1标准,且具有Unix操作系统中所有的命令,同Unix操作系统十分相似,所以人们称它为Unix操作系统的“克隆”。严格地说,Linux只是一个操作系统的
6、内核,不是一个操作系统。用Stallman的话说:“它只是一个内核,正确的叫法应为:GNU/Linux操作系统”。不同发行厂商发行的Linux只是GNU操作系统的某个发行版,而Linux是各种版本的GNU操作系统的内核。它作为一种操作系统被一些网络服务器使用,并且在19981999年间开始因为IBM和Compaq公司的支持而有了显著的增长。1.2 Linux操作系统简介Linux是一种计算机操作系统,它也是自由软件和开放源代码发展中最著名的例子。它是由以Linus Torvalds为首的一批Internet上的志愿者开发的,是完全免费的,并与另一款著名的网络操作系统Unix完全兼容,是一种具有
7、很高性能的网络操作系统。1.2.1 Linux操作系统的发展史提到Linux操作系统的发展首先应该从Unix操作系统的发展谈起。1969年,贝尔实验室的研究员编写了Unix操作系统的第一个版本,这是一种多用户、多任务的操作系统。整个20世纪70年代,Unix操作系统的代码都在免费传播,它迅速成为在大学和研究机构中很流行的操作系统。1979年,AT&T宣布了使Unix操作系统商业化的计划。这导致加州大学伯克利分校建立了自己的Unix版本,成为BSD(Berkeley Software Distributions)Unix。BSD Unix操作系统被DEC和SUN这样的商业公司所接受。后来AT&T
8、和SUN同意将各自的Unix版本合并,并且推进其竞争对手(DEC、HP以及IBM)共同建立开放软件基金。1983年,为了反对软件所有权私有化的趋势,建立了GNU计划来推进免费软件模型,并为此开发了首个免费的操作系统、应用程序以及开发工具。更重要的是,GNU建立了General Public License(GPL),它成为许多开放源码软件所采用的模型。1987年,开发者Andrew Tanenbaum发布了Minix操作系统,这是一个为PC、Mac、Amiga以及Atari ST设计的Unix版本,在发布时带有完整的源代码。1989年,芬兰赫尔辛基大学的一名学生Linus Torvalds为了
9、超越Minix操作系统,发布了一个新的Unix操作系统变种Linux操作系统。三年后,Linux操作系统正式接受GPL。1993年,FreeBSD 1.0发布。这个系统以BSD Unix操作系统为基础,包括网络、虚拟内存、任务切换以及长文件名等功能。BSD许可不需要开发者反馈任何东西。1994年,Marc Ewing建立了Red Hat Linux操作系统,用以解决Linux操作系统易用性方面的问题。因而Red Hat迅速成为领先的Linux操作系统发行者。1998年,CA、Corel、IBM、Informix、Interbase、Oracle以及Sybase等厂商,宣布了支持Linux操作系
10、统的产品计划。Microsoft在一份声明中用Linux操作系统为例说明其在操作系统方面没有垄断地位。1999年,Linux 2.2内核发布,IBM推出全面支持Linux操作系统的计划。2001年,Linux 2.4内核发布,新内核被看成Linux操作系统发展史上具有里程碑意义的事件。2002年5月,Linux Kernel 2.5.14内核问世。2003年,Linux 2.6内核发布。1.2.2 Linux的版本Linux操作系统的版本可以分为两类:内核(Kernel)版本与发行(Distribution)版本。内核版本是指在Linux操作系统领导下开发小组开发出来的系统内核版本号。而一些组
11、织或公司将Linux内核与应用软件和文档包装起来,并提供一些安装界面和系统设置与管理工具,这样就构成了一个发行版本。例如最常见的Slackware、Mandriva、Debian、Red Hat和国产的红旗Linux等。1SlackwareSlackware Linux是最早出现的Linux发行版本之一,Slackware的特点就是安装简单,目录结构清楚,版本更新快,1997年一年就推出了几个版本。其缺点是软件种类不如Red Hat和Debian多,并且其安装不如Red Hat快速、简洁、直观。Slackware只提供字符方式的安装界面,并且需要用户自己去寻找针对不同硬件的启动盘。其升级方式也
12、不如Red Hat和Debian简单,同RPM和DEB相比,Slackware只有一个相对简陋的pkgtool,经常会出现卸载软件后其他软件使用不了的故障。但是Slackware Linux最大的资本就是它是最为普及的Linux发行版本之一,有很多公司以Slackware为基础重新包装发行。其中Walnut Creek CDROM公司是其中最出名的一家。此外Slackware简单的目录结构,清楚的配置文件也是它吸引用户的地方。2MandrivaMandriva原名Mandrake,最早是由Mandrake的开发者基于Red hat进行开发的。Red Hat默认采用GNOME桌面系统,而Mand
13、rake将之改为KDE桌面系统,而由于当时的Linux普遍比较难安装,不适合第一次接触Linux的新手,所以Mandrake还简化了安装系统。这也是当时Mandrake在国内流行的原因之一。Mandrake的开发完全透明化,包括cooker。当系统有了新的测试版本后,便可以在cooker上找到之前Mandrake的新版本。Mandriva版本的优点是:友好的操作界面,图形配置工具,庞大的社区技术支持及NTFS分区大小变更。缺点是:部分版本bug较多,最新版本只限发布给Mandrake俱乐部的成员。3DebianDebian最早由Ian Murdock于1993年创建。是迄今为止最遵循GNU规范
14、的Linux操作系统。Debian操作系统分为三个版本分支(branch):stable、testing和unstable。截至2005年5月,这三个版本分支分别对应的具体版本为:Woody、Sarge和Sid。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing版本经过了unstable中的测试,相对较为稳定,也支持不少新技术(比如SMP等)。而stable一般只用于服务器,上面的软件包大部分都比较过时了,但是稳定性和安全性都非常的高。为何有如此多的用户痴迷于Debian呢?apt-get/dpkg是原因之一。dpkg是Debi
15、an系列特有的软件包管理工具,它被誉为所有Linux软件包管理工具(比如RPM)中最强大的。配合apt-get,使得在Debian上安装、升级、删除和管理软件变得异常容易。Debian版本的优点是:遵循GNU规范,100%免费,优秀的网络和社区资源及强大的apt-get。缺点是:安装相对不易,stable分支的软件极度过时。4Red Hat LinuxRed Hat Linux是一个比较成熟的Linux版本,无论是在销售量还是在装机量上都比较可观。该版本从4.0时就开始同时支持Intel、Alpha和Sparc硬件平台,并且通过Red Hat公司的开发,使得用户可以轻松地进行软件升级并彻底卸载
16、应用软件和系统部件。它能向用户提供一套完整的服务,这使得它特别适合在公共网络中使用。这个版本使用最新的内核,还拥有大多数人都需要使用的主体软件包。Red Hat Linux的安装过程也十分简单明了。它的图形安装过程提供了简易设置服务器的全部信息。磁盘分区过程可以自动完成,还可以选择GUI工具来完成,对于Linux新手来说这些也都非常简单。选择软件包的过程也与其他版本类似,用户可以选择软件包种类或特殊的软件包。系统运行后,用户可以从Web站点和Red Hat那里得到充分的技术支持。Red Hat是一个符合大众需求的最优版本。它在服务器和桌面系统中都工作得很好。Red Hat的唯一缺陷是带有一些不
17、标准的内核补丁,这使得它难于按用户的需求进行定制。5红旗Linux红旗Linux中文操作系统是中国科学院软件所、北大方正电子有限公司和康柏计算机公司联合推出的具有自主版权的全中文化Linux发行版本。红旗Linux以全新、优化、整合的KDE图形环境、桌面设计、结构布局及菜单设计的完整和谐,令人耳目一新。集成的硬件自动检测功能,满足了PC用户硬件的随时更换需求。高质量的中文字体显示,高效率文字输入法选择,确保了用户办公系统的工作品质。高效完善的网络使用功能、快捷友好的打印机管理和配置工具、人性化设计的在线升级工具、身份注册、软件更新、数据库管理一线完成,用户还可根据需要提升系统性能、定制个性化的
18、桌面环境、拥有完善的工作平台。图形图像软件从基本的PS/PDF文件阅读工具到看图、画图、截图再到图像的扫描、数码相机支持,全线集成、满足用户的各种需求。1.2.3 选择Linux的原因Linux以它的高效性和灵活性著称。它能够在个人计算机上实现Unix操作系统的全部特性,具有多任务、多用户的能力。Linux可在GNU公共许可权限下免费获得,是一个符合POSIX标准的操作系统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X Windows图形用户界面,如同使用Windows NT操作系统一样,允许用户使用
19、窗口、图标和菜单对系统进行操作。Linux之所以受到广大计算机爱好者的喜爱,主要原因有两个:一是它属于自由软件,用户不用支付任何费用就可以获得它及其源代码,并且可以根据自己的需要对它进行必要的修改和无约束地继续传播;另一个原因是,它具有Unix操作系统的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。由于Linux是一套自由软件,用户可以无偿地得到它及其源代码,还可以无偿地获得大量的应用程序,而且可以任意地修改和补充它们。这对于用户学习、了解Unix操作系统的内核非常有益。学习和使用Linux,能为用户节省一笔可观的资金。Linux是目前唯一可免费获得
20、的、为PC机平台上的多个用户提供多任务、多进程功能的操作系统,这是人们使用它的主要原因。就PC机平台而言,Linux提供了比其他任何操作系统都要强大的功能。Linux不仅为用户提供了强大的操作系统功能,而且还提供了丰富的应用软件。用户不但可以从Internet上下载Linux及其源代码,而且还可以从Internet上下载许多Linux的应用程序。可以说,Linux本身包含的应用程序以及移植到Linux上的应用程序包罗万象,任何一位用户都能从有 关Linux的网站上找到适合自己特殊需要的应用程序及其源代码,这样,用户就可以根据自己的需要下载源代码,以便修改和扩充操作系统或应用程序的功能。对于商品
21、化操作系统来说这是无法做到的。Linux的开放性也给我国的操作系统软件开发商提供了一个良好的机会开发具有自主知识产权的操作系统,打破国外厂商在计算机操作系统上的垄断。我国有多家软件公司致力于开发基于Linux内核的操作系统平台,例如中科红旗,并且其产品成功地应用在很多领域。1.3 Linux操作系统的特性Linux与传统的计算机操作系统相比有着无与伦比的优点,这导致了它的迅速发展,并被更多的人或集团接受。本节将对Linux操作系统和其他操作系统进行比较,并介绍Linux操作系统的特点和Fedora Core操作系统的特性。1.3.1 Linux的特点Linux操作系统在短时间内得到迅猛的发展,
22、这与该操作系统的良好特性是分不开的。Linux包含了Unix操作系统的全部功能和特性。主要表现在以下几个方面:1开放性开放性是指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。凡遵循国际标准所开发的硬件和软件能彼此兼容,可方便地实现互联。2多用户多用户是指系统资源可以被不同的用户各自拥有使用,即使每个用户对自己的资源(如文件、设备)有特定权限也互不影响,Linux和Unix都具有多用户特性。3多任务多任务是现代计算机最主要的一个特点,它是指计算机同时执行多个程序,而且各个程序的运行是相互独立的。Linux系统调试每一个进程平等地访问CPU。由于CPU的处理速度非常快,其结果是启
23、动的应用程序看起来好像是在并行运行。事实上,从CPU执行的一个应用程序中的一组指令到Linux调试CPU再次运行这个程序之间是有很短的时间延迟的,因此用户是感觉不出来的。4友好的用户界面Linux向用户提供了两种界面:用户界面和系统调用界面。Linux的传统用户界面是基于文本的命令行界面,即shell。它既可以联机使用,又可存在文件上脱机使用。shell有很强的程序设计能力,用户可方便地用它编写程序,从而为用户扩充系统功能提供了更高级的手段。Linux还提供了图形用户界面,它利用鼠标、菜单和窗口等呈现给用户一个直观、易操作、交互性强的友好图形化界面。5设备独立性设备独立性是指操作系统把所有外部
24、设备都当作文件看待,只要安装了它们的驱动程序,用户可以像使用文件一样,操作并使用这些设备,而不必知道它们的具体存在形式。设备独立性的关键在于内核的适应能力,其他操作系统只允许一定数量或一定种类的外部设备连接,因为每一个设备都是通过其与内核的专用连接独立进行访问的。Linux是具有设备独立性的操作系统,故它的内核具有高度的适应能力。相信随着更多程序员加入Linux编程队伍,将会有更多的硬件设备加入到各种Linux内核和发行版本中。6丰富的网络功能完善的内置网络是Linux的一大特点,Linux在通信和网络功能方面优于其他操作系统。其他操作系统不包含如此紧密地将内核结合在一起的连接网络的能力,也不
25、具备这些联网特性的灵活性,而Linux为用户提供了完善的、强大的网络功能。 支持Internet Linux免费提供了大量支持Internet的软件,Internet是在Unix操作系统领域中建立并发展起来的,因此在这方面使用Linux是相当方便的,用户可以用Linux与世界上的其他人通过Internet网络进行通信。 文件传输 用户能通过一些Linux命令完成内部信息或文件的传输。 远程访问 Linux为系统管理员和技术人员提供了访问其他系统的窗口。通过这种远程访问的功能,技术人员能够有效地为多个系统服务,即使那些系统位于很远的地方。7可靠的安全性Linux操作系统采取了许多安全措施,包括对
26、读、写操作进行权限控制,带保护的子系统、审计跟踪和内核授权,这为用户提供了必要的安全保障。8良好的可移植性可移植性是指将操作系统从一个平台转移到另一个平台,使它仍然能按其自身的方式运行的能力。Linux是一款具有良好的可移植性的操作系统,能够在微型机到大型机的任何环境中和平台上运行。该特性为Linux操作系统的不同计算机平台与其他任何机器进行准确而有效的通信提供了保障,不需要另外增加特殊的通信接口。9X Window系统X Window系统是用于Unix机器的一个图形系统,该系统拥有强大的界面系统并支持许多应用程序,是业界的标准界面。10内存保护模式Linux使用处理器的内存保护模式来避免进程
27、访问分配给系统内核或者其他进程的内存。对于系统安全来说,这是一个主要的贡献,因此一个不正确的程序不再能够使系统崩溃(在理论上)。11共享程序库共享程序库是一个程序工作所需要例程的集合,有许多同时被多于一个进程使用的标准库。因此使用户觉得需要将这些库的每个程序载入内存一次,而不是一个进程一次,通过共享程序库使这些成为了可能。因为只有当进程运行的时候这些程序库才被载入,所以称为动态链接库。1.3.2 比较Linux操作系统与其他操作系统Linux、Unix和Windows是操作系统的几个典型,它们应用于不同的领域和平台上。Linux操作系统可以与这些操作系统共存于一台计算机中,Linux操作系统与
28、其他操作系统的主要区别是什么呢?本节将详细介绍Linux操作系统与其他操作系统的区别与联系。1Linux与Unix操作系统Unix是一个功能强大、性能全面的多用户、多任务操作系统,可以应用于从巨型计算机到普通PC机等多种不同的平台上,是应用面最广、影响最大的操作系统。Linux是一种外观和性能与Unix相同甚至更好的操作系统,但Linux不源于任何版本的Unix的源代码,并不是Unix,而是一个类似于Unix的产品。Linux产品成功模仿了Unix系统的功能,具体讲Linux是一套兼容于System V以及BSD Unix的操作系统,对于System V来说,把目前的软件程序源代码拿到Linu
29、x下重新编译之后就可以运行,而对于BSD Unix来说它的可执行文件可以直接在Linux环境下运行。一般来说,Linux是一套遵从POSIX(可移植操作系统环境)规范的操作系统,它能够在普通PC机上实现Unix操作系统的全部特性,具有多任务、多用户的功能。Linux受到广大计算机爱好者喜爱的另一个主要原因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。在网络管理能力和安全方面,使用过Linux的人都承认Linux与Unix很相似。Unix操作系统一直被用做高端应用或服务器系统,因此拥有一套完善的网络管理机制和规则,Linux沿用了这
30、些出色的规则,故网络的可配置能力很强,为系统管理提供了极大的灵活性。2Linux与WindowsWindows操作系统是在个人计算机上发展起来的,在许多方面受到个人计算机硬件条件的限制,这些操作系统必须不断地升级才能跟上个人计算机硬件的进步。而Linux操作系统却是以另外一种形式发展起来的,Linux是Unix操作系统用于个人计算机上的一个版本,Unix操作系统已经在大型机和小型机上使用了几十年,直到现在仍然是工作站操作系统的首选平台。Linux给个人计算机带来了能够与Unix系统相似的速度、效率和灵活性,使个人计算机所具有的潜力得到了充分发挥。Linux与Windows工作方式存在一些根本的
31、区别,这些区别只是在用户 对两者都很熟悉之后才能体会到,但它们却是Linux思想的核心。其根本区别主要体现在以下几个方面:(1)Linux的应用目标是网络Linux的设计定位于网络操作系统,它的设计灵感来自于Unix操作系统,因此它的命令设计比较简单。虽然现在已经实现了Linux操作系统的图形界面,但仍然没有舍弃文本命令。由于纯文本可以非常好地跨越网络进行工作,所以Linux配置文件和数据都以文本为基础。对于熟悉图形环境的用户来说,使用文本命令行的方式看起来比较原始,但是Linux的开发更多关注的是它的内在功能而不是表面文章。即使在纯文本环境中,Linux同样拥有非常先进的网络、脚本和安全性能
32、。Linux执行一些任务所需要的步骤从表面上来看令人费解,除非能够真正认识到Linux是期望在网络上与其他Linux操作系统协同执行这些任务。该操作系统自动执行能力很强大,只需要设计批处理文件就可以让系统自动完成非常繁琐的工作任务,Linux的这种能力来源于其文本的本质。(2)可选的GUI目前,许多版本的Linux操作系统具有非常精美的图形界面。Linux支持高端的图形适配器和显示器,可完全胜任图形相关的工作。但是,图形环境并没有集成到Linux中,而是运行于操作系统之上的单独一层。这意味着用户可以只运行GUI,或者在需要时使用图形窗口运行GUI。Linux有图形化的管理工具以及日常办公工具,
33、比如电子邮件、网络浏览器和文档处理工具等。不过在Linux中,图形化的管理工具通常是控制台(命令行)工具的扩展,也就是说,用图形化工具能够完成的所有工作,用命令行同样能够完成。而使用图形化的工具并不妨碍用户配置文件并进行手工修改,可能其实际意义不是显而易见的,但是如果在图形化管理工具中所做的任何工作都可以以命令行的方式完成,这就表示这些工作同样可以使用一个脚本来实现。脚本化的命令可以称为自动执行的任务。Linux中的配置文件是可读的文本文件,这与过去的Windows中的INI文件类似,但与Windows操作系统的注册思路有本质的区别。每一个应用程序都有自己的配置文件,而通常不与其他配置文件放在
34、一起,不过大部分配置文件都存放于一个目录树(/ect)下的单独位置,所以在逻辑上看起来是放在一起的。文本文件的配置方式可以不通过特殊的系统工具就可以完成配置文件的备份、检查和编辑工作。(3)文件名扩展Linux不使用文件名扩展来识别文件的类型,这与Windows操作系统不同。Linux操作系统是根据文件的头内容来识别其类型的。为了提高可读性,仍可以使用文件名扩展,这对Linux操作系统来说没有任何影响。不过,有一些应用程序,比如Web服务器,可以使用命名约定来识别文件类型,但这只是特定应用程序的需要而不是Linux操作系统本身的要求。Linux通过文件访问权限来判断文件是否为可执行文件,可以赋
35、予任何一个文件可执行权限,程序和脚本的创建者或管理员可以将它们识别为可执行文件,这样做有利于文件的安全。保存到系统上的可执行文件不能自动执行,如此一来可以防止许多脚本病毒。(4)重新引导在使用Windows操作系统时,也许用户已经习惯出于各种原因而重新引导系统(即重新启动),但在Linux操作系统中这一习惯需要改变。一旦开始运行,它将保持运行状态,直到受到外来因素的影响,比如硬件故障。实际上,Linux操作系统的设计使得应用程序不会导致内核的崩溃,因此不必经常重新引导,所以除了Linux内核之外,其他软件的安装、启动、停止和重新配置都不用重新引导系统。如果用户重新引导了Linux操作系统,问题
36、很可能得不到解决甚至会更加恶化,因此在学习Linux操作系统时,要改变重新引导系统的习惯。另外,可以远程地完成Linux中的很多工作,只要有一些基本的网络服务在运行就可以进入到系统。而且,如果系统中一个特定的服务出现了问题,用户还可以在进行故障诊断的同时让其他服务继续运行。当用户在一个系统上同时运行多个服务的时候,多种管理方式是非常重要的。(5)命令区分大小写所有的Linux命令和选项都区分大小写,如-R和-r是不同的。控制台命令几乎都使用小写,在后面的章节中会对Linux操作系统中的命令进行详细讲解。1.4 Fedora Core操作系统Red Hat公司于2003年9月宣布将原有的Red
37、Hat Linux开发计划与Fedora Linux计划整合成新的Fedora Project。Fedora是对Red Hat Linux的自然继承,并且包括了Red Hat Linux发布的许多特征和软件工具,Fedora代表了它的发起者Red Hat有限公司在商业方面的趋势。下面将详细介绍Fedora Core。1.4.1 Fedora Core简介Fedora是一个具有开放性、创新性和前瞻性的操作系统平台,是基于Linux的。它允许任何 人自由地使用、修改和重新发布。Fedora项目由Fedora基金会管理和控制,得到了Red Hat Inc的支持。可运行的体系结构包括x86(即i386
38、、x86_64和PowerPC)。Fedora Core(有时又称为Fedora Linux)是众多的Linux发行套件之一,它是一套从Red Hat Linux发展而来的免费Linux操作系统,Fedora操作系统最新的版本是Fedora Core 7,不过,本书以Fedora Core 6为例来介绍Fedora Core Linux操作系统。Fedora和Red hat这两个Linux的发行版本的联系很密切。Red Hat自9.0以后,不再发布桌面版本,而是把这个项目与开源社区合作,于是就有了Fedora这个Linux发行版。Fedora是一个独立的操作系统,是Linux的一个版本,Lin
39、ux有许多版本,比如Debian、SuSE、ArchLinux、MandrakeLinux以及Slackware等。Fedora Core的前身就是Red Hat Linux。2003年9月,红帽公司(Red Hat)突然宣布不再推出个人使用的发行套件,而专心发展商业版本(Red Hat Enterprise Linux)的桌面套件,但是红帽公司也同时宣布将原有的Red Hat Linux开发计划和Fedora计划整合成一个新的Fedora Project。Fedora Project将由红帽公司赞助,以Red Hat Linux 9.0为范本加以改进,原本的开发团队将会继续参与Fedora的
40、开发计划,同时也鼓励开放原始码社群参与开发工作。1.4.2 Fedora Core的特性Fedora Core是由Red Hat公司资助的合作项目产生的一款产品。因为Fedora Core最初就是在Red Hat基础上开发的,后由Red Hat和Fedora联手共同维护这个产品。而Red Hat公司原本开发Red Hat Linux的工程师也将继续参与这个发行版本的开发工作,同时鼓励更多的自由软件应用者参与进来,使之能够趋于大众的需要。同时Fedora依然保持了Red Hat Linux的稳定、功能强大等特性,并且在Red Hat Linux的基础上纳入了部分更新版本的软件,使得Fedora
41、Core的用户可以体验到Linux业界最为领先的应用。Fedora Core 6操作系统把最新式的外观和最尖端的技术结合在了一起,创造出丰富的个人创作环境。重新设计的外观,包括焕然一新的DNA主题,它们如此活泼动人,展示了Fedora激动人心和关注用户体验的一面。通过易用的系统配置图形工具支持多系统共存以及自动硬件检测功能,极大方便了用户的安装。Fedora集成了最先进的开放源代码的办公套件OpenOffice.org 2.0.2,并且使用很多软件包,使得性能和效率得以提升。让希望拥有办公环境的用户更加轻松地办公,并集成了Mozilla浏览器和Ximian公司的Evolution套件,通过增加
42、电子邮件及通信管理、项目管理软件、视频会议软件以及即时消息软件来使系统更加个性化。Fedora Core 6突出了2.6.18基础上的核心,任何SMP和UP处理器结构体系中已不再有分离的核心,现在单一的核心可以自动地监测到用户的处理器配置,找到合适的比特,其他诸如新的虚拟管理器,在Xen的顶部增加了一个绘图管理界面,除了以上的工具外还提供了众多强劲的配置工具组,这些工具可以为许多系统的配置进行设定,包括防火墙、外围设备、Apache服务器、Samba服务器和一些小的网络设定等。1.5 Linux的结构Linux操作系统主要分为4个部分:内核(kernel)、shell、文件结构和实用工具。其中
43、内核是整个系统的核心部位;shell是用户和计算机交流的接口。本节介绍Fedora Core Linux操作系统的组成部分。1.5.1 内核内核的主要作用是运行程序和管理硬件。内核包括几个主要部分:进程管理、内存管理、文件系统驱动、网络管理和进程间通信。内核最重要的作用是内存管理和进程管理。 进程调度(SCHED) 控制进程对CPU的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的进程。可运行进程实际上是仅等待CPU资源的进程,如果某个进程在等待其他资源,则该进程是不可运行进程。Linux操作系统使用了比较简单的基于优先级的进程调度算法选择新的进程。 内存管理(MM) 允许多个进程
44、安全的共享主内存区域。Linux操作系统的内存管理支持虚拟内存,即在计算机中运行的程序,其代码、数据、堆栈的总量可以超过实际内存的大小,操作系统只是把当前使用的程序块保留在内存中,其余的程序块则保留在磁盘中。必要时,操作系统负责在磁盘和内存间交换程序块。内存管理从逻辑上分为硬件无关部分和硬件有关部分。硬件无关部分提供了进程的映射和逻辑内存的对换;硬件相关的部分为内存管理硬件提供了虚拟接口。 虚拟文件系统(Virtual File System,VFS) 隐藏了各种硬件的具体细节,为所有的设备提供统一的接口,VFS提供了多达数十种不同的文件系统。虚拟文件系统可以分为逻辑文件系统和设备驱动程序。逻
45、辑文件系统指Linux所支持的文件系统,如ext2、fat等,设备驱动程序指为每一种硬件控制器所编写的设备驱动程序模块。 网络接口(NET) 提供了对各种网络标准的存取和各种网络硬件的支持。网络接口可分为网络协议和网络驱动程序。网络协议部分负责实现每一种可能的网络传输协议;网络设备驱动程序负责与硬件设备通信,每一种可能的硬件设备都有相应的设备驱动程序。 进程间通信(IPC) 支持进程间的各种通信机制。所有其他的子系统都依赖处于中心位置的进程调度,因为每个子系统都需要挂起或恢复进程。一般情况下,当一个进程等待硬件操作完成时被挂起。当操作真正完成时,进程被恢复执行。例如,当一个进程通过网络发送一条
46、消息时,网络接口需要挂起发送进程,直到硬件成功地完成消息的发送,当消息被成功的发送出去以后,网络接口返回给进程一个代码,表示操作的成功或失败。其他子系统以相似的理由依赖于进程调度。1.5.2 shellshell是系统的用户界面,提供了用户与内核进行交互操作的接口。它接收用户输入的命令,并把它们送入内核去执行。实际上Shell是一个命令解释器,它解释由用户输入的命令,并且把它们送到内核。不仅如此,Shell有自己的编程语言用于命令的编辑,它允许用户输入由shell命令组成的程序。shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序
47、与其他应用程序具有同样的效果。shell中的命令分为内部命令和外部命令。前者包含在shell之中,如cd、exit等,查看内部命令可使用help命令。后者存于文件系统某个目录下的具体可操作程序,如cp等,查看外部命令的路径可使用which命令。作为命令行操作界面的替代选择,Linux操作系统提供了像Microsoft Windows操作系统那样的可视的命令输入界面X Window的图形用户界面(GUI)。它提供了很多窗口管理器,其操作就像Windows一样,有窗口、图标和菜单,所有的管理都是通过鼠标来控制的。现在比较流行的窗口管理器是KDE和GNOME。同Linux本身一样,Shell也有多种
48、不同的版本。目前主要流行的版本有以下几项。 Bourne Shell 是贝尔实验室开发的。 BASH 是GNU的Bourne Again Shell,是GNU操作系统上默认的Shell。 Korn Shell 是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。 C Shell 是SUN公司Shell的BSD版本。1.5.3 文件结构文件结构是文件存放在磁盘等存储设备上的组织方法。主要体现在对文件和目录的组织方式上,目录提供了管理文件的一个方便而有效的途径。能够从一个目录切换到另一个目录,而且可以设置目录和文件的权限及文件的共享程度等。使用Linux操作系统,用户可以设置目录和文件的权限,以便允许或拒绝其他人对其进行访问。Linux目录采用多级树形结构,用户可以浏览整个系统,可以进入任何一个已授权进入的目录访问其文件。文件结构的相互关联性使共享数据变得容易,几个用户可以访问同一个文件。Linux是一个多用户系统,操作系统本身的驻留程序存放在以根目录开始的专用目录中,有时被指定为系统 目录。内核、shell和文件结构一起形成了基本的操作系统结构。它们使得用户可以运行程序、管理文件以及使用系统。此外,Linu