《Linux内核简介》PPT课件.ppt

上传人:w****2 文档编号:16539397 上传时间:2020-10-09 格式:PPT 页数:50 大小:298.50KB
收藏 版权申诉 举报 下载
《Linux内核简介》PPT课件.ppt_第1页
第1页 / 共50页
《Linux内核简介》PPT课件.ppt_第2页
第2页 / 共50页
《Linux内核简介》PPT课件.ppt_第3页
第3页 / 共50页
资源描述:

《《Linux内核简介》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《Linux内核简介》PPT课件.ppt(50页珍藏版)》请在装配图网上搜索。

1、第 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上,第一次得到实用。 此时的

2、系统全部用汇编语言写成; 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网络、

3、 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的平台,较早进入中国市场

4、。它的历史追溯 到 MicroSoft开发的 Xienx, Xienx是运行在 Intel平台上的一种基 于 Unix V 6的系统。 Xienx开发部门独立出来成立了 SCO公司,并基于 AT&T System VR3.2开发了 SCO Unix,其最新的版本为增强了图 形接口的 SCO OpenServer 5.0.4。 AT&T将 Unix系统实验室卖给了 Novell公司,它们的 Unix被更名 为 UnixWare。但是 Novell正逢经营问题,不得不将 UnixWare再 次卖给 SCO。 硬件平台: Intel PC工作站和服务器 UNIX的重要分支 IBM公司的 IBM AI

5、X 硬件平台: IBM RS/6000和其它使用 IBM Power 和 PowerPC系列处理器的系统, Intel AI-64版。 HP公司的 Hewlett-Packard HP-UX 硬件平台: HP 9000服务器 Linux的产生 Richard Stallman于 1984年独立开发出一个类 UNIX的操作系统。 Stallman 的理想就是 “ 开发 出一个质量高而自由的操作系统 ” 。为此他创立 了自由软件基金会,资助 GNU (GNU is Not Unix的缩写 ) 软件开发。之后 GNU开发了 gcc、 Emacs等大量的程序。 芬兰学生 Linus Torvalds于

6、 1991年 为基于 Intel 80386的 IBM兼容机开发了 Linux操作系统。 Linux的产生 Linux在加入自由软件组织 GNU后,经过 Internet上全体开发者的共同努力,已成为 能够支持各种体系结构(包括 Alpha、 SPARC、 PowerPC、 MC680 x0、 IBM System/390等)的具有很大影响力的操作 系统。 注: Pentium, Pentium II等等均属于 i386系 列 体系结构)。 本课程将主要针对 i386 CPU。 为什么要用 Linux 免费或少花费用 减少在硬件升级上的开支 根据您的需求灵活定制 从许可证的限制中解脱 稳定性

7、性能 标准兼容性 众多的硬件支持特性 强大因特网支持 能与现有存在的操作系统共存 Linux的现状 Linux的用户 个人用户 :是潜在用户。 专业用户 :学习内核功能,从中找到有用 的思想;从源代码中获得编程技巧。 商业用户 :看重 Linux的安全性、可靠性 和低廉的费用。 Linux的功能 提供 WWW服务 打印服务 数据库服务 网络服务 典型应用 Linux的欠缺 字处理软件、表格处理软件等没有 Word、 Excel等功能强 操作易用性、安装易用性、配置易用性 在可靠性方面,没有一个成熟的双机热备 份系统 Linux与发展我国自主的操作系统 发展我国自主的操作系统,这里的 “ 自主

8、” ,不是有 “ 自己的知识产权 ” ,因为在自主的技术中可以包含公 有技术和其他不收使用费(版权费)的技术。如果采用 Linux作为自主操作系统的核心,它是自由软件,属于不 收版权费的技术,它的知识产权属于 Linux群体。 采用 Linux作为 OS核心可以达到自主,即得到源码,自 主发布版本,可以根据用户的需求进行定制,可以修改、 发展等等,当然,同时也要遵守它的公用许可证( GPL) 条款。 发展在 OS上的支撑软件、应用软件,发展 PC以外的嵌入 式 OS 。 操作系统自主的意义 自主 OS 依赖别家的 OS 掌握源代码,可以自主 开发 不掌握源代码,依赖厂商 发展 不需要版权费 需

