码迷,mamicode.com
首页 > 系统相关 > 详细

深入理解Linux内核-访问文件

时间:2015-08-21 13:17:56      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

文件的访问模式:
1、规范模式:
2、同步模式:
3、内存映射模式:
4、直接I\O模式
5、异步模式:

内存映射模式:
1、共享型:在线性区页上的任何写操作都会修改磁盘上的文件;而且这种修改对映射了同一文件的所有进程都是可见的。
2、私有型:进程创建只读文件的时候用到,效率更高。对它对写操作不会改变磁盘文件,也对其他进程不可见。
3、内存映射的创建同样不是立即分配页框,而是尽量推迟;当进程对它进行寻址时,就产生一个缺页异常。
4、非线性内存映射,它映射的不是文件的顺序页,而是每一内存页都映射文件数据的随机页。

直接I\O传送:
1、自缓存应用程序:更愿意具有控制I\O数据传输机制的全部权利,例如高性能数据库服务器。
2、很多页框浪费在复制已经在RAM中的磁盘数据上。
3、处理页高速缓存和预读的多余指令降低了read和write系统调用的执行效率,也降低了与文件内存映射相关的分页操作
4、read 和 write 系统调用不是在磁盘和用户态存储器直接直接传送数据,而是分两次传送:磁盘和内核缓冲区,内核缓冲区和用户态存储器。

异步I\O传送:
1、异步实现方式就是创建一个子进程,由它去执行read、write的系统调用。父进程继续执行。














 

深入理解Linux内核-访问文件

标签:

原文地址:http://www.cnblogs.com/lipeil/p/4747442.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!