教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 实用文档 >

linux 内核启动分析

来源:网络收集 时间:2026-08-22
导读: 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摘要:

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

块:一

…… 此处隐藏:7446字,全部文档内容请下载后查看。喜欢就下载吧 ……

linux 内核启动分析.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1109012.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)