9、要版权费 可根据需求自行定制 依赖厂商有偿定制 使用不受限制 使用受限制 安全性可以估量和增强 安全性难以估量和增强 可以自主发布版本 依赖厂商更新版本 可以发挥人才优势 英雄无用武之地 为什么要发展自主操作系统 保障网络及信息安全 Windows存在问题 不提供源代码,像一个 “ 黑盒子 ” 改变软件产业游戏规则 Windows的垄断,世界市场占 95%,中国市 场占 95% Windows与其他应用软件捆绑,使民族产业 受到威胁 未来 OS是 Windows和 Linux之争 Linux与 Windows的争夺 Linux作为 Internet服务器的理由 Windows平台 (98/NT

10、/2000/XP) Linux平台 依赖微软 自主发展 巨额版权费 节省版权费 与微软的不平等竞争 与其他公司的平等竞争 安全有隐患 安全可改进 助长垄断 摆脱垄断 机遇 OS/2的教训 曾经辉煌到能与 Windows平起平坐,但现在 已退出操作系统舞台 Linux的机遇 开放源码的前景 我国的具体情况 自主操作系统的内容 1. 采用 Linux作为自主 OS的核心,并免费取 得源码。当然,按照 GPL的规定,对 Linux 核心的任何改进,源码也必须开放。 2在 Linux核心的基础上,我们可以按照特定 的环境和需求定制成 OS的各个 “ 发行版 本 ” ,操作系统的发行版本可以包含与其 捆

11、绑在一起的支撑软件和应用软件。 自主操作系统的内容 3围绕 Linux进行开发、增值、集成工作,这包括 对 OS核心的改进,增加驱动程序和设备支持, 简化安装、配置,开发对用户友好的界面,开发 运行于 Linux平台的中间件和应用软件等等。 4加强对 Linux的技术支持、服务,要看到服务业 的重要性。 5发展 Linux的培训工作。如果能将 Linux的培训 与计算机 OS的教学、计算机资格考试等等结合 起来,将对它的推广产生深远的影响。 红旗 Linux 北京中科红旗软件技术有限公司 (简称红旗 软件 )是由中国科学院软件研究所和上海联 创投资管理有限公司在 2000年 6月份共同组 建的

12、。 红旗软件致力红旗 Linux操作系统及应用软 件的开发和推广;提供包括桌面、服务器、 高性能运算系统、安全操作系统到嵌入式 系统的全线产品,以及全方位应用解决方 案和技术服务。 红旗 Linux 红旗嵌入式 Linux秉承了开放的 Linux的诸 多优秀性能,并经过红旗的精心优化和裁 减,从而更加适用于嵌入式设备。现在, 您可以在移动计算平台( PDA、 Smart Phone、 E-book)、信息家电(机顶盒)、 工业(智能工控设备)、商业( POS/ATM) 等众多的嵌入式设备中看到红旗嵌入式 Linux的身影。 POSIX可移植操作系统接口 POSIX(可移植 UNIX 操作系统接

13、口)是由业界众多公 司开发并正在进一步开发的标准。最早的标准在 1988 年 被采用,在很大程度上基于 System V 接口。已采用的 POSIX 标准包括: POSIX.1 - 用于 C 程序的基础系统接口。 1988 年采用, 1990 年 修订。 POSIX.2 - Shell 和公用程序,包括交互式公用程序和几个 C 接 口。 1992 年采用。 POSIX.3 - 用于衡量 POSIX 遵从性的测试方法。 1991 年采用。 POSIX.3.1 - 用于衡量 POSIX.1 遵从性的测试方法。 1993 年采用。 POSIX.4 - POSIX.1 的实时扩展。 1993 年采用。

14、 POSIX.5 - 绑定到 POSIX.1 的 Ada 语言。描述与 POSIX.1 相同 的功能,可通过 Ada 程序访问。 1992 年采用。 POSIX.9 - 绑定到 POSIX.1 的 FORTRAN77 语言。描述与 POSIX.1 相同的功能,可通过 FORTRAN77 程序访问。 1992 年 采用。 GNU GPL ( GNU通用公共许可证 ) 其宗旨是保证用户有无限复制和修改的权 利。 copyleft 它要求用户在发布源码时不收费、不附加 其他条款,并必须附带 GPL的条款。这样, 无论任何人是否作了修改,在重新发布软 件时,都必须连带传递复制和修改该软件 的自由度。

15、版权所有 (C)1989, 1991 Free Software Foundation, Inc Linux遵从 GNU 的 GPL第二版。 你可以自由获取 Linux内核源代码并任意修 改它来使用,但如果你要发布你修改过的 内核,则必须保证你的内核源码可以被任 何人使用和修改。 因为可以获取 Linux内核源代码,所以你能 够自行配制你的内核成为你想要的样子。 自由软件基金会 (FSF) 自由软件基金会 (Free Software Foundation, Inc.) 致力于消除对计算机程序在复制、分发、理解和 修改方面的限制。通过在所有计算领域中开发和 使用自由软件 尤其是通过帮助开发 G

