硬盘DMA模式和PIO模式

硬盘DMA模式和PIO模式


    DMA的英文拼写是“Direct Memory Access”(存储器直接访问)。这是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预。整个数 据传输操作在一个称为"DMA控制器"的控制下进行的。CPU除了在数据传输开始和结束时做一点处理外,在传输过程中CPU可以进行其他的工作。这样,在 大部分时间里,CPU和输入输出都处于并行操作。因此,使整个计算机系统的效率大大提高。 
    (Ultra-DMA/33),1996年由Intdl和Quantum制定的一种数据传输方式,该方式I/O系统的突发数据传输速度可达33MB/s,还可以降低I/O系统对CPU资源的占用率。现在又出现了UDMA/66,速度多出两倍。

      PIO的英文拼写是“Programming Input/Output Model”,PIO模式是一种通过CPU执行I/O端口指令来进行数据的读写的数据交换模式。是最早先的硬盘数据传输模式,数据传输速率低下,CPU占 有率也很高,大量传输数据时会因为占用过多的CPU资源而导致系统停顿,无法进行其它的操作。PIO数据传输模式又分为PIO mode 0、PIO mode 1、PIO mode 2、PIO mode 3、PIO mode 4几种模式,数据传输速率从3.3MB/s到16.6MB/s不等。受限于传输速率低下和极高的CPU占有率,这种数据传输模式很快就被淘汰。
    
如何使用磁盘的DMA模式呢?使用hdparm工具可以查看:
比如我们查看磁盘缓存时,会出现如下错误:
[cnangel@cadev03 ~]$sudo hdparm -i /dev/sda
/dev/sda:
 HDIO_GET_IDENTITY failed: Invalid argument
禁止使用DMA模式:
[cnangel@cadev03 ~]$sudo hdparm -d0 /dev/sda
/dev/sda:
 setting using_dma to 0 (off)
 HDIO_SET_DMA failed: Invalid argument
因为系统安装完毕後,硬盘的 DMA 模式默认是没有打开的,一般方法是在  /etc/rc.d/rc.local 最後面加上一行 
/sbin/hdparm -d1 -c3 -m16 /dev/sda
这样每次开机後,硬盘的 DMA 就会开启,不必每次手动设定。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值