第十章 系统级I/O

第十章 系统级I/O

一、Unix I/O

         1.一个unix文件就是一个m个字节的序列

       2.unix外壳创建的每个进程开始时都有三个打开的文件:标准输入(0)

、标准输出(1)和标准错误(-1)。

二、打开个关闭文件

       1.int open(char *filename, int flags, mode_t mede );       //将filename转换为一个文件描述符,并且返回描述数字

              filename 文件名      

flag 如何访问或更多位掩码       

mode 指定新文件的访问权限

       2.close(char *filename)           //关闭一个打开的文件

       3.关闭一个已经关闭的描述符会出错

三、读和写文件

       1.ssize_t和size_t:有符号和无符号区别

       2.lseek()              //显式地修改当前文件的位置

       3.ssize_t read(int fd, void *buf, size_t n);    //成功为读的字节数,EOF为0,出错为-1

         ssize_t write(int fd, void *buf, size_t n);  //成功为写的字节数,出错为-1

四、RIO包壮健读写

       1.无缓冲、有缓冲

五、读取文件元数据

       1.元数据:应用程序能够通过调用stat和fstat函数,检索到关于文件的信息

       2.st_size:成员包含问价的字节数大小

        st_mode:成员编码了文件访问的许可位和文件类型

六、文件共享

       1.描述附表:每个打开的描述符表项指向文件表中的一个表项

         文件表:打开文件的集合

v-node表:打开文件的集合

问题:

1.csapp.h文件的问题由于网络原因暂时没有办法解决,看过博客上的帖子以后没有可以进行下载操作的网络。

2.显式地修改是什么意思?

 

posted @ 2015-11-08 18:02  王国伊  阅读(168)  评论(0编辑  收藏  举报