第九章 Linux系统核心及性能调整_第1页
第九章 Linux系统核心及性能调整_第2页
第九章 Linux系统核心及性能调整_第3页
第九章 Linux系统核心及性能调整_第4页
第九章 Linux系统核心及性能调整_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

基于Linux

的操作系统教程OperatingSystemCoursebasedonLinux第九章Linux系统核心及性能调整

目标:1:掌握Linux内核配置方法2:掌握Linux内核的编译方法3:掌握Linux可载入模块的生成和安装方法4:掌握Linux内核升级方法

第九章Linux系统核心及性能调整

开始2第九章Linux系统核心及性能调整9.1内核简介9.2内核配置9.3编译内核

9.4可载入模块9.5内核补丁9.6本章小总结本章首页39.1内核简介

内核的实现结构内核的版本与升级

内核源代码的结构

返回本章首页4内核的实现结构

Linux的内核不是微内核结构,整个内核是一个单独的、非常大的程序。Linux的内核分为五个子系统,即进程调度、内存管理、虚拟文件系统、网络接口和进程间通信子系统。Linux的内核的各个子系统都提供了内部接口(函数和变量),子系统之间的通信时通过直接调用其它子系统中的函数实现的,而不是消息传递。Linux提供一种全新的机制——模块,模块可以按需动态装入。模块通常是硬件设备的驱动程序,它们是内核的一部分。返回本节首页5关于模块模块是内核的一部分,但并没有编译到内核,而是编译并连接成一组目标文件,这些文件能被插入到正在运行的内核中。因此也称“可载入模块”。模块还可以是文件系统和二进制文件。模块一旦被装入,就应该与其它内核代码具有相同的权限。载入模块需要一定的系统开销。6内核的版本与升级内核版本号形式:主版本号.修正号.次修正号(版本修正号为偶数时,常表示为发布版本;为奇数时,表示为测试版本,如2.1.30)内核源代码开放,可以动态升级。

返回本节首页7需要进行系统升级的情况需要最新的版本;配置内核;增加对于硬件的支持;某些新的应用程序需要新版内核的支持;修正旧版本的错误。8内核源代码的结构Linux内核源代码可以用匿名ftp从网上下载。

Linux源代码文件名称一般标记为linux-x.y.z.tag.gz,其中的x.y.z是版本号。按照惯例,Linux内核源代码安装在/usr/src/linux目录下。

返回本节首页9如果压缩格式是gzip,那么执行如下命令:

#tarxvflinux-2.4.23.tar.gz如果是bzip2格式,则执行如下命令:

#tarxvflinux-2.4.23.tar.bz210/usr/src/linux

系统子目录的功能描述:/include子目录:包含建立内核代码时所需要的大部分包含文件。/init:包含了内核的初始化代码,这是内核的工作起点。/arch:包含了所有与硬件体系结构相关的内核代码。/drivers:包含了内核中所有的设备驱动程序,如显卡、网卡、PCI设备等。/fs:包含了所有文件系统的代码。……/kernal:包含了主内核的代码,如进程调度及进程创建和撤消的代码。119.2内核配置

内核配置的内容包括系统硬件的类型,软件工作环境等。配置过程:1、以root用户登录或切换到root用户;2、转入内核源程序目录/usr/src/linux;

3、执行命令makeconfig

或makemenuconfig

或makexconfig返回本章首页12用到的配置工具有:

◆config

基于交互式的文本配置界面。每个问题以线形格式出现,并被一个一个地回答,而且一旦作出了回答就不能再修改了。

◆menuconfig

一个文本模式、选单驱动的配置界面。

◆xconfig

基于Tcl/Tk的X图形配置界面。

13makeconfig命令:该命令以提问的方式来决定在内核中需要包含哪些特征:下面介绍一些常见的配置类型:一、处理器类型和特征1)processorfamily(386,486/cx486,586/k5/5x86/6x86,pentium/k6/tsc,ppro/6x86mx)[586/k5/5x86/6x86]2)Mathemulation(CONFIG_MATH_EMULATION)[N/Y/?]3)MTRR(Memorytyperangeregister)support(CONFIG_MTRR)[Y/N/?]4)symmertricmulti-processingsupport(CONFIG_SMP)[Y/N/?]14对于可载入模块的支持1)enableloadablemodulesupport(CONFIG_MODULES)[Y/N/?]2)setversioninformationonallsymbolformodules(CONFIG_MODVERSIONS)[Y/N/?]3)kernelmoduleloader(CONFIG_KMOD)[Y/N/?]15一般性的配置(1)networkingsupport(CONFIG_NET)[Y/N/?](2)PCIsupport(CONFIG_PCI)[Y/N/?](3)kernalsupportforjavabinaries(obsolete)(CONFIG_BINFMT_JAVA)[M/N/Y/?](4)kernalsupportfora.outbinaries(CONFIG_BINFMT_AOUT)[M/N/Y/?]16在启动配置工具时,2.6.0内核会读取当前的系统配置,从而保持与当前配置相同的选项。这个特性是为方便以后的升级工作,在内核特性变化不大的情况下可以直接以当前的选项为基础,省去了逐项配置的麻烦。有两种方法可以让2.6.0内核以默认选项来启动配置工具:一种是将当前的配置文件/boot/config-XXX删除;

