【2009-04-03】
linux-0.00的代码已经反复读过几遍,每一行都读的很明白了,感觉收获不小,虽然只有300多行代码,但是让我对X86体系架构有了更进一步的理解,像调度的基本原理、定时器的使用、A20地址线怎样开启、最底层的磁盘操作、最底层的显示控制、怎样从内核任务切到用户任务、GDTCPU的心跳是怎么来的等等技术细节,还有对GDT、LDT、TSS、IDT表结构,及表内描述符格式的印象更加深刻了,AT&T的汇编语法也得到了进一步的学习,还有很多技术细节都得到了加强学习,受益匪浅。
下一步准备把boot.s及head.s的实现流程整理出来。
【2009-03-23】
一提起来谁都说知道启动的大致流程,但很多细节是否真的清楚呢
1、bootsects.s在最后将System模块读入0x10000地址处,是怎样做的呢,提起来都说知道是调用DOS中断读的,那么从哪里读,硬盘还是软盘?读起来有什么区别,从哪个磁头开始读,一次读多少个字节,怎样知道全读完了,呵呵,这就是细节
2、IA32在进入保护模式时有1MB内存的限制,怎样突破此限制,为保护模式提供更多的内存访问范围?
开启A20地址线呗。
那怎样开启A20地址线?
写寄存器呗。
跟没说一样,难道要点击确定按钮不成!?写哪个寄存器,再说也根本不是写寄存器,纯属瞎蒙。
开启A20地址线需要写端口,写哪个端口,地址是多少,是直接把一个值写到端口上去,还是有写端口的协议,写端口的协议是怎样操作的,这些就是细节!
待续......
学习linux内核
原创
©著作权归作者所有:来自51CTO博客作者lion3875的原创作品,请联系作者获取转载授权,否则将追究法律责任
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Linux内核学习
Linux视频调试视频ubuntu下qemu使用:图文详解Qemu 安装Github QemuQEMU官网
linux 学习 运维 Powered by 金山文档 根文件系统 -
linux内核 进程学习
SMP 负载均衡对于 SMP 最简单可以理解为系统存在多个完全相同的 CPU。通俗理解Linux内
linux进程 负载均衡 进程管理