2018-2019-1 20165236 《信息安全系统设计基础》第六周学习总结

2018-2019-1 20165236 《信息安全系统设计基础》第六周学习总结

一、教材内容学习总结

10.1     Unix I/O

一个Linux文件就是一个m个字节的序列,所有的I/O设备都被模型化为文件,而所有的输入和输出都被当做对相应文件的读和写来执行。

输入输出执行方式:

打开文件:一个应用程序通过要求内核打开相应的文件;

linux shell创建的每个进程开始时都有三个打开的文件:标准输入、标准输出、标准错误;

改变当前文件的位置;

读写文件;

关闭文件:当应用完成了对文件的访问之后,就通知内核关闭这个文件。

10.2    文件

每个linux文件都有一个类型来表明它在系统中的角色:

普通文件;

目录;

套接字。

10.3    打开和关闭文件

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

open函数将filename转换为一个文件描述符,并且返回描述符数字,返回的描述符总是在进程中当前没有打开的最小描述符;

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

10.4     读和写文件

应用程序是通过分别调用read和write函数来执行输入和输出的:

10.5    用RIO包健壮地读写

1、无缓冲的输入输出函数;

2、带缓冲的输入输出函数。

 10.6     读取文件元数据

 1、stat函数以一个文件名作为输入,fstat以文件描述符作为输入;

2、st_size成员包含了文件的字节数大小,st_mode成员则编码了文件访问许可位和文件类型。

10.7     读取目录内容

应用程序可以用readdir系列函数来读取马路的内容。

10.8     共享文件

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

2、文件表:打开文件的集合是由一张文件表来表示的,所有的进程共享这张表,包括文件位置、引用计数、一个指向v-node表中对应表项的指针;

3、v-node表:所有的进程共享这张v-node表,每个表项包含stat结构中的大多数信息,包括st_mode和st_size成员。

10.9    I/O重定向

1、linux>ls>foo.txt:将标准输出重定向到磁盘文件foo.txt;

2、int dup2(int oldfd,int newfd):复制描述符表项oldfd到描述符表表项newfd,覆盖描述符表项newfd以前的内容。如果newfd已经打开了,dup2会在复制oldfd之前关闭newfd。

 

二、上周课下测试错题总结

解析:课本P409.

三、学习感想

本周的课程学习相对于之前的几周难了一些,我采取了先读懂课本,结合老师在课上所讲的,并在课后做了大量的练习,终于弄明白了这一章,也为这周的学习画上了圆满的句号。

猜你喜欢

转载自www.cnblogs.com/GJTT/p/9904018.html
今日推荐