zoukankan      html  css  js  c++  java
  • 深入理解Linux内核-访问文件

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

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

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

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














  • 相关阅读:
    栅格系统
    jq中文档的操作及正则的应用
    jq的简单操作
    jquery基础
    DOM&BOM
    布局和js的轮播图
    js中的事件
    js的高级操作
    js对页面的一些简单的操作
    第二章 ELKstack部署及配置
  • 原文地址:https://www.cnblogs.com/lipeil/p/4747442.html
Copyright © 2011-2022 走看看