20145322学号 《信息安全系统设计基础》第9周学习总结(一)
教材学习内容总结
I/O是在主存和外部设备之间拷贝数据的过程,输入操作是从I/O设备拷贝数据到主存,而输出操作是从主存拷贝数据到I/O设备。
输入和输出的方式:
1 打开文件: 打开一个文件是,内核返回一个小的非负整数,即描述符,相当于告诉应用程序这个文件读过了。
2 改变当前文件位置: 每个打开的文件,内核都保持着一个文件位置k,从0开始。
3 读写文件: 读操作就是从文件拷贝N个字节到存储器。m个字节大小的文件,期间当k>=m时,会触发EOF。 写文件与读文件过程相反,k也随之变化更新。
4 关闭文件 访问文件结束之后,内核会释放文件打开时创建的数据结构,并将描述符恢复到可用的描述符池中。
注:
标准输入(STDIN)描述符为0,标准输出(STDOUT)描述符为0,标准错误(STDERR)描述符为2
返回描述符总是进程中当前没有打开的最小描述符。
打开和关闭文件
flags参数:
1 O_RDONLY 只读
2 O_WRONLY 只写
3 O_RDWR 可读可写
4 O_CREAT 文件不存在时 穿件一个截断的空文件
5 O_TRUNC 文件存在时 截断。
6 O_APPEND 每次写操作前 设置文件位置到文件的结尾处
mode参数指定新文件的访问权限位:
习题10.1代码
输出结果为3
不足值不表示错误,可能如下:
1 读时遇到EOF
2 从终端读文本行
3 读和写网络套接字
RIO无缓冲的输入输出函数
输入函数
输出函数
还有内容在学习中,将在周日前完成学习任务。