bootsect及setup

BIOS和bootsect

CPU加电即进入16位实模式

硬件逻辑设计为加电瞬间强行设置:CS=0xF000,IP=0xFFF0,CS:IP=0xFFFF0

而BIOS程序的入口地址即0xFFFF0,是计算机上电后CPU执行的第一条指令的地址

BIOS程序在内存中加载中断向量表和中断服务程序

调用INT 0x19中断,将软盘第一扇区(0面0磁道1扇区)的512字节即bootsect.s加载到内存0x07C00处

bootsect.s将自身复制到0x90000~0x90200,ds:si -> es:di

rep指令重复256次,一次复制4字节即双字,复制结束后便跳过去,跳时指定了段和偏移(段内偏移实际没变)

调用INT 0x13中断,将setup.s对应的程序加载到0x90200处,共四个扇区2K

再通过INT 0x13中断,将system加载到0x10000

检查根设备

然后跳到setup.s的第一行指令

可见,bootsect主要完成的是搬运加载工作

setup

setup程序的第一件事是利用BIOS中断服务程序将机器系统数据加载在原bootsect的位置(覆盖),0x90000~0x901FD,在setup前只空了2个字节

关中断,将system从0x10000复制到0x00000

设置全局描述符表(将来存放LDT和TSS)以及中断描述符表,GDT -> GDTR,IDT -> IDTR,注:setup.s从0x92000开始,gdt段内偏移相对0x90000要加上512

打开A20,实现32位寻址

建立保护模式下的中断机制,设置中断控制器8259A,保留内部不可屏蔽中断0x00~0x1F,重新映射中断号,IRQ0为0x20

将控制寄存器CR0的第0位PE置1,打开保护模式(之后要根据GDT)

跳到GDT的1项指向的地址开始执行,即head.s

参考:《Linux内核设计的艺术》

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 损失函数是学习的指挥棒—记一次实践经历

    因为一些后处理操作的要求,希望投影得到的分布尽可能对称且均匀,能否找到更好的投影方向?

    李拜六不开鑫
  • 卷积神经网络中的Winograd快速卷积算法

    随便翻一翻流行的推理框架(加速器),如NCNN、NNPACK等,可以看到,对于卷积层,大家不约而同地采用了Winograd快速卷积算法,该算法出自CVPR 20...

    李拜六不开鑫
  • 一文搞懂 deconvolution、transposed convolution、sub-­pixel or fractional convolution

    开篇先上图,图为deconvolution在像素级语义分割中的一种应用,直观感觉deconvolution是一个upsampling的过程,像是convolut...

    李拜六不开鑫
  • Java虚拟机知识点快速复习手册(下)

    其中解析过程在某些情况下可以在初始化阶段之后再开始,这是为了支持 Java 的动态绑定。

    Rude3Knife的公众号
  • Python面试题之多个装饰器执行顺序

    大部分涉及多个装饰器装饰的函数调用顺序时都会说明它们是自上而下的,比如下面这个例子:

    Jetpropelledsnake21
  • 8.22 VR圈大事件:中国VR市场报告显示50元以下产品占据半壁江山;苹果公司申请3D混合扫描专利;新款Gear VR开始出货

    VRPinea
  • 【DB笔试面试394】在Oracle中,SESSIONS和PROCESSES的关系是什么?

    在数据库安装完成后,常常需要设置SESSIONS和PROCESSES的大小。其中,SESSIONS指定了一个实例中允许的会话数,即能同时登录到数据库的并发用户数...

    小麦苗DBA宝典
  • 2016年总结

    又好久没写blog啦。诶最近好懒啊。正好过年在家里有点空,写完我那些lib的patch之后还有一点时间写一下2016年的总结吧。

    owent
  • 镁客请讲 | 小库科技何宛余:用人工智能去更高效的协助建筑设计工作

    据世界高层建筑与都市人居学会统计数据显示,到2018年底,预计全球竣工的200米以上的写字楼、酒店等超高层建筑物数量将达到1500栋,实现六年连续增长。

    镁客网
  • 电商行业开发者如何基于云端构建业务?腾讯云+未来峰会上这样说

    不断更迭创新的云计算技术一直激发着开发者的热情。作为腾讯云开发者生态建设的一部分,在腾讯“云+未来”上海峰会开发者专场上,腾讯云邀请技术专家进行了一场围绕电商行...

    云加社区

扫码关注云+社区

领取腾讯云代金券