zoukankan      html  css  js  c++  java
  • 系统级I/O

           进程通过open函数打开一个已存在的文件或者创建一个新的文件。应用程序可以用过read和write函数来执行输入和输出。在某些情况下,read和write函数传送的字节比应用程序要求的要少,这些不足值不代表有错误,如果想创建健壮的网络应用,就必须通过反复调用write和read函数处理不足值,使用RIO包可以自动处理不足值。

            RIO提供了两种不同类型的函数:无缓冲的输入输出函数,这些函数直接在存储器和文件之间传送数据,没有应用缓冲。它,恶魔对将二进制数据写到网络和从网络写到二进制数据尤其有用。带缓冲的输入函数,这些函数允许你高效地从文件中读取文本行和二进制数据,这些文件的内容缓存在应用级缓存区内。

            应用程序能够通过调用stat和fstat函数,检索文件的信息,其中stat数据结构中的st_mode和st_size成员,st_size包含了文件的字节数大小。Unix提供的宏指令根据st_mode成员来确定文件的类型。

    共享文件:

         内核用三个相关的数据结构来表示打开的文件:

     

     

          对于图10—12,可以通过dup2函数修改进程的描述符表实现I/O重定向。

     

  • 相关阅读:
    java新手的session初体验
    菜鸟身份看泛型
    Java初学者不可不知的MyEclipse的设置技巧(自动联想功能)
    GCT之数学公式(几何部分)
    GCT之数学公式(代数部分)
    GCT之语文细节知识
    单元测试的方法
    常用的测试方法
    SQL 经典语句大全
    待处理(一)
  • 原文地址:https://www.cnblogs.com/linear/p/6809638.html
Copyright © 2011-2022 走看看