Linux 内核分析概述PPT_第1页
Linux 内核分析概述PPT_第2页
Linux 内核分析概述PPT_第3页
Linux 内核分析概述PPT_第4页
Linux 内核分析概述PPT_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一讲 Linux 内核分析概述,本讲内容,Linux操作系统内核简介 linux内核分析概论,第一节 Linux操作系统内核简介,Linux操作系统简介 Linux内核版本简介,什么是linux操作系统,Linux是: 多任务的多用户多平台 工作在保护模式下 遵守POSIX标准 遵守SYSV和BSD扩展 遵守GPL许可 32位(也有64位)的类UNIX 开放源代码的免费 的操作系统 它是由芬兰赫尔辛基大学的学生 Linus Torvalds 在1991年开发出来的,POSIX POSIX表示可移植操作系统接口(Portable Operating System Interface ,缩写为

2、POSIX 是为了读音更像UNIX)。电气和电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE) 最初开发 POSIX 标准,是为了提高 UNIX 环境下应用程序的可移植性。然而,POSIX 并不局限于 UNIX。 许多其它的操作系统,例如 WinNT,都支持 POSIX 标准。POSIX.1 已经被国际标准化组织(International Standards Organization,ISO)所接受,被命名为 ISO/IEC 9945-1:1990 标准。 SYSV和BSD扩展 可以理解为和SYSV和BSD源代码级的

3、兼容。简单一点,就是Linux下的应用程序同时也能在这两个系统上运行。 GPL(General Public License) 公用许可证。,Linux的来历,Linux最早是Linus Torvalds在1991年开始设计开发的。linus是芬兰人,赫尔辛基是芬兰的首都,当时他正是赫尔辛基大学计算机系的学生,23岁。1990年的秋天,linus在赫尔辛基大学学习UNIX(一种操作系统,和linux有密切联系,在后面本章小节中我会详悉介绍)课程,教材是AndrewTanenbaum教授写的操作系统:设计与实现(现在中译本很多,大家可以找来看看)。操作系统:设计与实现是用Minix(AndyTa

4、nenbaum教授所写的很小的Unix操作系统,主要用于操作系统教学。,Linux的来历,刚开始他是在Minix环境下写了一个处理多任务切换的程序,用他自己的话来描述这个程序:“这个程序包括两个进程,都是向屏幕上写字母,然后用一个定时器来切换这两个进程。一个进程写A,另一个进程写B,所以我就在屏幕上看到了AAAA,BBBB,如此循环重复的输出结果。”linus在练习使用Minix时,发现其功能很不完善。于是他就有了一个目标:写一个比Minix更好的Minix。所以Minix是linux的父亲,Linux的来历,在1991的时候,主观上有了这样一个目标,当时linus又需要一个简单的终端仿真程序

5、来存取Usenet新闻组的内容,于是他就开始在上面两个草草编写的进程的基础上又写了一个程序。他是这样描述的:“一个进程是从键盘上阅读输入然后发送给调制解调器,另一个进程是从调制解调器上阅读发送过来的信息然后送到屏幕上供人阅读。”然而要实现这两个新的进程,他显然还需要一些别的东西,这就是驱动程序。他必须为不同的显示器、键盘和调制解调器编写驱动程序。1991年的夏季,也就是他购买了第一台PC机之后6个月,Linus觉得他还需要从网上下载某些文件,为此他必须读写某个磁盘。于是他又不得不写一个磁盘驱动程序,然后是一个文件系统。而一旦你有了任务切换器、文件系统和设备驱动程序之后,你当然就拥有了一个操作系

6、统,或者至少是它的一个内核。linux也就这样诞生了。,1994年,Torvalds终于推出了 Linux的正式的 1.0版本。此时这个操作系统已经变得比较稳定并且拥有很多的高级特性了:支持抢先多任务、对称多处理和完全的POSIX兼容性等。它甚至有了自己的吉祥物!Torvalds在Linux的联机文档里这样描述到:它是一只讨人喜欢的、让人一见就想拥抱的、刚刚饱餐了一顿鲱鱼的企鹅。 在1998年Linux获得了广泛支持,尤为重要的是几乎所有的大型软件公司都宣布推出或即将为Linux开发相应的产品。 有人预测在2003年之前成为紧随微软Windows NT之后的第二大操作系统。 Linux 的吉祥

7、物是 Linux 企鹅,它是由 Linux Torvalds 挑选的代表他所创立的 Linux 操作系统.,Linux的来历,linux名字由来,开始,linux还没有专门的新闻组。linus只是在赫尔辛基技术大学的一台FTP服务器上发了一则消息,说可以下载linux的公开版本。Linux是linus的笔名,他担心如果用Linux来命名的话有人会说他狂妄而且不会认真对它。于是他用了一个很怪的名字Freak(free+freak+X)-free就是自由;freak愿意是怪胎的意思。表示这个系统还有很多不完善的地方。加上X是模仿UNIX和MINIX让人家一看就知道这是一个操作系统。后来,这台FTP

8、的管理员不喜欢Freax这个名字,最后选择了Linux.。,自由软件,Richard Stallman在1971年加入MIT的人工智能实验室,他认为:知识应该与其它能从知识中受益的人一起共享,重要的资源应该被利用。他想把自己开发的软件与其它人共享,按照法律,他是MIT的员工,他写的程序是属于MIT的。为了不冒犯法律,毅然辞职。大约在一年以后,由于个别的公司控制了许多公共软件的开发项目。自1984年起MIT开始支持Richard Stallman的努力。这样就导致了自由软件基金会(Free Software Foundation,FSF)的建立。他认为:计算机系统因该开放,软件应该自由使用。,G

9、NU,Richard Stallman打算组织开发一个完全基于自由软件的软件体系GNU(GNUs Not Unix,GNU这个单词含义正好是产于南非州的一种大羚羊,所以我们经常可以看到有些linux书的封面是一只羚羊,就是这个道理。)。它的目标是:写一个完整的与UNIX兼容的软件系统。由于刚开始还没有很好的自由软件可供使用。所以他们先从系统的应用软件和工具着手。比如很有名的:emacs(编辑器) gcc(据说是世界上效率最高的编译器)等等。同时他们也开发GUN体系的操作系统内核:hurd。可是开发得很缓慢。到现在也没有全部完工。,GPL,在其它人协作下, Stallman创作了通用软件许可证(

10、General Public Licese,GPL)。这对推动自由软件的发展起了重要作用。GPL主要的规定: 1) GPL保证任何人有共享和修改自由软件的自由。还可以把修改后的软件向公众发布。但是发布者要无条件开放其源代码。这样就保证自由软件的低价。 2) GPL规定自由软件的衍生作品必须以GPL为重新发布的许可证。这样就保证了自由软件的持续性。 3) GPL规定允许公司销售自由软件。这就为公司介入自由软件事业敞开大门。,Linux和自由软件,自从1991Linux发布以来,一直是完全自由扩散的。他要求所有的源码必须公开且任何人不准从中获利。这样它限制了Linux以磁盘或CDROM等媒介的发布

