-
最新日志
存档页
分类
-
最新评论
追码人 on 关于保护模式的一点感想 中亚岁月 on 关于保护模式的一点感想 Mr WordPress on Hello world! Blogroll
功能
Monthly Archives: 10月 2010
bochs 调试 linux-kernel 0.11 问题集锦(持续更新)
1:市面上流传的一些bochsdbg(需重编译bochs源代码)调试方面的资料,多为老版本上调试,这个在新版本(当前版本为bochs2.4.2)上做了一些改变 比如: info r dump_cpu 现在分别改为:r|reg|regs|registers,sreg 具体可通过help命令查看。
关于保护模式的一点感想
都说保护模式是个坎,在断断续续对于他的学习后,做一个总结,一方面为之前的学习重新巩固,另一方面为以后再学习提供模板,更多的是希望能得到大家的指正,以至于不会对保护模式的理解偏差过远! 计算机有3种模式(80386(含)后):实模式,保护模式,虚拟8086模式 我觉得这3种模式,实际上就是3种技术,这3种技术是通过硬件(intel)来实现的,对于刚开始接触保护模式概念的时候,可以对硬件层面上的略过不考虑。我们只要知道只要我们这样做,就可以达到要求等等,等以后深入了,也可深究。 有个故事:8086祖爷爷,原始社会敌人(应用程序等)比较少,只用实模式就能对付了。时代不断演进,敌人也在慢慢强大,当然祖爷爷的后代也慢慢变异。到80386这一代,自身条件也够了,敌人又来有理剥削了,用实模式已经满足不了,80386也不是等闲之辈啊,某天突然就开创了保护模式的武功,之后便能屈能申了。但对于祖爷爷那辈的敌人呢,你跟他语言不通,还得用祖爷爷那套,所以就练了虚拟8086啊。 在保护模式的学习过程中,有一些难点,其中感觉最多的就是里面”段”字太多了,刚开始以为所有的段都应该对应起来,其实现在回想一下,他们是属于不同范畴的东西。 比如分段机制,系统段,全局段,局部段,门描述符(无“段”字),代码段,段寄存器。《自》solrex版,oldlinux,google上面的资料应该能满足大家的要求了。 下面为几个关键点帮助我去理解保护模式: 1: 在实模式中段寄存器存放的内容为段值,再加上偏移地址就获得物理地址了 在保护模式中,段寄存器存在的内容为段选择子13位,剩下3位中1位一个全局/局部选择位,另2位为特权级,用于跟段描述符中的特权级比较,看是否越界。 2: 有全局描述符表寄存器,局部描述符表寄存器,中断描述符表寄存器,控制寄存器。 描述符是用来描述段的。那么描述符所在的段又是谁来描述的呢?他不能自己描述自己,所以他的描述是在全局描述符表寄存器里的。同样局部,终端等也一样。 学习保护模式,我觉得有《自己动手写OS》solrex版,《自》于渊版,《protmode.chm》李彦昌版,oldlinux 赵炯版就可以了。 读书贵在用心,这里只是抛砖引玉,努力以后能有更深层次的体会与大家分享。再次希望大家能不吝指教!