恒宝番外-闪客破玩意儿系列-操作系统源码
自从出来工作了,写技术博客就很少聊番外了,其实之前上学的时候写了好多,同学们爱看,也爱调侃我“当初你退出文坛我是极力反对的”之类的话。后来逐渐觉得不重要,也就不写了。这两天我和一个公众号的大V互动,觉得有趣,记录下来。
是这样,我偶然看到这样一篇文章《你管这破玩意叫操作系统源码 | 第一回 最开始的两行代码》
觉得还不错,其实讲操作系统的挺少的,大部分人不爱讲,因为真喜欢这个的听众很少。我之前看过几篇,但是总是有一些错误需要自己摘,而且有的更着更着就停更了。再加上我自己也没有毅力自己研究,故而对于这种我情怀还是多于考究的。
但是我看到大家讨论积极性很高,我也评论了一下,聊了一下启动区为什么是识别硬盘中的 0 盘 0 道 1 扇区的 512 个字节的最后两个字节分别是 0x55
和 0xaa
。
其实是有意义的两个值,0x55
对应ASCII
码的U
,也就是Unix
的首字母。而0x55
左移一位为0xAA
,这里的A
代指AT&T
,因为Unix
来自于AT&T Unix
。
接着,因为博主给我用很通俗的例子讲清了基址寄存器中基址的含义,我突然觉得应该再来一个评论,于是便把ds
被赋值为了0x07c0
聊了一下。这里的07
在ASCII
码中是bell
的意思,这里代指Bell Labs
(贝尔实验室),后面的C0
,理解为Current Zero
最好,因为你不可能永远从磁盘上的0开始,你可以指定一个0,然后你再编码的时候都是相对位置,你懂吧,这样写就方便一些。我现在写前端页面也是喜欢相对位置啊、响应式啊,这种。哈哈,亲爱的读者,你说对吗?
为什么不确定呢?因为时间很久远,开发者也不会写日记天天给你搞情怀,当时都是知道怎么回事的,只是我没找到一个讲Unix
历史很好的网站或者书,如果有,请在评论区推荐给我!好多东西都是找到网络上的只言片语,无法断定最初作者的想法了,而且,不是有那么句话吗?
我在写代码的时候,我和上帝知道。现在,只有上帝知道了。
这不是句玩笑话,有时候高手做完一个项目也得从头捋。这就又聊到写注释了,不想又洋洋洒洒一大篇,我这个人不喜欢长篇大论,我喜欢短小精干的文章,可能这也是我逐渐不爱写这种番外的原因吧。
就这样,推荐大家去看,我也许还会在评论区冒泡。我的读者朋友们,你们喜欢这样的博客吗?也欢迎你们在评论区七嘴八舌、相互回复。
再有,希望CSDN帮我把这篇文章权重搞低一点,我不想打扰大家搜正常的知识相关的内容,谢谢啦。