16、NU操作 系统的方式来实现这一目标。 自由软件基金会致力于开发新的自由软件,以及 将这些软件构造成为一个协调一致的系统。 除了开发 GNU之外, FSF还分发 GNU软件的拷贝 和手册,只收取分发费用,它还接受免税的馈赠 以支持 GNU的开发。 FSF的大多数资金来自它的 软件分发服务。 1.2 Linux内核和 Unix内核的比较 单内核与微内核 单内核 :把内核从整体上作为一个单独的大 过程来实现,并同时运行在一个单独的地址 空间。所有内核服务都在这样的一个大内核 空间中运行。 大多数 Unix系统都设计为单内核。 微内核 :它的功能被划分为独立的过程,每 个过程叫做一个服务。所有的服务都

17、保持独 立并运行在各自的地址空间。 Windows是典型的微内核结构。 Linux是一个单内核 ,也即, Linux内核运 行在单独的内核地址空间。 但 Linux也汲取了微内核的精华,如:模块 化设计、抢占式内核、支持内核线程、动 态装载内核模块。 Linux内核与 Unix内核的比较 Linux支持动态加载内核模块 Linux支持 SMP( Symmetrical MultiProcessor, 对称多处理) Linux 内核可以抢占 Linux内核并不区分线程和一般进程 Linux提供具有设备类的面向对象的设备模型、 热插拔事件,以及用户空间的设备文件系统 Linux忽略了一些设计拙劣的

18、 Unix特性 Linux是免费的 1.3 Linux内核版本 Linux内核版本号命名规则: 主版本号 .次版本号 .修订版本号 当次版本号为偶数,内核为稳定版; 奇数,内核为开发版。 如: 2.4.33, 2.6.17均为稳定版。 2006年 8月 23日发布了 2.6.17.11版内核。 本课程分析的内核版本 与教材相配合,本课程采用 2.6.10版的 内核作为实例进行分析。 1.4 获取、阅读内核源代码 官方网站: http:/www.kernel.org 新版本的内核的发布有两种形式 : 完整的内核版本 :比较大,一般是 .tar.bz2或 者 .tar.gz文件 patch文件,即

19、补丁 :比较小,一般只有几十 K到几百 K,但是 patch文件是针对于特定的版 本的,你需要找到自己对应的版本才能使用 源代码阅读工具 Windows平台下的阅读工具: Source Insight。 Source Insight的使用简单介绍如下:先选择 Project菜单下的 new,新建一个工程,输入工程 名,接着要求你把欲读的源代码加入(可以整个 目录加)后,该软件就分析你所加的源代码。分 析完后,就可以进行阅读了。对于打开的阅读文 件,如果想看某一变量的定义,先把光标定位于 该变量,然后点击工具条上的相应选项,该变量 的定义就显示出来。对于函数的定义与实现也可 以同样操作。 阅读源

20、代码 阅读 Linux内核源代码的基本要求: 操作系统的基本知识; 对 C语言比较熟悉,最好了解汇编语言的知识和 GNU C对标准 C的扩展的知识。 另外在阅读之前,还应该知道 Linux内核源代码 的整体分布情况。现代操作系统一般由进程管理、 内存管理、文件系统、驱动程序、网络等组成。 看一下 Linux内源代码就可看出,各个目录大致 对应了这些方面。 Linux内核源代码的组成见第 9页 表 2-1。 内核源码树 2.4.33 内核源码树 2.6.17.8 内核源代码树 (1) 内核源代码的顶层是 /usr/src/linux,此目录下有: (1) arch:与体系结构相关的代码 alph

21、a: DEC Alpha CPU工作站 arm: ARM系列 CPU,如 Corel的 NetWinder 和 AcornRisc PC i386: Intel公司的 80386CPU m68k: Motorola公司的 680X0CPU,如 Apple公司 Macintosh 计算机 mips: MIPS CPU,最著名的是 Silicon Graphics(SGI)工作站 ppc: Motorola/IBM的 PowerPC系列 CPU, IBM的 RS/6000计 算机 sparc: UltraSPARC CPU, SUN公司产品 内核源代码树 (2) (2) crypto: crypt

