Linux操作系统基础知识
Linux操作系统的起源
?Linux操作系统是一种类Unix操作系统,它的发展与Unix操作系统息息相关
?Unix操作系统的发展
–1969年:Unix系统的第一个版本
?由Ken Thompson在DECPDP-7计算机上实现,实现了一个文件系统、一个命令解释器(shell)和一些简单的文件工具,可以同时支持两个用
户
–70年代末:AT&T成立Unix系统实验室
?Ken Thompson和Dennis Ritchie使用C语言对整个系统进行了再加工和编写,使得Unix能够很容易的移植到其他硬件的计算机上
?AT&T以分发许可证的方法,对Unix仅仅收取很少的费用,大学和研究机构就能获得Unix的源代码以进行研究
?因而培养了懂得Unix使用和编程的大量的学生,这使得Unix的普及更为广泛
?70年代中后期,在Unix发展到了版本6之后,AT&T认识到了Unix的价值,成立了Unix系统实验室(Unix System Lab,USL)来继续发展
Unix,AT&T也宣布对Unix产品拥有所有权
Linux操作系统的起源
?Unix操作系统的发展
–70年代末:CSRG使用Unix对操作系统进行研究
?同一时期加州大学伯克利分校计算机系统研究小组(CSRG)使用
Unix对操作系统进行研究,他们的很多研究成果就反映在他们使用的
Unix中
?他们对Unix的改进相当多,增加了很多当时非常先进的特性,包括更好的内存管理,快速且健壮的文件系统等,大部分原有的源代码都被
重新写过,以支持这些新特性
?很多商业机构,都希望能得到CSRG改进的Unix系统
?因此CSRG中的研究人员把他们的Unix组成一个完整的Unix系统
──BSD Unix(Berkeley Software Distribution),向外发行–BSD Unix和Unix System V形成了当今Unix的两大主流
?BSD Unix影响范围更大
?各大Unix厂商为了避免法律上的纠纷,通常选择Unix System V作为商用Unix的版本
Linux操作系统的起源
?Unix操作系统的发展
–90年代,Unix系统实验室被AT&T卖给了Novell公司
?Novell公司比较友好,允许伯克利的CSRG自由发布BSD,但是其中来自于AT&T的代码必须完全删除
?发布了4.4 BSD Lite版本(该系统是不完整的,尤其对于英特尔
386体系的计算机系统)
?由于这个版本不存在法律问题,4.4BSD Lite成为了现代BSD系统的基础版本
–Novell由于自身的经营问题,又将Unixware卖给SCO公司。
由于BSD系统已经十分成熟,作为对操作系统进行研究的目
标已经达到,伯克利计算机系统研究组(CSRG)在发布了
4 .4BSD-lite2之后就解散了
–严格意义上的Unix System V和BSD Unix都不复存在了,存在的只是他们的各种后续版本
Linux操作系统的起源
?不同的Unix版本其标识方式不同
?AT&T开发的内部Unix使用顺序号标识版本
–V 1到V 7
?BSD使用主版本加次版本的方法标识,在原始版本的基础上还有派生版本,这些版本通常有自己的名字
– 4.2BSD,4.3BSD
– 4.3BSD-Net/1,4.3BSD-Net/2
?AT&T使用罗马数字标识Unix版本,用Release来表示次版本
–System V Release 4(简写为SVR4)
?其他商业公司的Unix使用各自的版本标识
–Sun的Solaris 2.6,IBM的AIX 4.0
Linux操作系统的起源?Linux操作系统的诞生
–当能运行在X86平台上的Unix相当有限,能自由、
免费的使用更是一种奢望
?要移植Unix到PC平台上便需要Unix的源代码,而此时受
AT&T的许可权的限制,Unix代码还不能被自由获得–很多计算机爱好者为了实现一个可以自由使用的操
作系统,不断进行着努力,自由软件基金会的GNU 计划的目的就是打算创建一个自由的、与Unix类似
的操作系统
?GNU开发了很多非常有效的工具,包括编译器和很多系统
命令
?然而GNU计划中的操作系统内核 ─HURD,却进展缓慢,
从而无法构建一个完整的操作系统
Linux操作系统的起源
?Linux由芬兰赫尔辛基大学的计算机研究生Linus Torvalds 创建
–通过学习Minix(一个用于教学目的的简单Unix系统,由Tanenbaum教授编写),实现了一个类Unix操作系统
?1991年10月,Linux第一个公开版0.02版发布,在GNU的GPL(General Public License)原则下发行
–Linux的命名:首先作者选了一个很糟糕的名字:Freax,”这个字是由free(自由)+freak(怪胎)+x构成的
–管理下载FTP服务器的Ari Lemmke不喜欢Freax这个名字,最后选择了Linus的笔名Linux为操作系统命名
?1994年3月,“Internet Play”的规则下,Linux 1.0版发布,这个内核和GNU的系统工具结合起来,成为当前非常流行的GNU/Linux系统
Linux操作系统的起源?Linux的标志是可爱的企鹅,取自芬兰的吉祥物
GNU与GPL/LGPL ?GNU:G NU IS N OT U NIX,旨在消除对计算机软件拷贝、分发、修改的限制?GPL:G eneral P ublic L icense,通用公共许可证
?LGPL:L ibraray G eneral P ublic License,程序库通用公共许可证
GNU与GPL/LGPL ?GPL:G eneral P ublic L icense
?它要求软件以源代码的形式发布,并规定,任何用户都能够以源代码的形式将软件复制或发布给别的用户
?它提醒每个用户,对于该软件不提供任何形式的担保
?如果用户的软件使用了受GPL保护的任何软件的一部分,那么,该软件就继承了GPL软件,并因此而成为GPL软件,也就是说必须随应用程序一起发布源代码
GNU与GPL/LGPL ?LGPL:L ibraray G eneral P ublic License ?LGPL是GPL的一个主要为类库使用设计的开源协
议和
?LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码,这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售
?GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品
Linux操作系统的特点
?Linux是一个网络操作系统(Network Operating System,NOS)网络操作系统则在一般操作系统的功能上增加了网络功能,具体包括:
(1)实现网络中各计算机之间的通信和资源共享;
(2)提供多种网络服务软件;
(3)提供网络用户的应用程序接口。
(4)它是由以Linus Torvalds为首的一批Internet上的志愿者开发的,完全免费,并与著名的网络操作系统UNIX完全兼容,是一个具有很高性能价格比的网络操作系统(5)由于开放源代码与良好的模块化设计,从而使嵌入式应用成为可能
Linux
内核Linux 内核运行期库
系统程序
shell
实用工具程序
Linux内核版本发展图示
Linux内核版本发展图示
学习Linux的意义
?掌握操作系统与高质量程序编写方法,掌握程序设计的技巧
?计算机网络构建、管理、维护
?常用服务器的构建、管理、维护
?嵌入式系统的开发应用