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


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

    教材学习内容总结

    10.1Unix I/O

    • 所有的I/O设备都被模型化为 文件 ,而所有的输入和输出都被当做对相应文件的读和写来执行。
    • Linux shell创建的每个进程开始时都有三个 ** 打开 ** 的文件:标准输入(描述符为0,STDIN_FILENO)、标准输出(描述符为1,STDOUT_FILENO)、标准错误(描述符为2,STDERR_FILENO)。

    10.2文件

    • 普通文件:文本文件是只含有ASCII或Unicode字符的普通文件;二进制文件是所有其他的文件。 对内核而言 ,文本文件和二进制文件没有区别。
    • 目录:用mkdir创建一个目录,用ls查看其内容,用rmdir 删除该目录。
    • 套接字:用来与另一个进程进行跨网络通信的文件。
    • Linux内核将所有文件都组织成一个目录层次结构,由名为/(斜杆)的根目录确定。可以用cd 命令来修改shell中的当前目录。
      - 绝对路径名:以一个斜杆开始,表示从根节点开始的路径。
      - 相对路径名:以文件名开始,表示从当前工作目录开始的路径。

    10.3打开和关闭文件

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

    O_RDONLY 只读,O_WEONLY 只写, O_RDWR 可读可写, O_CREAT 创建, O_TRUNC 截断,O_APPEND设置到结尾

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

    10.4读和写文件

    • 在某些情况下,read和write传送的字节比应用程序要求的要少。这些不足值 *不 * 表示有错误,出现这样情况的原因有:
      - 读时遇到EOF。
      - 从终端读文本行。
      - 读和写网络套接字。

    10.6读取文件元数据

    • stat函数以一个文件名作为输入,fstat以文件描述符作为输入。
    • st_size成员包含了文件的字节数大小,st_mode成员则编码了文件访问许可位和文件类型。

    10.8共享文件

    • 描述符表:每个打开的描述符表项指向文件表中的一个表项。
    • 文件表:打开文件的集合是由一张文件表来表示的,所有的进程共享这张表,包括文件位置、引用计数、一个指向v-node表中对应表项的指针。
    • v-node表:所有的进程共享这张v-node表,每个表项包含stat结构中的大多数信息,包括st_mode和st_size成员。

    10.9I/O重定向

    • linux>ls>foo.txt 将标准输出重定向到磁盘文件foo.txt。
    • int dup2(int oldfd,int newfd) 复制描述符表项oldfd到描述符表表项newfd,覆盖描述符表项newfd以前的内容。如果newfd已经打开了,dup2会在复制oldfd之前关闭newfd。

    10.10标准I/O

    • 对于程序员而言,一个流就是一个指向FILE类型的结构的指针。
    • 类型为FILE的流是对文件描述符和流缓冲区的抽象。

    10.11综合:我该使用哪些I/O函数?

    • 只要有可能就使用标准I/O。
    • 不要使用scanf或rio_readlineb来读二进制文件。
    • 对网络套接字的I/O使用RIO函数。

    教材问题及解决

    理解:

    Read(fd2,&c,1); 已读取了f2的第一位f,

    Dup2(fd2,fd1); 将fd1重定向到了fd2,

    Read(fd1,&c,1); 相当于读取的是fd2的第二位o。

    上周考试错题总结

    • 在任何时刻,所有的读/写头都位于同一个柱面上。
    • 磁盘以扇区大小的块来读写数据。
    • 对扇区的访问时间有三个主要的部分:寻道时间、旋转时间、传送时间,访问时间主要是寻道时间和旋转延迟。
  • 相关阅读:
    存储与服务器的连接方式对比(DAS,NAS,SAN)
    FreeNAS系统总结
    FreeNAS-9.10虚拟机测试安装
    rsync实时同步服务部署
    无限循环与嵌套循环
    几种循环语句
    选择结构if
    java引用数据类型
    java运算符的优先级
    java运算符-逻辑、三元运算符
  • 原文地址:https://www.cnblogs.com/5306xyh/p/9902847.html
Copyright © 2020-2023  润新知