

全文预览已结束
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
福建电脑福建电脑2 0 0 7 年第 2 期福建电脑福建电脑 L i n u x 内核与内核编译 毕伟宏 广东教育学院 组织部 广东 广州 5 1 0 3 1 0 摘要 本文在介绍了 L i n u x 内核及其相关内容的基础上 详细地描述了 L i n u x 内核编译模式 内核编译前的准备工 作 内核编译的具体步骤以及编译过程中注意事项 关键词 L i n u x 内核 内核编译 1 L i n u x 内核 内核是一个操作系统的核心 它负责管理系统的进程 内 存 设备驱动程序 文件和网络系统 决定着系统的性能和稳定 性 L i n u x 内核源程序都可以在 u s r s r c l i n u x 下找到 L i n u x 新的内核修订了旧内核的 b u g 并增加了许多新的特 性 如果用户想定制一个更高效 更稳定的内核 就需要重新编 译内核 为了正确地设置内核编译配置选项 只编译系统需要的功 能的代码 一般主要有下面四个考虑 1 自己定制编译的内核运行更快 具有更少的代码 2 系统将拥有更多的内存 内核部分将不会被交换到虚拟 内存中 3 不需要的功能编译进入内核可能会增加被系统攻击者利 用的漏洞 4 将某种功能编译为模块方式会比编译到内核内的方式速 度要慢一些 L i n u x 开发采用了双树系统 一个树是稳定树 s t a b l e t r e e 另一个树是开发树 d e v e l o p m e n t t r e e 一些新特性 实验性改进 等都将首先在开发树中进行 如果在开发树中所做的改进也可 以应用于稳定树 那么在开发树中经过测试以后 在稳定树中将 进行相同的改进 一旦开发树经过了足够的发展 开发树就会成 为新的稳定树 2 L i n u x 内核编译 2 1内核编译模式 要增加对某部分功能的支持 比如网络之类 可以把相应部 分编译到内核中 b u i l d i n 也可以把该部分编译成模块 m o d u l e 动态调用 如果编译到内核中 在内核启动时就可以自动 支持相应部分的功能 优点是方便 速度快 缺点是会使内核变 得庞大起来 如果编译成模块 就会生成对应的 o 文件 在使用 的时候可以动态加载 优点是不会使内核过分庞大 缺点是你得 自己来调用这些模块 建议将经常使用的部分直接编译到内核 中 比如网卡 2 2内核编译前的准备工作 首先对重要的数据进行备份 之后安装一个 L i n u x 系统 本 文以 R e d h a t 9 为例 接下来是安装软件 g c c 2 9 5 3 再就是要收 集自身计算机上硬件的信息 比如 C P U 内存等设备生产型号和 相应参数 2 3内核编译的步骤 L i n u x 内核版本发布的官方网站是 h t t p w w w k e r n e l o r g 新 版本的内核分两种 一种是 F u l l S o u r c e 版本 另外一种是 p a t c h 文件 即补丁 完整的内核版本比较大 一般是 t a r g z 或者是 b z 2 文件 二者分别是使用 g z i p 或者 b z i p 2 进行压缩的文件 p a t c h 文件则比较小 一般只有几十 K到几百 K p a t c h 文件是针对于 特定的版本的 你需要找到自己对应的版本才能使用 编译内核需要 r o o t 权限 以下操作都假定是 r o o t 用户 请把需要 升级的内核拷贝到 u s r s r c 下 本文以 2 4 1 8 的内核的 l i n u x 2 4 1 6 t a r g z 为例 查看一下当前 u s r s r c 的内容 注意到有一个 l i n u x 2 4 的符 号链接 指向一个 l i n u x 2 6 2 0 8 以 R E D H A T 9为例 的目录 这就是所装 L i n u x 的 k e r n e l 源代码 删除这个链接 现在解压我们下载的源程序文件 r o o t l o c a l h o s t r o o t c d u s r s r c r o o t l o c a l h o s t s r c l s d e b u g l i n u x 2 4 1 6 t a r l i n u x 2 4 1 6 t a r b z 2n v i d i a r e d h a t r o o t l o c a l h o s t s r c t a r x v fl i n u x 2 4 1 6 t a r 文件将解压到 u s r s r c l i n u x 目录中 我们把它稍作修改 r o o t l o c a l h o s t s r c m v l i n u x l i n u x 2 4 1 6 r o o t l o c a l h o s t s r c l s d e b u g l i n u x 2 4 1 6l i n u x 2 4 1 6 t a rl i n u x 2 4 1 6 t a r b z 2n v i d i a r e d h a t r o o t l o c a l h o s t s r c l n s l i n u x 2 4 1 6l i n u x r o o t l o c a l h o s t s r c l s d e b u g l i n u x l i n u x 2 4 1 6l i n u x 2 4 1 6 t a r l i n u x 2 4 1 6 t a r b z 2n v i d i a r e d h a t 进行相应的目录 r o o t l o c a l h o s t l i n u x m a k e m e n u c o n f i g r m f i n c l u d e a s m c di n c l u d e I n s f a s m i 3 8 6a s m m a k e c s c r i p t s l x d i a l o g a l l m a k e 1 E n t e r i n g d i r e c t o r y u s r s r c l i n u x 2 4 1 6 s c r i p t s l x d i a l o g 该命令确保源代码目录下没有不正确的 o 文件以及文件的 互相依赖 接下来进行内核配置 配置内核可以使用下面命令中的一 个 本文将以 m a k e m e n u c o n f i g 为例进行介绍 m a k e c o n f i g 不推荐 m a k e m e n u c o n f i g 字符终端下推荐使用 m a k e x c o n f i g X w i n d o w下推荐使用 m a k e o l d c o n f i g 适合较小修改 选择相应的配置时 有三种选择 它们分别代表的含义如 下 Y 将该功能编译进内核 N 不将该功能编译进内核 M 将该功能编译成可以在需要时动态插入到内核中的 模块 在编译内核的过程中 大部分选项可以使用其缺省值 只有 小部分需要根据用户不同的需要选择 选择的原则是 将与内核 其它部分关系较远且不经常使用的部分功能代码编译成为可加 载模块 与内核关心紧密而且经常使用的部分功能代码直接编 译到内核中 配置完成之后 你可以将本次配置保存下来 文件将保存 到 u s r s r l i n u x a r c h i 3 8 6 这个目录下 默认文件名为 d e f c o n i f g 也 可以自命名 退出配置模式时会有提示 下一步你需要使用的是 m a k e d e p 操作 接下来可以执行以下指令 m a k e d e p读取配置过程生成的配置文件 m a k e c l e a n删除前面步骤留下的文件 m a k e b z I m a g e 或 m a k e z I m a g e实现完全编译内核 m a k e m o d u l e s生成相应的模块 m a k e m o d u l e s i n s t a l l拷贝模块到需要的目录中 d e p m o d a生成模块间的依赖关系 基金项目 中山大学青年教师科研基金 2 0 0 5 3 5 0 0 0 1 1 3 1 1 0 0 资助 下转第 4 页 1 6 福建电脑福建电脑2 0 0 7 年第 2 期福建电脑福建电脑 经过以上的步骤 就得到了新版本的内核 为了能够使用新版本的内核 我 们还需要做一些改动 r o o t l o c a l h o s t l i n u x c da r c h i 3 8 6 b o o t r o o t l o c a l h o s t b o o t l s r o o t l o c a l h o s t b o o t c pb z I m a g e b o o t v m l i n u z 2 4 1 6 r o o t l o c a l h o s t b o o t c d b o o t r o o t l o c a l h o s t b o o t l s r o o t l o c a l h o s t b o o t c d u s r s r c l i n u x r o o t l o c a l h o s t l i n u x l s r o o t l o c a l h o s t l i n u x c ps y s t e m m a p b o o t s y s t e m m a p 2 4 1 6 r o o t l o c a l h o s t l i n u x c d b o o t r o o t l o c a l h o s t b o o t l s r o o t l o c a l h o s t b o o t 下面修改 b o o t 下的两个链接 S y s t e m m a p 和 v m l i n u z 使其指向新内核的文 件 r o o t l o c a l h o s t l i n u x c d b o o t r o o t l o c a l h o s t b o o t l s r o o t l o c a l h o s t b o o t l n s v m l i n u z 2 4 1 6v m l i n u z I n v m l i n u z F i l e e x i s t s r o o t l o c a l h o s t b o o t c d b o o t r o o t l o c a l h o s t b o o t l s r o o t l o c a l h o s t b o o t r mv m l i n u z r ms y s t e m m a p r m r e m o v e s y m b o l i c l i n k v m l i n u z y r m r e m o v e s y m b o l i c l i n k s y s t e m m a p y r o o t l o c a l h o s t b o o t l s r o o t l o c a l h o s t b o o t l n s s y s t e m m a p 2 4 1 6s y s t e m m a p r o o t l o c a l h o s t b o o t l n s v m l i n u z 2 4 1 6v m l i n u z r o o t l o c a l h o s t b o o t l s r o o t l o c a l h o s t b o o t 接下来修改启动引导器 G R U B r o o t l o c a l h o s t g r u b c d b o o t g r u b r o o t l o c a l h o s t g r u b l s d e v i c e m a pf a t s t a g e 1 5g r u b c o n f m e n u l s tr e i s e r f s s t a g e 1 5 e 2 f s s t a g e 1 5 f f s s t a g e 1 5j f s s t a g e 1 5m i n i x s t a g e 1 5s p l a s h x p m g z r o o t l o c a l h o s t g r u b v i mg r u b c o n f 添加内容 d e f a u l t 0 t i m e o u t 1 0 s p l a s h i m a g e h d 0 2 b o o t g r u b s p l a s h x p m g z t i t l e R e dH a t L i n u x 2 4 2 0 8 r o o t h d 0 2 k e r n e l b o o t v m l i n u z 2 4 2 0 8r o r o o t L A B E L i n i t r d b o o t i n i t r d 2 4 2 0 8 i m g t i t l e D O S r o o t n o v e r i f y h d 0 0 c h a i n l o a d e r 1 t i t l e n k r o o t h d 0 2 k e r n e l b o o t v m l i n u z 2 4 1 6r o r o o t i n i t r d b o o t i n i t r d 2 4 2 0 8 i m g 添加完毕之后再重启 就可以在 G R U B的引导界面看到新 添加的项目 n k 2 4 1 6 了 3 结束语 L i n u x 操作系统近年来的飞速发展 而内核又是一个操作系 统的基本问题 因此对内核的编译部分进行了介绍 学习这些知 识 可以对计算机有一个较为整体的认识 特别是对计算机硬件 与软件如何配合工作等一些操作系统的底层知识有较深刻的认 识 参考文献 1 徐德民著 操作系统原理 L i n u x 篇 M 国防工业出版社 2 0 0 4 1 2 崔永贞 焦克莹 小型系统应用中的 L i n u x 内核定制 J 福建电脑 2 0 0 5 1 2 4 0 3 7 洗工作的效率是流水线工作顺畅的关键 4 数据清洗模型中的插件设计 数据清洗在数据集成系统中必须提供各种形式的转换功 能 但是事先无法预测用户会对数据进行怎么的转换 所以我们 只能提供一些普通的转换函数 系统预定义的转换函数 对于 用户或者特殊行业的数据转换 只能交给用户在实际运用中自 己定义那些转换函数 很多国外工具使用 V B脚本实现这块功 能 但是脚本的编写需要熟练的编程能 而且脚本的解释执行是 一个非常复杂的课题 为了降低对用户的要求和本研究的设计 难度 这块特殊数据转换功能利用插件的技术来解决 插件实际 上就是动态链接库 其接口函数应符合宿主应用程序插件接口 声明 并在宿主应用程序启动过程中加载这些插件 6 接口将根 据实际需要来定义 因此必须先定义数据清洗插件的接口规范 有了数据缓冲模型的支持 插件接口的规范比较简单 在数 据缓冲中为了统一数据处理形式 把源数据的所有格式都转换 成统一的字符串格式 所以插件的唯一工作就是按照用户的要 求对字符串进行处理 即插件接收一个字符串 然后进行处理 最后返回一个转换后的字符串 v o i dp r o c N a m e c h a r p a r a m 式 1 从 式 1 中看出 这个插件接口只需一个字符串实参 p a r a m p a r a m代表的是需要转换的数据 而数据转换后的值通过形式 参数 p a r a m返回 用户只需按照这个接口规范设计一个动态链 接库 并把这个动态链接库的后缀改成 p l g 然后发布到系统工 程的特定目录下 系统下次启动的时候就可以加载用户定义的 插件 并把这些函数的名字和说明放入元数据库中 以供用户定 义 E T L 规则之用 有了插件以后 整个数据清洗流程就可以利用 分层 的设 计方法 简化整个数据清洗的规则执行设计 前面的处理层为后 面的处理层提供相对 干净 的数据 后面的处理层基于前面成 果做进步清洗 其结构示意如图 3 图 3 中根据用户定义的插件个数 可以插入多个特殊转换 层 这就好比纯净水按照工艺的要求 可以在水净化过程中放置 任意个不同的净化处理层 进行层层过滤处理 图 3数据清洗的层次结构 5 结论 经过测试 在数据清洗线程设置恰当的情况下 可以得到很 高的数据转换效率 当源数据库和目标数据库在不同服务器上 的情况下 普通配置的机器效率可以达到 5 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 阿拉善盟2025-2026学年七年级上学期语文期中测试试卷
- 2025 年小升初清远市初一新生分班考试语文试卷(带答案解析)-(部编版)
- 教师2025年度考核工作总结6篇
- 浙江2026版化学复习方略 专题评估检测(六)(苏教版)
- 2024-2025学年陕西省汉中市西乡县北师大版六年级下册期中测试数学试卷(范围:教材P1-62)(含部分答案)
- 桩基设备出售合同范本
- 银行签订按揭合同范本
- 厂矿设备安装合同范本
- 社区建设基本知识培训课件
- 店铺长期兼职合同范本
- 2022年国防军工计量检定人员考试附有答案
- 【小学低年级学生课堂行为问题与对策探究-以N实验小学为例10000字(论文)】
- 2024年河北石家庄市体育局选聘事业单位体育专业人才11人历年高频考题难、易错点模拟试题(共500题)附带答案详解
- 玉溪实验中学初一招生考试数学试卷答案
- 30题解决方案工程师岗位常见面试问题含HR问题考察点及参考回答
- 云计算技术的分布式计算技术
- 设备技改方案范文
- 2024年石油石化技能考试-甲醇装置操作工笔试历年真题荟萃含答案
- 肋间神经病的护理查房
- 2024年全国初中数学联赛试题及答案(修正版)
- 医药代表销售技巧培训 (2)课件
评论
0/150
提交评论