- 博客(3)
- 收藏
- 关注
原创 Linux0.11---head.s分析
<br />head.s位于system模块的头部,故其命名为head。<br />system模块位于磁盘上setup模块之后(4个扇区),即从磁盘上第6个扇区开始的位置<br />从此内核完全开始运行在保护模式下运行了。<br />head.s的汇编程序与前面的语法格式不同,它采用的是AT&T的汇编语言格式<br />此段程序实际上位于内存绝对地址0处开始的地方<br />功能:<br />1.加载各个段寄存器(因为gdt表的内容发生改变,段寄存器的影子部分是描述符,所以需要改变)<br />2.重新设
2010-08-16 20:04:00 485
原创 linux0.11--bootsect.s
<br />0.11的bootsect是用as86编写的,其实直到2.4版本才同意用as编写的<br />bootsect的功能:开机后,ROM BIOS自检后,将引导扇区代码bootsect加载到0x7c00处。<br />bootsect执行期间:<br /> <br />1.将bootsect自己搬到0x90000处<br />2.将setup(第2-5,共4个扇区)搬到bootsect之后,即0x90200处<br />3.将system模块加载到0x10000处<br />4.确定根文件系统所在的
2010-08-10 22:28:00 514
原创 Linux0.00深度剖析
最近在学习Linux内核,这0.00据说当年使还是学生的linus异常兴奋,只是满屏幕的AABBBBAAA而已。本人只是写下学习笔记,以备日后复习之用。:01 ! boot.s 程序02 ! 首先利用BIOS中断把内核代码(head代码)加载到内存0x10000处,然后移动到内存0处。03 ! 最后进入保护模式,并跳转到内存0(head代码)开始处继续运行。04 BOOTSEG = 0x07c0 ! 引导扇区(本程序)被BIOS加载到内存
2010-08-07 14:43:00 1553 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人