不错,继续下去。当年也差不多和 lz 一样的想法,不过我大学期间一般都是直接看美国的原版 /影印版教材。
其实那些老师,老师的老师,教材的作者,很可能自己就那样(教材还不算那些请那些很可能学了四年找不到工作考研的研究生代笔的那种)。在那要么吹牛,要么念课本。有多少是参与过现代 cpu 开发的。如果不是那几家 top 的学校。。。自己都没搞过还要教别人。二流教材加三流老师,结果就是这样。
我毕业时也和那些老师谈过。他们上课感觉更像是完成政治任务。一方面大趋势是, cs 都往互联网靠,不是那么几家学校出来的,现实点一辈子接触这些知识的机会很渺茫,大家来这读学位大部分是为了找工作,没鸟用的东西大家也不想学;另一方面培养计划又是上面订的,再差的大学也是大学啊,所以又必须开这门课。结果就是老师装着讲一讲,学生装着听一听,期末放放水,也就过去了。 lz 和我这种杠真的,不多。
另外体系结构我推荐这本:
https://www.amazon.com/Computer-Organization-Design-Fifth-Architecture/dp/0124077269我现在的工作(第一份)就是天天弄这个。不过我这个更底层,一边直接从 _start 往上写测试程序,一边在仿真器 /模拟器里对着 rtl 看 cpu 里的信号。你能通过编程看到的,只是做 cpu 的暴露给你的接口而已。
我现在能一口气答出来这些问题。
gdt ldt 什么的都在 intel 那三卷 pdf 里。
elf 头格式, mbr/fat 格式什么的网上到处都是。
要 binary 直接 objcopy 就好了,得到 plan binary dd 就好了。 man objcopy 。
如果想找例子, Linux 内核, osdev ,还有各种学校的 os final project 都可参考。