2、PIO(编程输入/输出模型)和DAM(直接访问内存)
有必要简单地说下慢速I/O与内存之间的传输方式。
PIO:我们拿磁盘来说,很早之前,磁盘和内存之间的数据传输是需要CPU控制的,也就是说,如果我们读取磁盘文件到内存中,数据时需要经过CPU存储转发,这种方式称为PIO。显然这种方式是不合理的,因为它需要占用大量的CPU时间来读取文件,造成文件访问时系统几乎停止响应。
DMA:后来DMA(Direct Memory Access,直接内存访问)取代了PIO,它可以不经过CPU而直接进行磁盘和内存(内核空间)的数据交换。在DMA模式下,CPU只需要向DMA控制下达指令,让DMA控制器去处理数据的传输即可,DMA控制器通过系统总线来传输数据,传送完毕再通知CPU,这样在很大的程度上降低了CPU占有率,大大的节省了系统资源。而它的数据传输速度其实与PIO相差并不十分明显,因为这主要取决于慢速设备的速度。
可以肯定的是,PIO模式的计算机我们现在基本上见不着了 。