20145322学号 《信息安全系统设计基础》第9周学习总结(一)

时间:2022-04-28 03:27:28

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参数指定新文件的访问权限位:

20145322学号 《信息安全系统设计基础》第9周学习总结(一)

习题10.1代码

20145322学号 《信息安全系统设计基础》第9周学习总结(一)

输出结果为3

不足值不表示错误,可能如下:

1 读时遇到EOF

2 从终端读文本行

3 读和写网络套接字

RIO无缓冲的输入输出函数

输入函数

20145322学号 《信息安全系统设计基础》第9周学习总结(一)

输出函数

20145322学号 《信息安全系统设计基础》第9周学习总结(一)

还有内容在学习中,将在周日前完成学习任务。