dibingfa / flash-linux0.11-talk

你管这破玩意叫操作系统源码 — 像小说一样品读 Linux 0.11 核心代码
19.49k stars 2.64k forks source link

07C0?跟 Bell Lab 跟 C語言有關係? #40

Open KunYi opened 2 years ago

KunYi commented 2 years ago

我瞭解的是應該是為了相容性的考量 IBM PC XT/AT 是有公開BIOS 程式碼的 從Boot sector 讀取到RAM 的地方就是 07C0:0000 以那個PC BIOS 誕生時的情況 要說是跟Bell Lab & C 語言 我是不相信的 :P 應該是IBM PC 初代 640KB 與 PC-DOS 1.0 所需記憶體的綜合考量下決定的

KunYi commented 2 years ago

0x55 & 0xAA 應該是 01010101 & 10101010 因為那個年代硬體不可靠 選的可以比較容易檢驗出來硬體問題 XD 不能因為是讀Linux source code 而忽略IBM PC 誕生時的狀況 這也是那個年代BIOS 開機要做POST 很多硬體檢測的原因 現代UEFI 都不做這些檢測只做硬件初始化了

244981745 commented 2 years ago

@ KunYi 附议,看0x07c00的时候就有点疑惑,看到0x55aa疑惑就更大了,难道这就是苹果跟图灵的坊间传说同一个生产厂商?

KunYi commented 2 years ago

0x7C00, https://zhuanlan.zhihu.com/p/38433204 可以參考這篇