- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1. Linux启动
——基于i386体系结构
基础知识
两步启动法
Boot MBR
Loader lilo, grub
Kernel image
主引导记录MBR
v 硬盘的主引导记录在硬盘的0磁头0柱面1扇区。主
要由三个部份组成:
v 1、446字节的引导记录,负责检查硬盘分区表、
寻找可引导分区并负责将可引导的活动分区引导记
录(DBR)装入内存,它位于硬盘的每个分区的第
一个扇区;
v 2、硬盘分区表区 16X4=64 每份16字节的4份硬
盘分区表,里面记载了每个分区的类型、大小和分
区开始、结束的位置等重要内容;
v 3、 55AAH(magic number)的结束标志。
446+4*16+2=512
OS 启动
v 主机加电后,启动时钟发生器,在总线上产生
POWERGOOD信号, CPU收到RESET信号,进入
初始化过程。CPU转入8086实模式
v 进入BIOS加电自检过程POST (Power On Self
Test )将中断向量表的起始地址设为0x0000H
0x0000H~0x03FFH中存放了256个中断。
v 初始化硬件。
v 调用INT 19h中断查找活动分区,调用INT 13h将
MBR读入内存0000:7C00处,将控制权转移给
Boot Loader。
v Boot Loader初始化硬件,装载OS image。
Bios引导过程 (本身就是OS)
(head.S)
启动内核start_kernel()
v 输出Linux版本信息(printk(linux_banner))
v 设置与体系结构相关的环境(setup_arch())
v 页表结构初始化(paging_init())
v 设置系统自陷入口(trap_init())
v 初始化系统IRQ (init_IRQ())
v 核心进程调度器初始化(sched_init())
v 时间、定时器初始化(time_init())
v 提取并分析核心启动参数(parse_options())
v 控制台初始化(console_init())
v 内存初始化(设置内存上下界和页表项初始值,mem_init())
v 创建信号队列(signal_queue,signals_init())
v SMP机器初始化其余CPU
v 至此start_kernel()结束,基本的核心环境已经建立起来了。
v 见源码:/init/main.c
init进程init()
v init()函数作为核心线程,首先锁定内核(仅对SMP机器有效:
v 总线初始化(比如pci_init())
v 网络初始化
v 创建bdflush核心线程(核心命名为kflushd)
v 创建kupdate核心线程(将内存缓冲区中的信息更新到磁盘中,更新
的内容包括超级块和inode表)
v 设置并启动核心调页线程kswapd
v 创建事件管理核心线程(命名为keventd)
v 设备初始化(包括并口parport_init()、字符设备chr_dev_init()、
块设备 blk_dev_init()、SCSI设备scsi_dev_init()、网络设备
net_dev_init()等等)
v 文件系统初始化(filesystem_setup())
v 安装root文件系统(mount_root())
v init()函数到此结束,内核的引导部分也到此结束了,这个由
start_kernel()创建的第一个线程已经成为一个用户模式下的进程了。
此时系统中存在着六个运行实体:
如何学习源码
v Linux源码的结构
v看懂源码的前提
uOS的基本知识
u对C语言比较熟悉,最好要有汇编语言的知识和
GNU C对标准C的扩展的知识的了解。
v如何方便快速的查看源码
学习和开发调试环境
您可能关注的文档
最近下载
- “双带头人”教师党支部书记工作室申报书.docx VIP
- 浅谈新课标背景下高中英语文化意识的培养.doc VIP
- Planet Earth《地球脉动(2006)》第三季第一集完整中英文对照剧本.docx VIP
- Planet Earth《地球脉动(2006)》第三季第二集完整中英文对照剧本.docx VIP
- Planet Earth《地球脉动(2006)》第三季第三集完整中英文对照剧本.docx VIP
- Planet Earth《地球脉动(2006)》第三季第四集完整中英文对照剧本.docx VIP
- Planet Earth《地球脉动(2006)》第三季第五集完整中英文对照剧本.docx VIP
- Planet Earth《地球脉动(2006)》第三季第六集完整中英文对照剧本.docx VIP
- 基于STM32的快递盒子.docx
- 简体中文版雅马哈VX700维修手册(1).pdf
文档评论(0)