全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1/4U盘操作系统引导和内核加载器设计U盘操作系统引导和内核加载器设计1MBR引导程序MBR引导程序代码开始运行于ORG0X7C00代码处,代码大小为512字节,引导扇区的标志为扇区最后两个字节为0XAA55,所以MBR引导程序代码最后两个字节为0XAA55。引导程序代码首先自迁移至0X600内存处并跳转执行。调取MBR主引导扇区中的分区表项至内存,从内存相应位置取出分区表项中的DBR扇区位置以及总扇区数存至内存以备DBR和内核加载器使用。通过0X13扩展中断判断是否支持读取大硬盘数据以便我们可以读取U盘扇区数据。方法是通过AH0X41,BX0X55AA调用INT0X1调用结束后BX内容为0XAA55,则表示支持扩展中断。读取U盘扇区内容的方法为调用BIOS的0X42号中断,入口参数AH0X42,DL0X80,DSSI调用参数列表。参数列表内容从低字节到高字节顺序为2个字节的列表大小,2个字节大小的读取扇区数,2个字节大小的读取至内存段地址,2个字节的读取至内存偏移地址,8个字节的线性扇区数。通过BIOS扩展INT0X13扩展中断AH0X42,将DBR活动分区启动代码加载至0X7C00代码,并跳转执行。DBR活动分区启动代码2/4活动分区DBR扇区代码从ORG0X7C5A地址处运行,原因是0X7C000X7C59之间为BPB格式文件信息,里面存放着文件系统的信息等。我们默认将内核加载器写入到从MBR扇区后的第一个扇区开始的扇区位置,大小为10个扇区,线性扇区数为1,读至内存的0X8000地址处。读取内核加载程序之后,我们需要利用之前保存在0X7C00处的DBR中的BPB信息来找到根目录开始扇区。根目录开始扇区数保留扇区数FAT表大小FAT表个数隐藏扇区数。DBR开始偏移地址0X20处为总共扇区数,偏移地址0X0E处为保留扇区数,偏移地址处0X24地址处为FAT大小,偏移地址0X10地址处为FAT表的个数。同时,我们后续我们还将用到偏移地址为0X0D处的每簇扇区数。DBR扇区大小为512字节,同时程序最后以0XAA55结尾,以表示活动分区。获取以上信息之后,存至内存中,默认将我们有用的信息存至0X600内存开始处,因为该地址处的MBR代码对于我们已经没有用处了,所以覆盖掉。最后跳转至0X8000地址处的内存加载器程序并执行。内核加载器程序LOADER内核加载器代码是本文的设计重点,内核加载程序LOADER将实现画面显示,所以要操作显存地址,显存地址为0XB8000,同时设置AH寄存器为0X1F,表示蓝底白字,显示字符调用INT0X10中断,AH0XE的方法显示。LOADER3/4程序将打印在屏幕上U盘的大小以及磁盘的一些信息,同时打印出CPU的相关信息。取得CPU信息的方法是利用CPUID汇编命令获取。同时,需要获取扩展内存大小,以便于传给内核,检测方法是调用BIOSINT0X15中断,设置EAX0XE801,调用无溢出则表示成功,成功后,EAX寄存器存放16M以下大小,单位为K,EBX寄存器存放大于16M以上内存,单位为64K,两者最后相加为最终扩展内存大小。通过INT0X10,AX0X4F00中断功能,获取VBE512字节信息,在VBE信息中存有显存模式号的列表,通过INT0X10,AX0X4F01,CX模式号,可以获取该模式下的信息并存放到ESDI内存处,在ESDI处可获取该模式的显存地址和分辨率等信息。接下来需要从FAT32文件系统的U盘根目录下获取文件的开始扇区号以及文件大小,并加载到内存1M地址处。从DRB程序中获取根目录扇区号,并读取一个簇的扇区数,加载至内存0XD000地址处,该地址为LOADER程序的数据加载地址,存放临时数据的位置。从0XD000位置处查找内核文件的名字,目录项大小为32字节,目录项中存放着根目录下的文件名称和该文件的开始簇号和文件大小,通过簇号转换得到开始扇区数,并通过扩展INT0X13号中断从U盘加载至内存运行。同时,需要强调一下,目前程序还处在实模式下,不能访问1M内存地址,本文采用加载内核文件的一个扇区之后,通过BIOS扩展4/4INT0X15中断,AX0X8700,ECX拷贝字节数,DSSI为临时的GDT表,实现从内存的低地址拷贝到扩展内存地址,直到完本文由论文联盟HTTP/收集整理成加载内核文件的最后一个扇区才结束加载。加载完内核文件之后,需要加载提供给内核文件使用的GDT表。GDT格式不在详谈。通过汇
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年福建泉州华侨大学招聘32名工作人员笔试参考题库及答案详解
- 招聘10人!青海省海西州德令哈市财政局2026年面向社会公开招聘编外会计人员笔试参考题库及答案详解
- 2026交通银行春季校园招聘笔试备考试题及答案详解
- 2026中国科学院生态环境研究中心化学品环境风险评估研究室农兽药多残留质谱分析人员招聘(北京)笔试备考试题及答案详解
- 2026浙江衢州市公安局衢江分局第一期社会招聘警务辅助人员29人笔试参考试题及答案详解
- 2026潍坊现代农业山东省实验室招聘工作人员6人笔试备考试题及答案详解
- 中电太极(集团)有限公司2026届校园招聘笔试参考试题及答案详解
- 2026中国国际货运航空股份有限公司安检总站人事派遣制安检员招聘6人笔试参考试题及答案详解
- 2026上半年四川成都市双流区事业单位考试招聘事业单位人员11人笔试备考题库及答案详解
- 2026云南昆明市妇幼保健院第一批编外人员招聘30人笔试参考试题及答案详解
- 轨道交通安检试题及答案
- 空间几何体外接球课件
- 政协专业知识试题及答案
- 君瑞在线安全员培训课件
- (高清版)DB44∕T 1279-2013 《大珠母贝养成技术规范》
- 竹子砍伐合同协议书范本
- 城镇污水处理厂运行管理的技术规范与标准
- 大型点钞考试题及答案
- 广东省深圳市福田区2024-2025学年五年级下学期期中数学试卷
- 2025年湖北宜昌事业单位招聘考试笔试试题(附答案)
- 能源与动力工程测试技术 课件 第六章 流速测量
评论
0/150
提交评论