版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.1.2本讲内容o Linux操作系统内核简介o linux内核分析概论.3第一节 Linux操作系统内核简介o Linux操作系统简介o Linux内核版本简介.4.5o POSIX POSIX表示可移植操作系统接口(Portable Operating System Interface ,缩写为 POSIX 是为了读音更像UNIX)。电气和电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE) 最初开发 POSIX 标准,是为了提高 UNIX 环境下应用程序的可移植性。然而,POSIX 并不局限于 UNIX。 许多其它
2、的操作系统,例如 WinNT,都支持 POSIX 标准。POSIX.1 已经被国际标准化组织(International Standards Organization,ISO)所接受,被命名为 ISO/IEC 9945-1:1990 标准。o SYSV和和BSD扩展扩展 可以理解为和SYSV和BSD源代码级的兼容。简单一点,就是Linux下的应用程序同时也能在这两个系统上运行。o GPL(General Public License) 公用许可证。.6Linux的来历.7Linux的来历.8Linux的来历o 在1991的时候,主观上有了这样一个目标,当时linus又需要一个简单的终端仿真程序
3、来存取Usenet新闻组的内容,于是他就开始在上面两个草草编写的进程的基础上又写了一个程序。他是这样描述的:“一个进程是从键盘上阅读输入然后发送给调制解调器,另一个进程是从调制解调器上阅读发送过来的信息然后送到屏幕上供人阅读。”然而要实现这两个新的进程,他显然还需要一些别的东西,这就是驱动程序。他必须为不同的显示器、键盘和调制解调器编写驱动程序。1991年的夏季,也就是他购买了第一台PC机之后6个月,Linus觉得他还需要从网上下载某些文件,为此他必须读写某个磁盘。于是他又不得不写一个磁盘驱动程序,然后是一个文件系统。而一旦你有了任务切换器、文件系统和设备驱动程序之后,你当然就拥有了一个操作系
4、统,或者至少是它的一个内核。linux也就这样诞生了。.9.10 Linux的来历.11linux名字由来名字由来 开始,linux还没有专门的新闻组。linus只是在赫尔辛基技术大学的一台FTP服务器上发了一则消息,说可以下载linux的公开版本。Linux是linus的笔名,他担心如果用Linux来命名的话有人会说他狂妄而且不会认真对它。于是他用了一个很怪的名字Freak(free+freak+X)-free就是自由;freak愿意是怪胎的意思。表示这个系统还有很多不完善的地方。加上X是模仿UNIX和MINIX让人家一看就知道这是一个操作系统。后来,这台FTP的管理员不喜欢Freax这个名
5、字,最后选择了Linux.。.12自由软件自由软件o Richard Stallman在1971年加入MIT的人工智能实验室,他认为:知识应该与其它能从知识中受益的人一起共享,重要的资源应该被利用。他想把自己开发的软件与其它人共享,按照法律,他是MIT的员工,他写的程序是属于MIT的。为了不冒犯法律,毅然辞职。大约在一年以后,由于个别的公司控制了许多公共软件的开发项目。自1984年起MIT开始支持Richard Stallman的努力。这样就导致了自由软件基金会(Free Software Foundation,FSF)的建立。他认为:计算机系统因该开放,软件应该自由使用。.13GNUo Ri
6、chard Stallman打算组织开发一个完全基于自由软件的软件体系GNU(GNUs Not Unix,GNU这个单词含义正好是产于南非州的一种大羚羊,所以我们经常可以看到有些linux书的封面是一只羚羊,就是这个道理。)。它的目标是:写一个完整的与UNIX兼容的软件系统。由于刚开始还没有很好的自由软件可供使用。所以他们先从系统的应用软件和工具着手。比如很有名的:emacs(编辑器) gcc(据说是世界上效率最高的编译器)等等。同时他们也开发GUN体系的操作系统内核:hurd。可是开发得很缓慢。到现在也没有全部完工。.14GPLo 在其它人协作下, Stallman创作了通用软件许可证(Ge
7、neral Public Licese,GPL)。这对推动自由软件的发展起了重要作用。GPL主要的规定:o 1) GPL保证任何人有共享和修改自由软件的自由。还可以把修改后的软件向公众发布。但是发布者要无条件开放其源代码。这样就保证自由软件的低价。o 2) GPL规定自由软件的衍生作品必须以GPL为重新发布的许可证。这样就保证了自由软件的持续性。o 3) GPL规定允许公司销售自由软件。这就为公司介入自由软件事业敞开大门。.15Linux和自由软件和自由软件o 自从1991Linux发布以来,一直是完全自由扩散的。他要求所有的源码必须公开且任何人不准从中获利。这样它限制了Linux以磁盘或CD
8、ROM等媒介的发布形式。从而阻碍了Linux得发展。因为没有哪家公司愿意使用没有厂商保证和没有良好技术支持的操作系统。linus想到了GPL。事实也证明,加入GPL之后,许多软件公司就介入其中,开发了多种Linux的发行版本。如:Redhat 、Mandrake等等。他们增加了许多实用软件和易用的图形界面。linus本人也认为:“使Linux成为GPL的一员是我一生中作过最漂亮的一件事”。.16.17linux和和UNIX的关系的关系 在讲UNIX和linux两者关系之前,我们先了解一下Minix。Minix最初是由Andrew Tanenbaum教授在4.3BSD的基础上,但不通过修改4.3
9、BSD的源代码而是白手起家几乎一个人完成了12000行C语言程序的编写工作。它的特点功能简单、易懂可以在8086上运行(后来也能在80386上运行),当然我们称它为UNIX操作系统。但这个Minix的功能也非常的有限,几乎没什么实用价值,但它能很好地作为教学使用。后来网上很多人给Tanenbaum教授寄来了改进,可是Tanenbaum教授没有接受。他想保持Mnix小而简单的特性。从它的名字中不难看出,Minix是一个迷你型的操作系统。.18linux和和UNIX的关系的关系o linux最初是由Minix发展而来,Minix是由4.3BSD UNIX发展而来,4.3BSD UNIX是由AT&a
10、mp;T的所谓真正的UNIX发展而来。可以总结出:Minix是linux的父亲,而UNIX则是linux的祖父了。虽然UNIX和linux的源代码完全无关,可是linux中的许多特性和UNIX有很多相等之处。如: 1.Linux 采用了 SVR4 的进程间通信(IPC)机制:共享内存、消息队列、信号灯 2.Linux 支持 BSD Socket 网络编程接口 3.许多 Linux 发行版采用 SysV init 机制,支持运行级别 所以我们认为linux是UNIX操作系统。.19Liux发展的5大支柱.20Linux的内核版本的内核版本o Linux的内核版本的内核版本o linux发行版本发
11、行版本.21.22.23不同版本的核心源码的文件数.24Linux的内核版本的内核版本o Linux内核由其创始人linus带领的小组维护。这个版本我们就认为是“官方版本”。内核版本号的格式是: 主版本号.次版本号.修正号例如:Linux 2.4.10 ,主版本号是2,次版本号是4,第10次修正.内核版本号还有一个规则:次版本号为偶数的是稳定版本,为基数的是发展版本。所谓稳定版本是指内核的特性已经固定,代码运行稳定可靠,不再增加新的特性,要改进也只是修改代码中的错误。.25linux发行版本发行版本o 光有内核还不能构成一个完整的操作系统,于是一些组织或公司将内核与一些应用程序包装起来就构成了
12、一个完整的操作系统,这就是发行套件,不同的公司或组织的发行套件各不相同,版本号也不相同,尽管它们使用了同一版本号的内核。现在的发行公司很多,如:我们常听说的RedHat,中软,红旗。.26第二节 linux内核分析概论o Linux内核分析需要的基础知识o Linux0.01内核简介o Linux内核分析的方法、工具、参考书.27Linux内核分析需要的基础知识o理论n操作系统的基本知识nLINUX基本操作n8086硬件体系结构,接口编程知识o语言nC语言nAT&T汇编和INTEL汇编,GCC内联汇编.28参考资料o80386 Programmers Reference Manual
13、1986oGCC 手册关于内联汇编oas86或者nasm手册oLd手册oK&r c .29.30Linux0.01内核简介o比之2.4版500万行,0.01版共8000余行代码,可以完全阅读o已经具备了现代操作系统的基本要素o支持的硬件平台Intel386以上的cpuVGA/EGA显示器标准IDE接口硬盘标准键盘.31Linux0.01内核代码目录目录目录描述描述boot核心引导代码fs文件系统include头文件InitMain.ckernel内核主要功能Lib系统调用接口Mm内存管理toolsBulid.c 用于将链接器生成的3个独立核心组成部分拼接成一个完成的可引导核心镜像文件.32Linux内核分析的方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新生儿病室建设管理指南
- 美容院财务管理制度(完整版)
- 汽车保养与维修全攻略
- 复星国际首次覆盖报告:瘦身健体轻装再起航
- 2026年初级会计职称考试《初级会计实务》专项练习题及答案(收入确认与计量)
- 《月亮与六便士》读后感集合15篇
- 2026年保密知识答题活动题库及答案
- 2026年高考地理全国甲卷题库(含答案)
- 2026年保密考试简答题卷及答案
- 2026年安徽省宿州市重点学校小升初语文考试真题卷
- 2026光大永明人寿校园招聘笔试备考重点试题及答案解析
- 2026年合肥职业技术学院单招职业适应性测试模拟测试卷带答案解析
- GB/T 5781-2025紧固件六角头螺栓全螺纹C级
- 2025年甘肃省初二生地会考试卷及答案
- TCECS 1614-2024 装配式建筑电气快装管线系统工程技术规程
- 水景喷泉实施施工方案
- 建筑安装工程工期定额
- 彩钢厂安全生产管理制度
- 门诊常见疾病课件
- 学校章程修订会议记录范文
- 铁路旁景观改造方案(3篇)
评论
0/150
提交评论