Linux的启动和核心介绍
第五步
再来,就要读入真正linux的kernel了,也就是你可以在linux的根目录下看到的"vmlinuz" 。在读入前,将会先呼叫BIOS中断服务int 10h 的第3号功能,读取游标位置,之后再呼叫BIOS 中断服务int 10h的第13h号功能,在萤幕上输出字串"Loading",这个字串在boot linux时都会首先被看到,相信大家应该觉得很眼熟吧。
第六步
接下来做的事是检查root device,之后就仿照一开始的方法,利用indirect jump 跳至刚刚已读入的setup部份比较
把大家所熟知的MS DOS 与linux的开机部份做个粗浅的比较,MS DOS 由位於磁盘上boot sector的boot程序负责把IO.SYS载入内存中,而IO.SYS则负有把DOS的kernel --MSDOS.SYS载入内存的重责大任。而linux则是由位於boot sector 的
bootsect程序负责把setup及linux的kernel载入内存中,再将控制权交给setup。
##这几步内容主要参照一个台湾同胞写的文档,setup.s的内容希望有人补充。
Start_kernel()
当核心被载入后,首先进入的函数就是start_kernel。
./init/main.c 中函数start_kernel包含核心的启动过程及顺序。
通过它来看核心整个初始化过程。
首先进行一系列初始化,包括: [bitsCN.Com]
trap_init(); ##./arch/i386/kernel/traps.c 陷入
init_IRQ(); ##./arch/i386/kernel/irq.c setup IRQ
sched_init(); ##./kernel/sched.c 调度初始化,并初始化bottom_half
time_init(); ##./arch/i386/kernel/time.c
init_modules(); ##
嵌入式新闻 嵌入式资料 嵌入式培训 嵌入式linux 嵌入式系统 嵌入式开发 嵌入式 相关文章:
- 煤矿井下综合自动化系统中的应用(04-06)
- 软件Overlay:程序编写与调试(01-20)
- USB数据通信接□模块的程序设计(10-17)
- 东江产业园:力争2017年产值达千亿(09-30)
- 硅谷数模的SlimPort扩大了Nexus7的显示屏选择(08-01)
- Lonworks控制网络技术在城市排水泵站自动化中的应用(06-06)