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对文件描述属性的修改

                  拷贝文件描述符号

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

                  修改判定文件的状态标记

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

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

                  设置信号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值