当前位置:  技术问答>linux和unix

O_DIRECT

    来源: 互联网  发布时间:2016-10-25

    本文导语:  有没有人用过O_DIRECT选项,加上这个选项后,文件操作接口使用起来很麻烦,有没有现成的接口? | 开源的代码我们当时也找过,但没找到,项目急着用,就自己写了几个函数,大致思路就是上面所说的...

有没有人用过O_DIRECT选项,加上这个选项后,文件操作接口使用起来很麻烦,有没有现成的接口?

|

开源的代码我们当时也找过,但没找到,项目急着用,就自己写了几个函数,大致思路就是上面所说的。

|
没用过?你用这个敢什么用?是为了读写大文件提高效率?还是预防掉电尽量少丢数据?

|


直接I/O?

|


数据库系统通常自己管理缓存,所以有可能使用O_DIRECT。楼主在实现数据库系统吗?

为什么说“文件操作接口使用起来很麻烦”?O_DIRECT只是打开文件时的一个Flag,貌似跟文件操作接口没关系。

|
使用O_DIRECT的话,就必须以页为单位进行I/O,这是没办法的事,因为设备本身就是块设备。你可以加一层中间代码,自己计算对齐后的文件偏移量,用posix_memalign生成对齐的buffer,进行I/O以后,再把buffer里面的内容copy到调用者的buffer里面去。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3