linux 内核启动分析
linux 内核启动分析
第 2卷第 9 7期VO127 . NO 9 .
计算机工程与设计Co p trEn i e rn n sg m ue g n e ga dDe in i
20年 5 06月Ma 0 y 20 6
Lnx内核启动过程分析 i u程耕国,刘先勇,鲍考明 (汉科技大学信息科学与工程学院,湖北武汉 4 0 8 )武 30 1摘要:结合 Lnx内核代码,析了8 x6平台上 Ln x作系统内核的启动过程, i u分 08 i操 u特别对内核的动态加载、 P C U工作模式的转换以及内存分页机制最终启动的全过程做了较为细致的阐述。该分析有助于更深入地了解 Ln x内核的工作原理和多任 iu务操作系统的实现机理,将 Ln x用于嵌入式系统的前期工作。是 i运 u 关键词: i x内核;启动过程;保护模式;中断描述符 Ln; u
中图法分类号:P 1 T 36
文献标识码: A
文章编号:00 04 20) 912- 1 - 2 ( 60- 80 07 0 5 2
S a t pp o e s n l ss f n x k r e tr r c s ay i u e n l u a o LiCHE G n— u, LI Xin y n, BA O o m i g N Ge g g o U a— o g Ka— n
( ol e fnomai c ne n n i e n,Wu a nv r t S i c d eh o g,Wu a 3 0 1 C ia C l g Ifr t nS i c d g er g e o o e a E n i h n iesyo ce e n cn l y U i f n a T o hn4 0 8, hn)Ab t a t sr c:Co i i gwi ec d s f i u e n l t esa t pp o e s f n x k r e n I t l 0 8 lto m n l z d P r c l r, mb n n t t o e L n xk r e, h ru r c s Li u e l e x 6p a f r i a a y e . a t u a l hh o t o n o n 8 s i y
h n mi dn f e l h a so mai f U rigmo ea rc se f a igme h s r lb rtdi d ti. t e y a cla igo k re, te rn f r t no CP wo kn d dtep o e sso p gn c a i aeea oae eal d o n t o n h n
m n Thsi an c sayse o t h r a kn iu e e n nes nil r rma igaLiu ul- y tm. An loh lf i e e sr tpfr r e c gLn xk r l da se ta kf kn n xb i i s se s i f t h i n a wo o tn dii as epul tst n e sa dt e i lme t t n o mu t a k OS ou d r tn h mp e n a i f o lts . i K e r s Li u; k r e; sa t p p o e s p o e t n mo e i t ru t e c i t r y wo d: n x e l t ru r c s; r tc i d; n e r p s r o n o d p
0引言 从嵌入式系统到超级服务站, i x已获得广泛的应用。 Ln uLnx是一个完整通用的 U i分御式操作系统,它的结构 i u nx类
取所需,即时编译和更换系统核,这也是 Ln x iu操作系统获得世界各地网络爱好者普遍支持的主要原因。鉴于绝大部分 Ln x应用于 Itl 0 8 iu ne 8x 6系列平台,所以本文也仅限对 Ln x iu在 8x 6系列平台的启动过程进行分析。本文所要探讨的启 08动程序位于 ac/ 8/ot目录,统的启动过程主要由 b o- r J 6 o/ h3 b系 ot
紧凑、功能强、效率高、可移植性好且在 lt t ne上可自由取用。 meLn x U i作系统一样,操作系统的主要功能集中 i和 nx操 u
scSstpS h a.等 3 et、 u,和 edS . e个汇编程序完成。
在内核,内核中包含进程管理、文件管理、设备管理和网络管理等部分。本文深入探讨 Ln x操作系统内核的启动过程, iu希望对 Lnx学习和使用者有所启迪。 i u
2系统启动流程当P C的电源打开后,0 8 8x 6结构的 C U将自动进入实模 P式,从地址 0 F F 0开始自动执行程序代码,个地址通常并 X FF这
1内核结构及平台相关性 奉文分析的内核版本为 2 .。当我们使用 t命令将 l .9 6 a r i—ax2 .t . 2解开时, u.. 9 ab一 6 .r z内核源代码被放到了 l u一,.目录 i x2 9 n 6/
是R OM— I B OS中
的地址。P C机的 BOS执行某些系统的检 I将测,测试内存等,在物理地址 0处开始初始化中断向量。如并
此后,它将可启动设备的第 1扇区(个磁盘引导扇区,1字节) 52读入内存绝对地址 0 7 0处,把控制权交给这段代码。 i xC 0并 L.
中。Ln x内核各功能文件分别存放在 l u -., iu i x269 n/目录下的相应子目录中。
n x的这段代码 (ot ot c,是用 8 8 u b o/ os t) b e s 06汇编语言编写,首它先把自己举到内存地址 0 90 0并跳转到这里执行。 x00,然后把启动设备中后 2 B代码(ote ps读入到内存 0 92 0处, K b o/ t . su ) x 00而内核的其它部分 ( s m模块 )被读入到从地址 0 l0 0开 s t ye则 x00
Ln x操作系统町以工作在多种不同硬件平台卜,如 i u
8x 6 P 0 8C U系列 (0 8 8 36以上) S N sac4和 a 2、 U p r 6 r 6等。为了 m让 Ln x体现优良的可移植性, iu i u Ln x内核代码针对同的硬
件平台包含有对应的启动和初始化程序。这些程序处于 ac/ rh 子目录中。用户完全可以根据自己的需要,内核代码中各从收稿日期:2 0—30。 0 50—2
始处。随后 stpS e .将把 ss m模块移动到内存起始处,样 u yt e这 ss m模块中代码的地址就等于实际的物理地址,便于对内 yt e
基金项目:国家自然科学基金项目 ( 04 3) 6 7 02。 0 作者简介:程耕国 ( 4 -) 1 7,男,安徽绩溪人,博士,教授,研究方向为智能控制、机电一体化和计算科学软件开发;刘先勇 (9 0 ) 9 18 -,男, 湖北汉川人,硕士研究生,研究方向为数据库理论及应用、嵌入式操作系统:鲍考明 ( 7 -) 1 4,男,北麻城人,硕士,助教,研究方向为管 9湖理信息系统、数据库应用、l e tn a e及电子商务的研究与开发 n me It n t t/r一
l 2— 5 8
linux 内核启动分析
核代码的操作。
0 10 0处。载 ss m模块期『, x00加 yt e自显示“ odn s m…” J L aig yt s e信息为了提高加载速度,只要可能,就每次加载整条磁道的数据。从磁盘读取一次数据后,程序
就比较当前所读段是否就
图1展示了内核启动时引导程序在内存中的动态位置。 从图 l可看出, iu Ln x内核编译后生成的内核映像( s m模块) st ye 最大只能为 52K超出这个大小将无法装入啪咖 1 B,。这虽可以满 0 0 0
是系统数据末端所处的段 (E S G)果不是,就跳转至# ND E,如o l r d标号处继续读数据 k e a—
足一般内核要求,在特殊情况下内核也会大于 5 2K,时但 1这
。后,序向软驱控制的驱动最稃
可用两种办法:把内核映像压缩(I格式)系统进入操作模① ZP,式后再展开;②把某些非基本的具有独立功能的部分编译成模块,系统肩动后或启动过程中插入。在
端口0 32写 0关闭软驱电动机。 xf,程序运行j i, E UP E跳转到 09 2:00处, P mp0 S T S G, x00 0 0 CU
开始执行 stp块。 e模 u
32 stp模块分析 . eustpS先利用 R M I S中断读取机器系统参数( e . u首 O BO光标位置、展内存数、盘参数表等 )并将这些数据保存到内存扩硬,、 、\、、 1
0 9 00开始的位置( x0 0覆盖掉了 b osc程序) ot t e。这些参数将被内核中相关程序使用,例如设备驱动程序集中的 t i随后 to y系统进入保护模式运行。 P C U在实模式下运行,寻址一个内 存地址主要足使用段基址和段内偏移值,段值被存放在段寄存器中;而在保护模式运行方式下,寄存器中存放的是段个描述表中某项的索引值。索引值指定的描述符项中含有需要寻址的内存段的基地址、的最人长度值和段的访问级段
.
|…
‘| .\、
/O100 x00
O 07 O x c0
别等信息。和实模式下的寻址相比,寄存器值换成了段描段述符项索引。b o s c . o te t s
块:一
…
…
相关推荐:
- [实用文档]李践-有效提升销售的12大黄金法则8-大
- [实用文档]党支部换届工作方案
- [实用文档]2013年下期电子商务专业部宣传工作计划
- [实用文档]方庄一矿通风、钻探绩效工资考核管理办
- [实用文档]项目一 认识企业物流认识企业物流
- [实用文档]MBI_Display_产品蓝图规画
- [实用文档]北京市建筑业劳务作业人员普法维权培训
- [实用文档]锅炉燃烧调整与运行优化
- [实用文档]4支付结算业务的核算
- [实用文档]米什金_货币金融学_第9版各章学习指导
- [实用文档]水泥混凝土路面硬化工程施工组织设计
- [实用文档]钢筋工程安全技术交底书
- [实用文档]关于公布华中师范大学本科毕业论文
- [实用文档]太原市园林绿化施工合同范本 2
- [实用文档]周日辅导 初中英语分类复习单项选择题(
- [实用文档]第四章 文化经纪人的管理形式 第二节
- [实用文档]学宪法讲宪法竞赛题库
- [实用文档]《数值计算方法》期末考试模拟试题二
- [实用文档]爱词霸学英语:每日一句( 十月)
- [实用文档]2014年国家公务员面试:无领导小组讨论
- 新课程主要理念和教学案例分析汇编(24
- 英国人的快乐源于幸福的家庭生活
- 七年级上册第一次月考模拟数学试卷
- 真丝及仿真丝的种类有哪些?
- 【最新】华师大版八年级数学下册第十六
- 高中英语3500个必背单词
- 我可以接受失败,但我不能接受放弃!
- 最近更新沪科版八年级物理上册期末试卷
- 绿化工作先进乡镇事迹材料
- 鲁教版九年级上册思想品德教学计划
- 英语音标的分类
- 地下室底板无梁楼盖与普通梁板结构形式
- 美容师黄金销售话术
- 雅思写作满分作文备考方法
- 血清甲状腺激素测定与高频彩色多普勒超
- 1度浅析装修对室内空气品质的影响
- 2017-2022年中国汞矿行业深度分析与投
- 计算机二级VB公共基础知识
- (何勇)秸秆禁烧_重在寻找出路
- 内外墙抹灰工程分包施工合同1




