您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 鸟哥的Linux私房菜
鸟哥的Linux私房菜基础文件什么是Linux什么是Linux?什么是操作系统?要了解Linux之前,就不能不知道什么是操作系统(OperationSystem,OS),所以,首先我们来简单的说一说什么是操作系统吧!先来想一想,当我们使用计算机时,屏幕上面显示的咚咚是由哪里来的?嗯!是由显示卡与屏幕显像的;那么你现在可以藉由网络看到这篇文章,则是藉由Internet、网络卡、网络线以及所有相关的电子器材与网络器材所完成的一项任务!如果你要看VCD呢?那么就需要光驱、光盘、声卡的发声等等的支持。这么说来的话,所以在『工作』的东西都是『硬件』的工作呀!对了!就是这些计算机硬件在工作的。那么硬件怎么工作呢?那就是藉由『操作系统』来达成的啰!这个操作系统就是在沟通你这个使用者跟硬件之间的讯息传递啦!也就是说,没有操作系统,那么你的计算机硬件就只是一堆废铁,什么工作都不能做的!那么操作系统里面含有什么东西呢?简单的来说,操作系统主要分为两个东西,一个是『核心』、一个是『一堆核心提供的工具』我们以使用者常使用的Windows计算机来做一个简单的说明好了。大家应该都使用过Windows计算机里面的档案总管吧?那么当你开启档案总管的时候,他是否会显示你硬盘当中的数据?这个显示硬盘里面的数据,就是『核心』帮你做的,但是,你要核心去显示硬盘哪一个目录下的数据,则是由『档案总管』这个『工具』帮你达成的!这样可以理解吗?再来,如果您曾经使用过Windows2000或WindowsXP的话,那就更好了!你就应该听过有所谓的『FAT32与NTFS档案格式』吧?在Windows98这个早期的Windows版本中,他并无法读取或者是找到WindowsXP的NTFS档案格式的硬盘,为什么呢?因为他的『核心』本来就不认识NTFS啊!所以,即使你有档案总管,但是由于核心根本不认识NTFS,所以,档案总管也是没有能力帮你达到你想要做的事情!这样应该就更清楚了吧?没错!你的整个硬件是由核心来管理的,而如果核心不认识你的硬件,那么你将无法使用该硬设备,例如上面提到的NTFS档案格式的硬盘!核心就是『Kernel』,他是一个操作系统的最底层的东西,由他来掌管整个硬件资源的工作状态,而Linux有Linux自己的核心,Windows也有他自己的核心。所以说,当有新的硬件加入到你的系统中的时候,那么若你的『Kernel』并没有支持他的时候,呵呵,这个新的硬件就肯定无法工作的,因为控制他的Kernel并不认识他呀!这样了解了吗?!先有个概略性的了解,后面我们提到『核心编译』的时候会在更详细的谈到他!一般来说,Kernel管理的事项有:.Systemcallinterface:一些服务与kernel沟通之后,将硬件的资源进一步的利用;.Processcontrol:系统过程控制中心,所以核心编的越小越好;.Memorymanagement:控制整个系统的内存管理;.Filesystemmanagement:档案系统的管理,例如I/O等等的工作啦!还有不同档案格式的支持啦等等,如果你的核心不认识某个档案系统,那么您将无法使用该档案格式的档案啰!例如上面提到的Windows98不认识NTFS档案格式的硬盘;.Devicedrivers:就如同上面提到的,硬件的管理是Kernel的主要工作之一,当然啰,装置的驱动程序就是核心需要做的事情啦!好在目前都有所谓的『可加载模块』功能,可以将驱动程序编辑成模块,就不需要重新的编译核心啦!这个也会在后续的核心编译当中提到的!所以啦!所有硬件的资源都是他来管理的!至于我们要达成一些工作时,除了藉由核心本身提供的功能(例如上面提到的档案总管)之外,还可以藉由其它的应用软件来达成喔!举个例子来说,你要看VCD影片是吧!那么除了Windows提供的媒体播放程序之外,你也可以自行安装VCD播放程序来播放VCD啰!这个播放程序就是应用软件啰,而这个应用软件可以帮你去控制核心来工作(就是放映影片啰),因此,我们可以这样说,核心是控制整个硬件支持的咚咚,也是一个操作系统的最底层,然而要让整个操作系统更完备的话,那还需要含有相当丰富的核心提供的工具,以及核心相关的应用软件来支持!OK!提到这里那么您知道Linux是什么了吗?呵呵!对啦!其实Linux就是一个操作系统,这个操作系统里头含有最主要的kernel以及kernel提供的工具啦!他提供了一个完整的操作系统当中最底层的硬件控制与资源管理的完整架构,这个架构是沿袭Unix良好的传统来的,所以相当的稳定而功能强大!此外,由于这个优良的架构可以在目前的个人计算机(X86系统)上面跑,所以很多的软件开发者将他们的工作心血移转到这个架构上面,那就是很多的应用软件啦!虽然Linux仅是其核心与核心提供的工具,不过,由于核心、核心工具与这些软件开发者提供的软件的整合,使得Linux成为一个更完整的、功能强大的操作系统啰!我们可以将Linux的系统与使用者的相关性看成底下的图示:图一、使用者、使用者接口与核心工具、核心、与硬件之相关性约略了解Linux是何物之后,接下来,我们要谈一谈,『为什么说Linux是很稳定的操作系统呢?他是如何来的?』从Unix到Linux这一段历史为什么大家常常会说,Linux是很稳定的一套操作系统呢?这是因为,Linux他有个老前辈,那就是Unix家族啰!有这个前辈的提携,让Linux这个小老弟很快的就成为一套稳定而优良的操作系统啦!所以,底下我们来谈一谈Unix到Linux的这一段历史吧!早在Linux出现之前的二十年(大约在1970年代),就有一个相当稳定而成熟的操作系统存在了!那就是Linux的老大哥『Unix』是也!怎么这么说呢?!他们这两个家伙有什么关系呀?这里就给他说一说啰!众所皆知的,Linux的核心是由LinusTorvalds在1991年的时候给他开发出来的,并且丢到网络上提供大家下载,后来大家觉得这个小东西(LinuxKernel)相当的小而精巧,所以慢慢的就有相当多的朋友投入这个小东西的研究领域里面去了!但是为什么这的小东西这么棒呢?!然而又为什么大家都可以免费的下载这个东西呢?!嗯!等鸟哥慢慢的唬xx....喔不!听我慢慢的道来!.一个没有完成的梦想:Bell,MIT与GE的『Multics』系统早期的计算机并不像现在的个人计算机一般,他可不是一般人碰的到的玩意儿,除非是军事或者是高科技用途才有可能接触到这类的Computer!而如前面所言,有计算机硬件还需要操作系统的配合才能够发挥计算机的效能,不过,在那个年代,由于计算机算是『奢侈品』,喔~应该说是『贵重物品』,所以,可能一间学校就只有一部大型主机当然,那个年代所谓的大型主机仍然无法提供适度的运算能力的。不过,既然只有一部大型主机,然而有许许多多的教师、学生要想要来使用,怎么办呢?为了解决这个问题,在1960年代初期,麻省理工学院(MIT)发展了所谓的『兼容分时系统(CompatibleTime-SharingSystem,CTSS)』,就字面上的意义来看,他主要让大型主机可以提供多个终端机联机进入主机使用主机的资源,(附带一提,当时的终端机(Terminal)本身并没有软件或者可供使用的资源,这些终端机要能使用,一定必需要联机登入主机之后,才能够使用主机的资源来工作!)当时可以让约30位使用者联机使用主机。而为了让这个分时系统更加的强大,所以,在1965年前后由贝尔研究室(Bell)、麻省理工学院(MIT)及奇异电器公司(GE)开始来共同开发一个名为Multics的大型计划,目标是想让大型主机可以联机300位以上的使用者。不过,在奋斗了四年之后,该计划仍然宣告不治...喔!是失败啦!(注:Multics有复杂、多数的意思。).一个小型档案系统的产生:1969年KenThompson的小型fileserversystem在复杂的Multics系统的计划失败后,贝尔研究室当然就退出该计划。就在这个计划解散之后,曾经参与Muitics的贝尔研究室的成员KenThompson由于自己工作上的需求,需要一套档案存取的小型操作系统,便在1969年的时候以DEC公司(DigitalEquipmentCorporation)的计算机PDP-7为硬件基准,设计了一个适合自己工作环境的小型档案系统,其中也含有他自行开发的一些小工具。那个系统就是最早期的Unix的源头!当初Ken设计这个档案系统时,主要是为了自己的存取方便所设计的简单OS,因此将原有的Multics系统大幅度的简化,不过,在当时还并没有Unix这个名词的出现!.Unix的正式诞生:1973年Ritchie等人以C语言写出第一个正式Unix核心由于Thompson写的那个操作系统实在太好用了,所以在Bell研究室内部广为流传,并且数度经过改版。到了1973年,Bell研究室的DennisRitchie等人为了让这个系统的执行效能更佳化,所以使用编译效能更好的C语言将原有的1969年的那个系统之核心大幅度的改写过,并且确定该操作系统名称为Unix,呵呵!那就是最早的Unix操作系统啰!不过,由于这个操作系统是由这一群工程师所开发完成的,而且使用者也大多是这方面的工程师,因此造成了后来Unix系统接口较难被一般使用者接受的情况@_@(注:相对于Multics,Unix具有单一的意思!).重要的Unix分支:1977年BSD的诞生在Unix早期的发展中,有一件相当重要的事情,那就是BSD的诞生!由于C语言是一种高级语言,他可以被应用在不同的硬件架构上面,而Unix本身就是C语言写成的!在Unix发表之后,柏克莱大学(Berkeley)的教授对于这个操作系统相当的有兴趣,在经过取得Unix的原始码,并且几经修改之后,终于在1977年发表了第一代的BerkeleySoftwareDistribution(BSD)。这个BSD是Unix的一个分支,他的发展对于Unix有相当大的影响,例如后来的Sun公司就是使用BSD发展的核心进行自己商业的Unix版本的发展的!.百家齐鸣的Unix版本:由于C语言是一个相当高阶的程序语言,他与硬件没有很直接的相关性,例如你的Windows也可以执行C程序语言!而由于Unix是由C语言写成的,因此,也就是说,你只要经过稍微的原始码修改程序,就可以在不同的硬件架构上面执行这个操作系统!后来,由于Unix的方便性,因此很多的商业公司及学术机构就加入这个操作系统的研发啰。不过,也由于Unix的便利性与改写容易,因此就造成了很多的不同版本的Unix啰,例如ATT的SystemV、加州大学的BSD版、IBM的AIX等等。由于『操作系统的核心(Kernel)必须要跟硬件配合,以提供及控制硬件的资源进行良好的工作!』,而在早期每一家生产计算机硬件的公司还没有所谓的『协议』的概念,所以每一个计算机公司出产的硬件自然就不相同啰!因此他们必须要为自己的计算机硬件开发合适的Unix系统,所以,他们自行开发的Unix当然只能配合本身的硬件配备啰!例如在学术机构相当有名的Sun、Cray与HP就是这一种情况,他们开发出来的Unix并没有办法在其它的硬件架构下工作的!(我们都称呼这种系统与配备为『超级计算机』)!由于没有厂商针对个人计算机设计Unix系统,因此,在早期并没有支持个人计算机的Unix操作系统的出现(当然,这是由于早期的个人计算机并没有现在这样风行就是了!),每一家公司自己出的Unix虽然在架构上面大同小异,但是却真的仅能支持自身的硬件,所以啰,早先的Unix只能与服务器(Server)或者是大型工作站(Workstation)划上等号!此外,由于版本太多了,而大家都是同样来自于Unix这个老祖宗,当然也都称自己是Unix,好了,如此一来,许多商业公司自然就会有类似的软件发表,喝!那么自然就有些许的商业纠纷啰!真是伤脑筋~.1984年的GNU与FreeSoftwareFoundation:Unix在商业上面的问题让许多对于Unix喜好者感到相当的忧心,其
本文标题:鸟哥的Linux私房菜
链接地址:https://www.777doc.com/doc-3681929 .html