22、o API (3) Document:有关 Linux内核的文档 (4) drivers: 设备驱动程序 (5) fs: Linux支持的文件系统,每个子目录分别 对应一个特定的文件系统 (6) include: 包含了所有的 .h文件,在 include中也 是为各种 CPU都专设一个子目录,而通用的 子目录 asm则根据系统的配置而符号链接到 具体 CPU的专用子目录,如 asm-i386等。除 此之外,还有通用的子目录 linux、 net等 内核源代码树 (3) (7) init: 内核引导和初始化过程,包括 main.c, version.c等文件 (8) ipc:进程间通信 (9)

23、 kernel :进程管理和调度 (10) lib: 通用的工具性子程序,如对出错信息的 处理等 (11) mm:内存管理子系统和 VM (12) net: 网络子系统 (13) scripts: 编译内核所用的脚本 内核源代码树 (4) (14) security: Linux安全模块 (15) sound: 语音子系统 (16) usr: 早期用户空间代码 (17) CPOYING: 有关 GPL的具体说明 (18) README: Linux内核安装和使用的简要说 明 (19) Makefile: 重构 Linux内核可执行代码的 make 文件 1.5 编译内核 为什么要重新编译内核?

24、 Linux作为一个自由软件,在广大爱好者的支持 下,内核版本不断更新。新的内核修订了旧内核 的 bug,并增加了许多新的特性。如果用户想要 使用这些新特性,或想根据自己的系统度身定制 一个更高效、更稳定的内核,就需要重新编译内 核。 通常,更新的内核会支持更多的硬件,具备更好 的进程管理能力,运行速度更快、更稳定,并且 一般会修复老版本中发现的许多漏洞等,经常性 地选择升级更新的系统内核是 Linux使用者的必 要操作内容。 设置内核编译配置选项 为了正确的合理地设置内核编译配置选项,从而 只编译系统需要的功能的代码,一般主要有下面 四个考虑: 自己定制编译的内核运行更快(具有更少的代码)

25、系统将拥有更多的内存(内核部分将不会被交换到虚 拟内存中) 不需要的功能编译进入内核可能会增加被系统攻击者 利用的漏洞 将某种功能编译为模块方式会比编译到内核中的方式 速度要慢一些 内核编译模式 要增加对某部分功能(比如网络)的支持,可以把相应 部分 编译到内核中( build-in) ,也可以把该部分 编译成 模块( module) ,动态调用。 如果 编译到内核中 ,在内核启动时就可以自动支持相应 部分的功能,这样的优点是方便、速度快,机器一启动, 你就可以使用这部分功能了;缺点是会使内核变得庞大 起来,不管你是否需要这部分功能,它都会存在,这就 是 Windows惯用的招数,建议经常使用

26、的部分直接编译 到内核中,比如网卡。 如果 编译成模块 ,就会生成对应的 .o文件,在使用的时 候可以动态加载,优点是不会使内核过分庞大,缺点是 你得自己来调用这些模块。 安装内核源代码 编译内核需要 root权限 ,以下操作都假定 你是 root用户。 把新版本的内核(以 linux-2.4.33.tar.bz2为 例)拷贝到 /usr/src/下,并解压,命令为: tar -xjvf linux-2.4.33.tar.bz2 或: tar -xzvf linux-2.4.33.tar.gz 解压后的源代码位于 /usr/src/linux-2.4.33目 录下 准备编译内核 为 /usr/

27、src/linux-2.4.33目录创建符号链接: # cd /usr/src # ln s linux-2.4.33 linux 配置内核 内核提供了各种不同的工具来简化内核配置: # make config(基于文本的最为传统的配置界面, 不推荐使用) # make menuconfig(基于文本菜单的配置界面, 字符终端下推荐使用) # make xconfig(基于图形窗口模式的配置界面, X window下推荐使用) # make oldconfig(如果只想在原来内核配置的 基础上修改一些小地方,会省去不少麻烦) 检查代码之间的依赖关系 # make dep 读取配置过程生成的配置

28、文件,来创建对 应于配置的依赖关系树,从而决定哪些需 要编译而哪些不需要。 # make clean 删除前面步骤留下的临时文件,以避免出 现一些错误。 编译内核 # make bzImage或 make zImage 该命令完成内核的编译。二者生成的内核 都是使用 gzip压缩的,其区别在于使用 make bzImage可以生成大一点的内核。 建议使用 make bzImage命令。 # make modules 编译模块 # make modules_install 安装模块,即把模块拷贝到需要的目录中 安装内核 # make install 把内核安装到正确的位置 如果使用 GRUB启动管理器,编辑 /boot/grub/grub.conf文件 如果使用 LILO启动管理器,编辑 /etc/lilo.conf,并运行 /sbin/lilo v命令 重启机器,使用新的内核

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!