20145315 《信息安全系统设计基础》第9周学习总结
教材学习内容总结
I/O是在主存和外部设备之间拷贝数据的过程
- 输入操作:从I/O设备拷贝数据到主存
- 输出操作:从主存拷贝到I/O设备
在linux系统中,所有设备都被模型化为文件
- 所有输入输出都被当作对应文件的读和写来执行。
- I/O是一个简单的接口应用
- 每个进程初始都有三个打开的文件标准输入(0),标准输出(1),标准错误(2)
- 对于每个打开的文件,内核保存一个文件位置K
- 执行完以后要关闭文件,并释放存储器资源
打开和关闭
- open函数将文件名转换为一个文件描述符
- flags指明如何访问
- mode参数指定新文件的访问权限
- 通过open创建新文件时,访问权限被设置为mode & ~umask
读和写
- 应用程序分别通read和write来执行输入和输出
- 用RIO包可以进行健壮的读写,在网络套接字上,你不能使用标准I/O函数来进行输入和输出,要使用RIO.
读取文件元数据
- 应用程序能通过stat和fstat检索关于文件的信息
- st_size包含文件字节
- st_mode是文件访问许可和文件类型
- UNIX通过宏指令来确定文件类型
共享文件
- 描述符表——指向文件表中的一项,每个进程有独立的描述符表
- 文件表——包含文件位置、引用计数,指向v_node表的一个表项
- v-node表——包含stat结构中的大多数信息
- 多个描述符也可以通过不同的文件表项来引用同一个文件
I/O重定向
- unix> ls > foo.txt(shell加载和执行ls,并将标准输出重定向到磁盘文件foo.txt中)
- dup2(1,5) (将标准输出重定向到到描述符5中)
教材学习中的问题和解决过程
- 问题:缺少头文件“csapp.h"
- 解决:下载csapp.h,并放到头文件文件夹中。
实验截图
本周代码托管截图
学习进度条
|
代码行数(新增/累积) |
博客量(新增/累积) |
学习时间(新增/累积) |
重要成长 |
目标 |
5000行 |
30篇 |
400小时 |
|
第一周 |
20/200 |
1/2 |
20/20 |
|
第二周 |
30/200 |
2/4 |
18/38 |
|
第三周 |
50/200 |
1/4 |
22/30 |
|
第四周 |
0/200 |
0/0 |
0/30 |
|
第五周 |
100/200 |
2/2 |
25/30 |
|
第六周 |
100/200 |
2/2 |
25/30 |
|
第七周 |
100/200 |
1/2 |
25/30 |
|
第九周 |
100/200 |
1/2 |
25/30 |
|
参考资料
posted @
2016-11-13 22:17
君知らない
阅读(
148)
评论()
编辑
收藏
举报