事情起源
工作快7年了,由于我不断地完成各种奇怪的功能,我终于能看懂计算机组成和操作系统了。
当我终于看一个东西不再是天书了,那一刻,我是上头的。
于是我简单刷了几个视频:《王道-计算机组成原理》、《王道-操作系统》、《王道-计算机网络》。
刷完我总觉得哪里不太对,总觉得有点蜻蜓点水。
于是我想起了多年前,我是看过闪客聊操作系统的。他的书也在去年年底上架了,当年是真的看不懂,所以就搁置了,今天正好捡起来,顺便写点我的感想。
说干就干,于是就有了这篇文章。
文章整体结构
这个系列将围绕N个部分展开,记录一下我在阅读《Linux源码趣读》过程中的所思所想。
由于我不是原作者,我尽量不贴出大量的原文,如果你觉得我写的东西有趣,你可以去看看。如果你把这本书彻底看完了,你可以买一本纸质书支持一下。
第一部分
1. 为什么BIOS会把引导程序放在 0x7c00
?
刚开始操作系统只有一个任务就是往内存里存代码,原文中有
BIOS
将操作系统代码加载到内存0x7c00
其实这个问题,在《Why BIOS loads MBR into 0x7C00 in x86 ?》 有解答,原文是:
BIOS developer team decided 0x7C00 because:
- They wanted to leave as much room as possible for the OS to load itself within the 32KiB.
- 8086/8088 used 0x0 - 0x3FF for interrupts vector, and BIOS data a