直接IO

Direct I/O就是当一个进程对系统文件进行IO操作的时候越过系统的文件写缓冲区和读缓存区。
文件系统缓冲区:当系统读写块设备,为了加快读写速度,系统维护了一个块缓冲区。当系统读
数据的时候,先去缓冲区中读,如果没有,再读写磁盘。当系统写数据的时候,先写数据到缓冲
区中。
Oracle数据库本身已经有自己的数据缓冲区,如果再加上系统文件的缓冲区。数据就被缓冲了俩
次,系统的内存就被浪费了。而且如果Oracle的数据库的块比系统文件的块小,那么就会造成系
统的浪费。比如Oracle的块大小是8K,系统文件的块大小是16K,那么Oracle单个读写一次就浪费
了8K的资源。
启用Direct IO
Linux内核2.4开始有Direct I/O功能, 也就是raw device裸设备。raw device可以在低级别被直
接地和并发地访问。最终块设备ext3也支持Direct IO。OCFS和ASM/ASMLib本身也支持Direct IO。
当然前提条件是存储设备需要支持VERYIO。
Direct IO可以用mount在整个文件系统范围内启用,也可以在应用中使用O_DIRECT打开文件。
Direct IO操作的块大小是512字节。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
段码屏是一种常见的显示器设备,它通常由一个控制器和一个显示屏组成。段码屏通常被用于显示数字、字母、符号等简单的字符信息。直接IO驱动程序是一种控制段码屏的方法。 直接IO驱动程序通过直接访问硬件端口来控制段码屏。程序通过向特定的端口写入数据,来改变段码屏上显示的内容。通常,段码屏的控制器接在计算机的IO口上,进而通过IO口与计算机进行数据交互。 通过直接IO驱动程序,我们可以实现对段码屏的各种控制操作,例如显示特定的字符、清除屏幕内容、控制屏幕亮度等。这种驱动程序可以通过编程语言编写,并在计算机上运行。 使用直接IO驱动程序的好处是控制简单、实时性高。由于直接IO驱动程序直接访问硬件端口,无需经过操作系统或其他中间层,因此可以实现对硬件的直接控制,响应速度快。这种方法尤其适用于对实时性要求较高的应用场景,如计时器、数码钟等。 然而,直接IO驱动程序也存在一些缺点。例如,对硬件的直接控制需要考虑硬件的兼容性和稳定性问题,不同型号的段码屏可能需要不同的驱动程序。此外,直接IO驱动程序对硬件端口的并发访问可能会引发冲突问题,需要采取一些机制来确保多个程序间对硬件的访问不产生冲突。 综上所述,直接IO驱动程序是一种用于控制段码屏的方法,通过访问硬件端口实现对段码屏的控制操作。这种方法具有控制简单、实时性高的优点,但也需要注意硬件的兼容性和并发访问的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值