unix IO笔记

一、IO与文件映射

        1、IO的共享与效率

              read与write其中数据缓冲的大小

              读取数据的缓冲:getpagesize

         2、定位与定位读取(随机读取)

              read与write在操作的时候,自动移动读取位置。

              lseek读取定位,改变读取位置。

             

              pread/pwrite在指定位置读写。

              lseek函数说明:返回当前读取位置在文件中的绝对位置

              off_set  lseek(int fd,//定位文件描述符号

                off_t off,// 定位位置

              int whence/ 文件开始位置/文件结束位置/文件当前位置   SEEK_SET/SEEK_END/SEEK_CUR)

              lseek的作用:定位文件的位置。lseek移动位置只要合法,都是有效的。

              lseek+write = pwrite          lseek+read = pread

              读取一个特殊的文件:

                  /proc/${pid}/mem文件程序中的虚拟映射文件

         文件的其他操作

                fstat获取文件状态

                ftruncate改变文件大小

         文件映射:

                虚拟地址映射到内存;

                虚拟地址可以映射到文件:可以用内存的方式访问文件。

                           mmap/munmap

                 1、使用内存方式写入数据

                 2、使用内存方式读取数据

二、文件描述符号的操作(IO锁)

        文件描述符号是整数,文件描述符号对应内核的上下文环境

        dup  返回系统指定的整数               dup2拷贝文件描述符号,返回用户指定的整数

        fcntl对文件描述属性的修改

                  拷贝文件描述符号

                  修改判定文件的遗传方式(描述标记)

                  修改判定文件的状态标记

                  设置强制锁,重新编译内核

                  设置建议锁,(默认方式)

                  设置信号

 

posted on 2013-12-17 16:59  love so much  阅读(200)  评论(0编辑  收藏  举报

导航