阅读:1445回复:2
我长期以来的疑惑! (668字)
现在的书大部分都是谈论高级语言和软件工程,所以我这个关于系统底层的疑问一直未能解决,看到这里藏龙卧虎想希望给与指点:
在DOS时代作为DOS核心的INT21功能是建立于固化在BIOS里的代码基础上的,它们都是实模式下的16位代码,win32 API都是工作在保护模式32位代码,有人说跟踪WIN32API可以得到很底层的BIOS中断代码,比如说跟踪GreateFile()这类API,可以看到INT13的原代码,这可能吗?! 如果是真的,32位和16位内存寻址不同是怎么解决的?!(不会是用模式转换吧,那效率也太低了吧,或者是虚拟8086模式,那样的话会不会影响系统性能?!)如果不可能,那WINDOWS下的IDT门描述符是怎么回事,它的中断门中的中断和DOS下的中断向量表中的中断概念一致吗?!不同的话,我应该怎样认识这两种不同的中断?! 谢谢,谁能帮我理清这些概念?! :( [编辑 - 5/3/03 by yaomingmail] |
|
|
沙发#
发布于:2003-05-05 09:07
21号中断是固化的?
保护模式下不能访问硬件? 建议你搞一本汇编语言书,读一读 |
|
板凳#
发布于:2003-05-05 23:46
部分的HARDWARE相关的东西仍然需要借助BIOS. 如ACPI/CONFIG MANAGER等. 但是99%的情况下WINDWOS都不需要BIOS的代码来完成工作.
|
|
|