20145234黄斐《信息安全系统设计基础》第九周学习总结(课本部分)

课本知识概述

I/O设备(输入input与输出output)是在主存和外部设备之间拷贝数据的过程

1、UNIX I/O

一个UNIX文件就是一个m个字节的序列:B0,B1,……,Bm-1;

执行方式:打开文件(描述符;标准输入(0)、标准输出(1)、标准错误(2))、改变当前文件位置、读写文件、关闭文件

2、打开和关闭文件

进程通过调用open函数来打开一个已存在的文件或创建一个新文件

open函数将filename转换为一个文件描述符,并且返回描述符数字

flags参数表明了进程打算如何访问这个文件

O_RDONLY 只读

O_WRONLY 只写

O_RDWR 可读可写

O_CREAT 若文件不存在,就创建它的一个截断的空文件

O_TRUNC 若文件已存在,就截断他

O_APPEND 在每次操作前,设置文件位置到文件的结尾处

mode参数指定了新文件的访问权限位

最后通过close函数关闭一个已打开的文件

3、读和写文件

程序通过read函数与write函数执行输入与输出

read函数从描述符为fd的当前文件位置拷贝最多n个字节到存储器位置位置buf

write函数从存储器位置buf拷贝至多n个字节到描述符fd的当前文件位置

4、用RIO包健壮地读写

RIO的无缓冲的输入输出函数:通过调用rio_readn和rio_writen函数,应用程序可以在存储器和文件之间直接传送数据

RIO的无缓冲的输入函数:一个文本行就是一个由换行符结尾的ASCII码字符序列;包装函数(rio_readlineb)从内部读缓冲区拷贝一个文本行;

5、读取文件元数据

过程通过调用stat和fstat函数检索关于文件的信息(文件的元数据)

stat函数以一个文件名作为输入

6、共享文件

描述符表、文件表、v-bode表

posted @ 2016-11-10 22:27  20145234黄斐  阅读(122)  评论(0编辑  收藏  举报