我已经从osdev下载了几个bootloader并成功加载了一个内核。但是现在我想学习bootloader背后的理论。我想知道为什么系统启动以及引导加载程序代码后面的所有内容。任何人都可以给我一个链接或链接到一本书?提前致谢。 系统是x86。Bootloader背后的理论
4
A
回答
1
https://pdos.csail.mit.edu/6.828/2014/xv6/book-rev8.pdf
在附录B,它给在第一段的简短概述:
当一个x86 PC启动时,它开始执行的程序调用的BIOS,其被存储在非在主板上的易失存储器。 BIOS的工作是准备硬件,然后将控制权交给操作系统。具体来说,它将控制权转移到引导扇区(引导扇区的第一个
512
字节扇区)加载的代码。引导扇区包含引导加载程序:将内核加载到内存中的指令。 BIOS在内存地址0x7c00
加载启动扇区,然后跳转(将处理器的%ip
)设置为该地址。当引导加载程序开始执行时,处理器模拟Intel 8088,加载程序的工作是将处理器置于更现代的操作模式,将xv6内核从磁盘加载到内存中,然后将控制权交给内核。 xv6引导加载程序包含两个源文件,一个是以16位和32位x86程序集(bootasm.S
; (8900))和C(bootmain.c
; ; (9000))的组合编写的。
相关问题
- 1. 帮助理论背后的pixelate算法?
- 2. 理论背后的数组操作
- 3. Euler的Phi函数实现背后的理论
- 4. 用户和帐户模型 - 背后的理论是什么?
- 5. 这个难题背后的理论是什么?
- 6. 背后代理
- 7. 背后HTTP代理
- 8. keystonejs背后的nginx代理
- 9. 像Dropbox这样的同步服务,文件索引背后的理论?
- 10. Xperia Lounge和bootloader unlocking
- 11. 背后的理论设计一个HTML编辑器预览功能
- 12. Python XML处理后的具体评论
- 13. 的Bootloader与图形(NASM)
- 14. 编程中的理论理论?如何
- 15. 编程语言背后是否有任何数学模型或理论?
- 16. 什么是内核,bootloader?
- 17. bootloader在哪里运行?
- 18. Yocto directdisk bootloader删除选项
- 19. Python首选语法背后的理由
- 20. _PTR_背后的理由是什么?
- 21. Keycloak背后的Apache反向代理
- 22. 推理Python背后的`from ... import ...`语法
- 23. nginx反向代理背后的ASP.NET customErrors
- 24. 无法理解此背后的逻辑
- 25. 无法解析背后的代理
- 26. bootloader - 将处理器切换到保护模式
- 27. 在小内核bootloader中检查malloc后是否为空?
- 28. 用于Smalltalk的图论理论库
- 29. PIC单片机的bootloader编程
- 30. (简单)纹理背后的纹理(瓷砖)的阴影
维基百科有一个体面的开端:http://en.wikipedia.org/wiki/Booting – JOTN 2010-11-01 14:37:06