日期:2014-05-17  浏览次数:20714 次

windows读写硬盘全部是通过int13吗?
哪位大侠能说说从计算机加电,到进入windows的蓝天白云界面,对硬盘的读写到底是通过什么方式进行的,有人说是通过int   13h中断,还有的说是通过dma+int13h,
还有的说是通过in/out,天哪,到底是哪种方式?

另外,在dma方式下,硬盘的读写要不要经过int13h中断?

大家有没有推荐的书,关于这方面的?

谢过先

------解决方案--------------------
可能是这样的,INT13是硬盘工作(读写数据)的一个规范,只要按照这个规范做出的硬盘,都能通过INT13这样的指令进行操作。
但INT这种操作方式比较古老,效率比较低,后来出现了DMA的方式,就是Direct Memory Access,直接内存访问,是一种数据传输模式。DMA方式下由于不直接访问计算机的CPU,而直接在RAM与设备之间传输,可以大大提高了数据传输速度。
在加电当初由于很多驱动都没有加载,计算机还要用古老的方式进行硬盘读写,但当加载过DMA驱动后就不再使用INT13,而使用DMA了;加电之初,连CPU都仅仅相当于一个主频较高的8086,可能硬盘读写也是这样的