第1章 Linux是什么

1.1 Linux是什么

1.1.1 Linux是什么

Linux是一套操作系统,只包含内核和系统调用,但可以整合进去很多的应用软件。Linux是开源的,它的程序代码可以被修改成适合在各种机器上运行。

同一套操作系统是无法在不同的硬件平台上面运行,如果能参考硬件的功能函数并修改你的操作系统程序代码,就可以在另一个硬件平台上运行,这称为软件移植。

 

1.1.2 Linux之前的UNIX的历史

1,早期的Unix发布

ThompsonPDP-7这部主机进行操作系统内核程序的编写,最终以汇编语言写出了一组内核程序,同时包括一些内核工具程序,以及一个小的文件系统,这就是UNIX的原型(Unics)。

Thompson的这个文件系统有两个重要的概念:1,所有的程序或系统装置都是文件;2,不管构建编辑器还是附属文件,所写的程序的目的只有一个:有效完成目标。

由于汇编语言的专一性,每次安装到不同的机器都要重新编写汇编语言,于是Unics改以更高级的C语言重新编写,最终发行出UNIX的正式版本。

2,发展形成的纯种的UnixBSDSystem V

由于操作系统的内核必须与硬件相配合,每一家公司自己出品的UNIX虽然在架构上大同小异,但是仅能支持自身的硬件。由于UNIX现在是以C语言编写的,因此只需要修改源码就可以将UNIX移植到不同的主机上。Sun公司修改成了自己机器的版本:Berkeley Software Distribution(BSD),后期的x86硬件架构上面的FreeBSD也是由BSD改版而来。之后,AT&T推出了System V的第七版的UNIX

3x86架构的Minix操作系统的诞生

谭宁邦教授自己动手写了Minix这个UNIX Like的内核程序,为避免版权纠纷,谭宁邦完全不看UNIX内核源码,但能够与UNIX兼容。之后芬兰的赫尔辛基大学的Linus Torvalds通过学习Minix操作系统,通过gccbash等工具写了一个内核程序,可以在Intel386机器上面运行。

补充:GNU计划,又称革奴计划,是由Richard Stallman1983927日公开发起的。它的目标是创建一套完全自由的操作系统。GPLGNU General Public License,通用公共许可证)是一个广泛被使用的自由软件许可证

 


1.2 Torvalds的Linux开发

1.2 .1托瓦兹对386硬件进行多任务测试,并写出Linux系统

托瓦兹购买了最新的Intel 386的个人计算机后,安装了Minix操作系统,编写了三个程序(一个持续输出A,一个持续输出B,一个调用前两个程序交替输出AB),最终机器持续输出ABAB...,因此他发现386机器支持多任务处理(同一段时间可以交替完成多个任务)。而要达到多任务环境,除了硬件有多任务的特性外,操作系统也应该支持这个功能。托瓦兹利用bash工作环境软件和gcc编译等自由软件,参考Minix的设计理念与书上的程序代码,仔细研究386个人计算机的性能优化,最终写出了他所需要的内核程序,即Linux。为了使Linux兼容于UNIX,托瓦兹参考标准的POSIX规范(POSIX重点在于规范内核与应用程序之间的接口)修改Linux,让在UNIX上运行的软件也能在Linux上运行。

 

1.2.2 Linux的开发:虚拟团队的产生

托瓦兹总是有些硬件无法取得,因此无法进行驱动程序的编写,因为Linux的内核是Open Source的,广大志愿者很容易就能够跟随Linux的原本设计构架,写出兼容的驱动程序或软件并上传到托瓦兹的FTP网站上。因为这种随时都有程序代码加入的状况,于是Linux便逐渐开发成具有模块的功能,即是将某些功能独立于内核外,在需要时才加载到内核中。模块化后,原本的内核程序不需要变动,Linux由于托瓦兹是针对386机器写的,跟386硬件的相关性很强,所以,早期的Linux确实是不具有移植性的,但Open Source的好处就是可以修改程序代码去适合作业的环境。

 

1.2.3 Linux的内核版本

2.6.18-92.e15

主版本.次版本.释放版本-修改版本

主,次版本为奇数则为开发中版本,如2.5.xx;主,次版本为偶数,则为稳定版本,如2.6.xxLinux内核版本与distribution版本并不相同,因为Linux版本指的是内核版本,并不会有9.x的版本出现。

由于托瓦兹负责开发的Linux仅具有KernelKernel提供的工具,因此,很多的商业公司就将Linux Kernel(含tools)与可运行的软件集成起来,加上自己具有创意的工具程序,这个“Kernel + Software + Tools”的可完全安装的系统,称之为Linux distribution。由于每个Linux distribution使用的kernel都是在http://www.kernel.org所发布的,因此所有的Linux distribution差异不是太大,它们的唯一差别可能就是开发者自家所开发出来的管理工具以及套件管理的模式。

 


1.3 Linux的特色

优点:

自由与开放的使用与学习环境;配备需求低廉;内核功能强大而稳定;独立作业(Linux近来已尽可以独立完成几乎所有的工作站或服务器的服务了);稳定的系统;免费或少许费用;安全性和漏洞的快速修复;多用户多任务(与windows系统不同,Linux主机上可以允许多人同时上线工作,并且资源的分配较为公平,比起Windows的单人多任务系统要稳定得多);用户与用户组的规划;相对比较不耗资源的系统;适合需要小内核程序的嵌入式系统(由于Linux只要几百KB不到的程序代码就可以完整驱动整个计算机硬件并成为一个完整的操作系统,因此相当适合于目前家电或者小电子用品的操作系统,即嵌入式系统);整合度佳且多样的图形用户界面GUI(自从1994Linux 1.0就加入的X Window系统)。

缺点:

没有特定的支持厂商;游戏的支持度不足;专业软件的支持度不足。

目前Linux已经是相当成熟的一套操作系统,另外,Linux对于硬件的需求是很低的,并且做一个工作站又不使用到屏幕(只要主机就可以),因此Linux就越来越流行。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值