随笔分类 -  linux0.11

linux0.11内核的学习,基本上是看赵博士书写的总结
摘要:1.MBR硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR),该记录占用512个字节,它用于硬盘启动时将控制权转给指定的、在分区表中登记了某个操作系统分区。MBR的内容是在硬盘分区时由分区(如FDISK)写入该扇区的,MBR不属于任何一个操作系统,不随操作系统的不同而不同,即使不同,MBR也不会夹带操作系统的性质,具有公共引导的特性。MBR由三部分构成: 1.主引导,占446字节 2.硬盘分区表DPT,占64字节 3.主引导扇区结束标志AA55H 一、硬盘的主引导程序代码是从偏移0000H开始到偏移01BDH结束的446字节;主引导程序代码包括一小段执行代码。启动PC 机... 阅读全文
posted @ 2011-11-15 19:12 zhouprogram 阅读(828) 评论(0) 推荐(1)
摘要:1. 引导启动程序的总结引导启动程序程序在boot目录下,有bootset.s, head.s和setup.sBootset.s: 系统启动时首先是进入实模式,从地址0xffff0(这地址映射的rom-bios在内存的地址)处开始执行bios代码,然后执行系统检测(也就是自检过程),然后初始化实模式的中断向量表(实模式中断向量在内存物理地址0处)。然后将启动设备的第一个扇区(512字节,也就是bootset.s编译完成的内容)内容读取到内存0x7c00(31kB)处,并且跳转到这里,跳转到bootset.s后,bootset.s主要做了如下工作:bootset.s在最前面的几句代码先将自己移动 阅读全文
posted @ 2011-05-22 21:52 zhouprogram 阅读(846) 评论(0) 推荐(1)
摘要:Orange 总结Orange分为Boot部分,load部分和内核kernel部分:具体内存分布如下图所示:系统启动过程:bios加载boot部分(512byte)于内存7c00h处并跳转到7c00h处开始执行,boot部分代码负责将load部分加载于内存9000h处并跳转到那里。Load部分代码加载kernel然后控制权交给kernel。每个部分的具体细节:Boot部分:通过在软盘中找到load.bin所在位置,并且将其拷贝到9000h处,最后跳转到那里(具体技术包括对fat12文件系统结构的理解和对磁盘读写方法);Load部分:通过在软盘中找到kernel.bin所在位置并将其拷贝到800 阅读全文
posted @ 2011-05-22 16:55 zhouprogram 阅读(309) 评论(0) 推荐(0)