一种是在执行配置工具前先执行“makedefconfig”命令。

179.3编译内核

清理环境:命令:makemrproper:保证旧的文件不再使用。命令:makeclean:清除不必要的文件。编译内核方法:

(1)makezImage:以普通方式编译。(2)makebzImage:上一个命令失败后,可使用。

(3)makezdisk:利用内核镜象生成引导盘。使用makeinstall安装内核返回本章首页18更换内核:需要修改/etc/lilo.conf文件手动操作将内核境像文件(/linux/arch/i386/boot/bzImage)拷贝到/boot分区,然后修改LILO相关设置。把/usr/src/linux/arch/i386/boot/目录内新生成的内核文件bzImage/zImage拷贝到/boot目录,

然后修改/etc/lilo.conf文件,加一个启动选项,使用新内核bzImage/zImage启动。格式如下:19boot=/dev/hda

map=/boot/map

install=/boot/boot.b

prompt

timeout=50

linear

default=linux-new

###告诉lilo缺省使用新内核启动linux###

append="mem=256M"

image=/boot/vmlinuz-2.2.14-5.0

label=linux

read-only

root=/dev/hda5

image=/boot/bzImage(zImage)

label=linux-new

read-only

root=/dev/hda5

20保留旧有的启动选项可以保证新内核不能引导的情况,还可以进入linux进行其他操作。

保存退出后,不要忘记了最重要的一步,运行/sbin/lilo,使修改生效

219.4可载入模块

安装模块工具

生成和安装模块

返回本章首页22安装模块工具

模块工具可以从取得内核的地方得到。选择版本与当前内核版本相等或稍低而最接近的模块工具安装文件。使用命令

tar-xvfmodules-x.y.z.tar.gz

将其解开。解开后,进入它产生的目录(modules-x.y.z),查看README,按其中说明的方法进行安装。返回本节首页23生成和安装模块的方法(1)用编译的新内核开机。(2)进入目录/usr/src/linux,执行命令:makemodules编译所有未配置到内核中的模块,并将它们链接到/usr/src/linux/modules。于是可以直接由此目录使用,也可再执行命令:makemodules_install将其安装到目录/lib/modules/x.y.z,其中x.y.z是内核版本号。(3)可以用insmod、rmmod命令装入或卸出模块。返回本节首页249.5内核补丁

补丁文件比完整的内核文件要小得多,可以使用补丁文件升级内核,但是补丁文件只能对前一个版本升级。patch实用程序用来对内核源文件进行一系列的修改。

返回本章首页259.6本章小结Linux内核可以进行动态升级,也可根据具体情况,对内核进行配置。内核升级或设置后,均需要进行编译。其设备驱动程序和文将系统等可设置为可载入模块,在需要时装入或卸出内核。对内核的升级也可采取补丁的形式,但是内核修补仅能对前一个版本进行。返回本章首页26补充内容LINUX的包管理工具RPM:可用于构造、安装、查询、检验和升级、卸载软件包。它是由文件的档案与包信息组成,具有以下优点:1)可靠性2)升级3)卸载4)检验5)查询RedhatLinuxRPM的配置信息都在/var/lib/rpm目录下27安装包

RPM包一般都有文件名,如:some_package-2.0-1.i386.rpm。

some_package:包的名称;2.0为包的版本号;1为包的发行号;I386意味着它为基于intel的机器。rpm–i[option]<包名>如:rpm-ivh/mnt/cdrom/redhat/RPMS/taper-6.9-6.i386.rpm-v参数用于检验安装过程,出现的异常会给用户显示出来。28升级包:包升级类似于安装包。语法为:rpm-U[option]<包名>

如:rpm-uvh/mnt/cdrom/redhat/RPMS/taper-6.9-6.i386.rpm

RPM会自动卸

温馨提示

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

评论

0/150

提交评论