第1章Linux内核简介.ppt
文本预览下载声明
Linux内核与Unix内核的比较 Linux支持动态加载内核模块 Linux支持SMP(Symmetrical MultiProcessor,对称多处理) Linux 内核可以抢占 Linux内核并不区分线程和一般进程 Linux提供具有设备类的面向对象的设备模型、热插拔事件,以及用户空间的设备文件系统 Linux忽略了一些设计拙劣的Unix特性 Linux是免费的 1.3 Linux内核版本 Linux内核版本号命名规则: 主版本号.次版本号.修订版本号 当次版本号为偶数,内核为稳定版; 奇数,内核为开发版。 如:2.4.33,2.6.17均为稳定版。 2006年8月23日发布了1版内核。 本课程分析的内核版本 与教材相配合,本课程采用2.6.10版的内核作为实例进行分析。 1.4 获取、阅读内核源代码 官方网站: 新版本的内核的发布有两种形式: 完整的内核版本:比较大,一般是.tar.bz2或者.tar.gz文件 patch文件,即补丁:比较小,一般只有几十K到几百K,但是patch文件是针对于特定的版本的,你需要找到自己对应的版本才能使用 源代码阅读工具 Windows平台下的阅读工具:Source Insight。 Source Insight的使用简单介绍如下:先选择Project菜单下的new,新建一个工程,输入工程名,接着要求你把欲读的源代码加入(可以整个目录加)后,该软件就分析你所加的源代码。分析完后,就可以进行阅读了。对于打开的阅读文件,如果想看某一变量的定义,先把光标定位于该变量,然后点击工具条上的相应选项,该变量的定义就显示出来。对于函数的定义与实现也可以同样操作。 阅读源代码 阅读Linux内核源代码的基本要求: 操作系统的基本知识; 对C语言比较熟悉,最好了解汇编语言的知识和GNU C对标准C的扩展的知识。 另外在阅读之前,还应该知道Linux内核源代码的整体分布情况。现代操作系统一般由进程管理、内存管理、文件系统、驱动程序、网络等组成。看一下Linux内源代码就可看出,各个目录大致对应了这些方面。 Linux内核源代码的组成见第9页表2-1。 内核源码树 2.4.33 第1章 Linux内核基础 本章主要内容 Linux简介 Linux内核和Unix内核的比较 Linux内核版本 获取、阅读内核源代码 编译内核 1.1 Linux简介 Linux的起源:UNIX Linux的产生 为什么使用Linux Linux的现状 Linux与发展我国自主的操作系统 Linux的起源:UNIX 70年代——Unix的初始发展阶段 1969年,在AT T贝尔实验室,Ken Thompson、Dennis Ritchie和其他的研究人员开发了一个操作系统,这个新的操作系统称为UNIX。 1971年 UNIX移植到PDP-11上,第一次得到实用。此时的系统全部用汇编语言写成; 1973年用C语言重写UNIX核心,系统变得极为便于理解、修改和移植; 1976年的V6是第一个在Bell实验室以外可以使用的版本。 1977年UNIX成为产品;同期开始被移植到各种类型的机器上,并产生了许多变种版本。如移植到VAX机上形成32位的UNIX V7。 Linux的起源:UNIX 80年代——Unix的丰富发展时期 1981年Bell实验室推出UNIX SYSTEM III。 一个重要的分支是BSD版(Berkeley UNIX)。由加利福尼亚大学伯利克分校开发。它在UNIX中增加了很多显著的特征,如TCP/TP网络、UFS文件系统,并改进了内存管理代码,采用页。 90年代——Unix的完善阶段 Bell实验室推出UNIX System V Release 4 。 伯克利的4.3BSD已经形成了当前Unix的两大流派 Linux的出现 UNIX的重要分支 SUN公司的SunOS与Solaris SUN公司在4.2BSD UNIX基础上加进系统V形成SunOS,后来由SunSoft继续开发,形成SYSTEM V基础上的Solaris。 硬件平台:Sun Sparc、Intel PC工作站和服务器 SCO公司的SCO UNIX SCO Unix使用Intel的平台,较早进入中国市场。它的历史追溯到MicroSoft开发的Xienx,Xienx是运行在Intel平台上的一种基于Unix V 6的系统。 Xienx开发部门独立出来成立了SCO公司,并基于ATT System VR3.2开发了SCO Unix,其最新的版本为增强了图 形接口的SCO OpenServer 5.0.4。 ATT将Unix系统实验室卖给了Novell公司,它们的Unix被更名为UnixWare。但是Novel
显示全部