11、形式。从而阻碍了Linux得发展。因为没有哪家公司愿意使用没有厂商保证和没有良好技术支持的操作系统。linus想到了GPL。事实也证明,加入GPL之后,许多软件公司就介入其中,开发了多种Linux的发行版本。如:Redhat、Mandrake等等。他们增加了许多实用软件和易用的图形界面。linus本人也认为:“使Linux成为GPL的一员是我一生中作过最漂亮的一件事”。,Linux 的发音,据说,linux的创始人Linus(Linus Torvalds)针对读音分歧较多的情况,特意录了一段他对Linux的发音。这段录音的内容是这样的:“Hello,this is Linus Torvalds

12、 and I pronounce Linux as Linux”。我听出来的是/li:nks/,综合网上和linus自己的读音,概括出几个自认为最合适也最通用的读法:/Links/(“里那克斯”)或/li:nks/(“里呢克斯”)或/Linu:ks?/(“里纽克斯”)。 提示:上面的这段录音可以在RedHat中调试声卡的时候可以听到,如果你的声卡调试成功,系统会播放上面一段声音以示成功。,linux和UNIX的关系,在讲UNIX和linux两者关系之前,我们先了解一下Minix。Minix最初是由Andrew Tanenbaum教授在4.3BSD的基础上,但不通过修改4.3BSD的源代码而是白

13、手起家几乎一个人完成了12000行C语言程序的编写工作。它的特点功能简单、易懂可以在8086上运行(后来也能在80386上运行),当然我们称它为UNIX操作系统。但这个Minix的功能也非常的有限,几乎没什么实用价值,但它能很好地作为教学使用。后来网上很多人给Tanenbaum教授寄来了改进,可是Tanenbaum教授没有接受。他想保持Mnix小而简单的特性。从它的名字中不难看出,Minix是一个迷你型的操作系统。,linux和UNIX的关系,linux最初是由Minix发展而来,Minix是由4.3BSD UNIX发展而来,4.3BSD UNIX是由AT&T的所谓真正的UNIX发展而来。可以

14、总结出:Minix是linux的父亲,而UNIX则是linux的祖父了。虽然UNIX和linux的源代码完全无关,可是linux中的许多特性和UNIX有很多相等之处。如: 1.Linux 采用了 SVR4 的进程间通信(IPC)机制:共享内存、消息队列、信号灯 2.Linux 支持 BSD Socket 网络编程接口 3.许多 Linux 发行版采用 SysV init 机制,支持运行级别 所以我们认为linux是UNIX操作系统。,Liux发展的5大支柱,Linux的内核版本,Linux的内核版本 linux发行版本,不同版本的核心源码的文件数,Linux的内核版本,Linux内核由其创始人

15、linus带领的小组维护。这个版本我们就认为是“官方版本”。内核版本号的格式是: 主版本号.次版本号.修正号 例如:Linux 2.4.10 ,主版本号是2,次版本号是4,第10次修正. 内核版本号还有一个规则:次版本号为偶数的是稳定版本,为基数的是发展版本。所谓稳定版本是指内核的特性已经固定,代码运行稳定可靠,不再增加新的特性,要改进也只是修改代码中的错误。,linux发行版本,光有内核还不能构成一个完整的操作系统,于是一些组织或公司将内核与一些应用程序包装起来就构成了一个完整的操作系统,这就是发行套件,不同的公司或组织的发行套件各不相同,版本号也不相同,尽管它们使用了同一版本号的内核。现在

16、的发行公司很多,如:我们常听说的RedHat,中软,红旗。,第二节 linux内核分析概论,Linux内核分析需要的基础知识 Linux0.01内核简介 Linux内核分析的方法、工具、参考书,Linux内核分析需要的基础知识,理论 操作系统的基本知识 LINUX基本操作 8086硬件体系结构,接口编程知识 语言 C语言 AT&T汇编和INTEL汇编,GCC内联汇编,参考资料,80386 Programmers Reference Manual 1986 GCC 手册关于内联汇编 as86或者nasm手册 Ld手册 K&r c,Linux0.01内核简介,比之2.4版500万行,0.01版共8000余行代码,可以完全阅读 已经具备了现代操作系统的基本要素 支持的硬件平台 In

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论