哪些是Linux
简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intelx86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是构建不受任何商品化软件的版权掣肘的、全世界都能自由使用的Unix兼容产品。
Linux的出现,最早开始于一位名叫LinusTorvalds的计算机业余爱好者,当时他是新西兰奥克兰学院的中学生。他的目的是想设计一个替代Minix(是由一位名叫AndrewTannebaum的计算机院长编撰的一个操作系统示教程序)的操作系统,这个操作系统可用于386、486或奔腾处理器的个人计算机上,而且具有Unix操作系统的全部功能,从而开始了Linux雏型的设计。
Linux以它的高效性和灵活性闻名。它还能在PC计算机上实现全部的Unix特点,具有多任务、多用户的能力。Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。Linux操作系统软件包除了包括完整的Linux操作系统,并且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形用户界面linux系统运行界面,就像我们使用WindowsNT一样,容许我们使用窗口、图标和菜单对系统进行操作。
Linux之所以深受广大计算机爱好者的喜爱,主要缘由有两个,一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,而且可以依照自己的须要对它进行必要的更改,无偿对它使用,无约束地继续传播。另一个诱因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中受益。
为何使用Linux
因为Linux是一套具有Unix全部功能的免费操作系统,它在诸多的软件中占有很大的优势,为广大的计算机爱好者提供了学习、探索以及更改计算机操作系统内核的机会。
操作系统是一台计算机必不可少的系统软件,是整个计算机系统的灵魂。一个操作系统是一个复杂的计算机程序集,它提供操作过程的合同或行为准则。没有操作系统,计算机就难以工作,就不能解释和执行用户输入的命令或运行简单的程序。大多数操作系统都是由一些主要的软件公司支持的商品化程序,用户只能有偿使用。假如用户订购了一个操作系统,他就必须满足供应商所要求的一切条件。由于操作系统是系统程序,用户不能私自更改或试验操作系统的内核。这对于广大计算机爱好者来说无疑是一种禁锢。
要想发挥计算机的作用,仅有操作系统还不够,用户还必需要有各类应用程序的支持。应用程序是用于处理个别工作(如字处理)的软件包,一般它也只能有偿使用。每位应用程序的软件包都为特定的操作系统和机器编撰。使用者无权更改那些应用程序。使用Linux,可以将操作系统弄成一种操作环境。
因为Linux是一套自由软件,用户可以无偿地得到它及其源代码,可以无偿地获得大量的应用程序,并且可以任意地更改和补充它们。这对用户学习、了解Unix操作系统的内核十分有益。学习和使用Linux,能为用户节约一笔可观的资金。Linux是目前惟一可免费获得的、为PC机平台上的多个用户提供多任务、多进程功能的操作系统,这是人们要使用它的主要诱因。就PC机平台而言,Linux提供了比其他任何操作系统都要强悍的功能,Linux还可以使用户远离各类商品化软件提供者促销广告的诱惑,再也不用承受每过一段时间就升级之苦,因而,可以节约大量用于订购或升级应用程序的资金。
Linux除了为用户提供了强悍的操作系统功能,并且还提供了丰富的应用软件。用户不但可以从Internet上下载Linux及其源代码,并且还可以从Internet上下载许多Linux的应用程序。可以说,Linux本身包含的应用程序以及移植到Linux上的应用程序包罗万象,任何一位用户都能从有关Linux的网站上找到适宜自己特殊须要的应用程序及其源代码,这样,用户就可以按照自己的须要下载源代码,便于更改和扩展操作系统或应用程序的功能。这对WindowsNT、Windows98、MS-DOS或OS/2等商品化操作系统来说是难以做到的。
Linux为广大用户提供了一个在家里学习和使用Unix操作系统的机会。虽然Linux是由计算机爱好者们开发的,并且它在好多方面上是相当稳定的,因而为用户学习和使用目前世界上最流行的Unix操作系统提供了廉价的机会。现今有许多CD-ROM供应商和软件公司(如RedHat和TurboLinux)支持Linux操作系统。Linux成为Unix系统在个人计算机上的一个代用具,并能用于取代这些较为高昂的系统。为此,假若一个用户在公司下班的时侯在Unix系统上编程,或则在工作中是一位Unix的系统管理员,他就可以在家里安装一套Unix的兼容系统,即Linux系统,在家中使用Linux就才能完成一些工作任务。
Linux尽览
Linux通常有四个主要部份:内核、Shell、文件结构和实用工具。
1.Linux内核
内核是系统的肾脏,是运行程序和管理像c盘和复印机等硬件设备的核心程序。它从用户哪里接受命令并把命令献给内核去执行。
2.LinuxShell
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种插口。它接收用户输入的命令并把它送入内核去执行。
实际上Shell是一个命令类库,它解释由用户输入的命令而且把它们送到内核。除了这么linux系统怎么样,Shell有自己的编程语言用于对命令的编辑,它容许用户编撰由shell命令组成的程序。Shell编程语言具有普通编程语言的好多特性,例如它也有循环结构和分支控制结构等,用这些编程语言编撰的Shell程序与其他应用程序具有同样的疗效。
Linux提供了像MicrosoftWindows那样的可视的命令输入界面--XWindow的图形用户界面(GUI)。它提供了好多窗口管理器,其操作就像Windows一样,有窗口、图标和菜单,所有的管理都是通过键盘控制。现今比较流行的窗口管理器是KDE和GNOME。
每位Linux系统的用户可以拥有他自己的用户界面或Shell,用以满足她们自己专门的Shell须要。
同Linux本身一样,Shell也有多种不同的版本。目前主要有下述版本的Shell:
BourneShell:是贝尔实验室开发的。
BASH:是GNU的BourneAgainShell,是GNU操作系统上默认的shell。
KornShell:是对BourneSHell的发展,在大部份内容上与BourneShell兼容。
CShell:是SUN公司Shell的BSD版本。
3.Linux文件结构
文件结构是文件储存在c盘等储存设备上的组织方式。主要彰显在对文件和目录的组织上。目录提供了管理文件的一个便捷而有效的途径。我们能否从一个目录切换到另一个目录,并且可以设置目录和文件的权限,设置文件的共享程度。
使用Linux,用户可以设置目录和文件的权限,便于准许或拒绝其他人对其进行访问。Linux目录采用多级树状结构,图1.1表示了这些树状等级结构。用户可以浏览整个系统,可以步入任何一个已授权步入的目录,访问那儿的文件。
文件结构的互相关联性使共享数据显得容易,几个用户可以访问同一个文件。Linux是一个多用户系统,操作系统本身的留驻程序储存在以根目录开始的专用目录中,有时被指定为系统目录。图1.1中这些根目录下的目录就是系统目录。
内核,Shell和文件结构一起产生了基本的操作系统结构。它们促使用户可以运行程序,管理文件以及使用系统。据悉,Linux操作系统还有许多被称为实用工具的程序,辅助用户完成一些特定的任务。
4.Linux实用工具
标准的Linux系统都有一套称作实用工具的程序,它们是专门的程序,比如编辑器、执行标准的估算操作等。用户也可以形成自己的工具。
实用工具可分三类:
编辑器:用于编辑文件。
过滤器:用于接收数据并过滤数据。
交互程序:容许用户发送信息或接收来自其他用户的信息。
Linux的编辑器主要有:Ed、Ex、Vi和Emacs。Ed和Ex是行编辑器,Vi和Emacs是全屏幕编辑器。
Linux的过滤器(Filter)读取从用户文件或其他地方的输入,检测和处理数据,之后输出结果。从这个意义上说,它们过滤了经过它们的数据。Linux有不同类型的过滤器,一些过滤器用行编辑命令输出一个被编辑的文件。另外一些过滤器是按模式找寻文件并以这些模式输出部份数据。还有一些执行字处理操作,测量一个文件中的格式,输出一个低格的文件。过滤器的输入可以是一个文件,也可以是用户从按键键入的数据,还可以是另一个过滤器的输出。过滤器可以互相联接,因而,一个过滤器的输出可能是另一个过滤器的输入。在有些情况下,用户可以编撰自己的过滤器程序。
交互程序是用户与机器的信息插口。Linux是一个多用户系统,它必须和所有用户保持联系。信息可以由系统上的不同用户发送或接收。信息的发送有两种形式,一种方法是与其他用户一对一地链接进行对话,另一种是一个用户对多个用户同时链接进行通信,即所谓广播式通信。
Linux发展
Linux是专门为个人计算机所设计的操作系统。它最早是由LinusTorvalds设计的。当时Linux是他的一项个人研究项目,其目的是为Minix用户设计一个比较有效的UnixPC版本。LinusTorvalds称它为Linux。Minix是由AndrewTannebaum院长开发的,发布在Internet上,免费给全世界的中学生使用。Minix具有较多Unix的特征,但与Unix不完全兼容,Linus准备为Minix用户设计一个较完整的UnixPC版本,于1991年发行了Linux0.11版本,并将它发布在Internet上,免费供人们使用。
之后几年,其他的Linux爱好者按照自己的使用情况,综合现有的Unix标准和Unix系统中应用程序的特性,更改并降低了一些内容,致使Linux的功能更健全。
Linux设计了与所有主要的窗口管理器的插口,提供了大量Internet工具,如FTP,TELNET和SLIP等。
Linux提供比较完整的程序开发工具,最常用的是C++编译器和调试器。
虽然Linux拥有了Unix的全部功能和特性,但它却是最小、最稳定和最快速的操作系统。在最小配置下,它可以运行在仅4MB的显存上。
Linux是在Internet开放环境中开发的,它由世界各地的程序员不断建立,并且免费供用户使用。虽然这么,它一直遵守商业Unix版本的标准,由于前几六年里,Unix版本大量出现,电子电气工程商会(IEEE)开发了一个独立的Unix标准,这个新的ANSIUnix标准被称为计算机环境的可移植性操作系统界面(PSOIX)。这个标准限定了Unix系统怎样进行操作,对系统调用也做了专门的阐述。PSOIX限制所有Unix版本必须依赖大众标准,现有大部份Unix和流行版本都是秉持POSIX标准的,而Linux从一开始就遵守POSIX标准。
Linux特点
Linux操作系统在短短的几年之内得到了十分迅猛的发展,这与Linux具有的良好特点是分不开的。Linux包含了Unix的全部功能和特点。简单的说,Linux具有以下主要特点:
1开放性
开放性是指系统遵守世界标准规范,非常是遵照开放系统互连(OSI)国际标准。凡遵守国际标准所开发的硬件和软件,都能彼此兼容,可便捷地实现互连。
2多用户
多用户是指系统资源可以被不同用户各自拥有使用,即每位用户对自己的资源(比如:文件、设备)有特定的权限,互不影响。Linux和Unix都具有多用户的特点。
3多任务
多任务是现代计算机的最主要的一个特性。它是指计算机同时执行多个程序,但是各个程序的运行相互独立。Linux系统调度每一个进程平等地访问微处理器。因为CPU的处理速率十分快,其结果是启动的应用程序看上去似乎在并行运行。事实上,从处理器执行一个应用程序中的一组指令到Linux调度微处理器再度运行这个程序之间只有很短的时间延后,用户是觉得不下来的。
4良好的用户界面
Linux向用户提供了两种界面:用户界面和系统调用。Linux的传统用户界面是基于文本的命令行界面,即shell,它既可以联机使用,又可存在文件上脱机使用。shell有很强的程序设计能力,用户可便捷地用它编制程序,因而为用户扩展系统功能提供了更中级的手段。可编程Shell是指将多条命令组合在一起,产生一个Shell程序,这个程序可以单独运行,也可以与其他程序同时运行。
系统调用给用户提供编程时使用的界面。用户可以在编程时直接使用系统提供的系统调用命令。系统通过这个界面为用户程序提供低级、高效率的服务。
Linux还为用户提供了图形用户界面。它借助键盘、菜单、窗口、滚动条等设施,给用户呈现一个直观、易操作、交互性强的友好的图形化界面。
5设备独立性
设备独立性是指操作系统把所有外部设备统一当成成文件来看待,只要安装它们的驱动程序,任何用户都可以象使用文件一样,操纵、使用这种设备,而毋须晓得它们的具体存在方式。
具有设备独立性的操作系统,通过把每一个外围设备看作一个独立文件来简化降低新设备的工作。当须要降低新设备时、系统管理员就在内核中降低必要的联接。这些联接(也叫做设备驱动程序)保证每次调用设备提供服务时,内核以相同的方法来处理它们。当新的及更好的外设被开发并交付给用户时linux运维博客,操作准许在这种设备联接到内核后,才能不受限制地立刻访问它们。设备独立性的关键在于内核的适应能力。其他操作系统只容许一定数目或一定种类的外部设备联接。而设备独立性的操作系统才能容纳任意种类及任意数目的设备,由于每一个设备都是通过其与内核的专用联接独立进行访问。
Linux是具有设备独立性的操作系统,它的内核具有高度适应能力,随着更多的程序员加入Linux编程,会有更多硬件设备加入到各类Linux内核和发行版本中。另外,因为用户可以免费得到Linux的内核源代码linux系统运行界面,因而,用户可以更改内核源代码,便于适应新降低的外部设备。
6供了丰富的网路功能
建立的外置网路是Linux的一大特征。Linux在通讯和网路功能方面优于其他操作系统。其他操作系统不包含这么紧密地和内核结合在一起的联接网路的能力,也没有外置这种联网特点的灵活性。而Linux为用户提供了建立的、强大的网路功能。
支持Internet是其网路功能之一。Linux免费提供了大量支持Internet的软件,Internet是在Unix领域中构建并繁荣上去的,在这方面使用Linux是相当便捷的,用户能用Linux与世界上的其他人通过Internet网路进行通讯。
文件传输是其网路功能之二。用户能通过一些Linux命令完成内部信息或文件的传输。
远程访问是其网路功能之三。Linux除了容许进行文件和程序的传输,它还为系统管理员和技术人员提供了访问其他系统的窗口。通过这些远程访问的功能,一位技术人员才能有效地为多个系统服务,虽然这些系统坐落相距很远的地方。
7可靠的系统安全
Linux采取了许多安全技术举措,包括对读、写进行权限控制、带保护的子系统、审计跟踪、核心授权等,这为网路多用户环境中的用户提供了必要的安全保障。
8良好的可移植性
可移植性是指将操作系统从一个平台转移到另一个平台使它一直能按其自身的形式运行的能力。
Linux是一种可移植的操作系统,才能在从微型计算机到小型计算机的任何环境中和任何平台上运行。可移植性为运行Linux的不同计算机平台与其他任何机器进行确切而有效的通讯提供了手段,不须要另外降低特殊的和高昂的通讯插口。
Linux与其他操作系统区别
Linux可以与MS-DOS、OS/2、Windows等其他操作系统共存于同一台机器上。它们均为操作系统,具有一些共性,并且相互之间各有特色,有所区别。
目前运行在PC机上的操作系统主要有Microsoft的MS-DOS、Windows、WindowsNT、IBM的OS/2等。初期的PC机用户普遍使用MS-DOS,由于这些操作系统对机器的硬件配置要求不高,而随着计算机硬件技术的急速发展,硬件设备价钱越来越低,人们可以相对容易地增强计算机的硬件配置,于是开始使用Windows、WindowsNT等具有图形界面的操作系统。Linux是新近被人们所关注的操作系统,它正在逐步为PC机的用户所接受。这么,Linux与其他操作系统的主要区别是哪些呢?下边从两个方面加以阐述。
首先看一下Linux与MS-DOS之间的区别。
在同一系统上运行Linux和MS-DOS已很普遍,就发挥处理器功能来说,MS-DOS没有完全实现x86处理器的功能,而Linux完全在处理器保护模式下运行,但是开发了处理器的所有特点。Linux可以直接访问计算机内的所有可用显存,提供完整的Unix插口。而MS-DOS只支持部份Unix的插口。
就使用费用而言,Linux和MS-DOS是两种完全不同的实体。与其他商业操作系统相比,MS-DOS价钱比较实惠,并且在PC机用户中有很大的占有率,任何其他PC机操作系统都很难达到MS-DOS的普及程度,由于其他操作系统的费用对大多数PC机用户来说都是一个不小的负担。Linux是免费的,用户可以从internet上或则其他途径获得它的版本,但是可以任意使用,不用考虑费用问题。
就操作系统的功能来说,MS-DOS是单任务的操作系统,一旦用户运行了一个MS-DOS的应用程序,它就独占了系统的资源,用户不可能再同时运行其他应用程序。而Linux是多任务的操作系统,用户可以同时运行多个应用程序。
再看一下Linux与OS/2、Windows、WindowsNT之间的区别。
从发展的背景看,Linux与其他操作系统的区别是,Linux是从一个比较成熟的操作系统发展而至的,而其他操作系统,如WindowsNT等,都是自成体系,无对应的相依托的操作系统。这一区别促使Linux的用户能大大地从Unix团体贡献中获利。由于Unix是世界上使用最普遍、发展最成熟的操作系统之一,它是七十年代中期发展上去的微机和巨型机的多任务系统,尽管有时插口比较混乱,并缺乏相对集中的标准,但还是发展壮大成为了最广泛使用的操作系统之一。无论是Unix的作者还是Unix的用户,都觉得只有Unix才是一个真正的操作系统,许多计算机系统(从个人计算机到超级计算机)都存在Unix版本,Unix的用户可以从好多方面得到支持和帮助。因而,Linux做为Unix的一个克隆,同样会得到相应的支持和帮助,直接拥有Unix在用户中构建的牢靠的地位。
从使用费用上看,Linux与其他操作系统的区别在于Linux是一种开放、免费的操作系统,而其他操作系统都是封闭的系统,须要有偿使用。这一区别促使我们才能不用花钱才能得到好多Linux的版本以及为其开发的应用软件。当我们访问Internet时,会发觉几乎所有可用的自由软件都还能运行在Linux系统上。有来自好多软件商的多种Unix实现,Unix的开发、发展商以开放系统的方法促使其标准化,但却没有一个公司来控制这些设计。为此,任何一个软件商(或开拓者)都能在某种Unix实现中实现这种标准。OS/2和WindowsNT等操作系统是具有版权的产品,其插口和设计均由某一公司控制,但是只有那些公司才有权实现其设计,它们是在封闭的环境下发展的。
附表:
Linux核心技术解读:00,01,02,03,04,05,06,07,08,09,10,11,appendix_A,appendix_B(PDF)