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


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

    1.学到的知识点

    • Linux中可以用Unix I/O处理的是普通文件、设备文件、目录、套接字
    • flag 参数中O_RDONLY,O_WRONLY,O_RDWR至少要有一个
    • Linux内核使用的file table 所有的进程共享的。
    • 使用dup2 把标准输入重定向到描述符7 dup2(7,0)
    • ls > foo.txt 是输出重定向
    • 类型为FILE的流是对文件描述符和流缓冲区的抽象。
    • 目录是一种文件
    • Linux将所有文件组织成目录层次结构
    • ./a.out使用的是相对路径
    • pwd命令可以查看当前工作目录的绝对路径
    • st_mode第一位 p632 st_size成员包含文件的字节数大小,st_mode成员则编码了文件访问许可位和文件类型。
    • chmod是文件/目录权限设置命令,st_mode成员编码了文件访问许可位和文件类型。
    • 输入输出是在主存和外部设备之间复制数据的过程。
    • 系统调用open可以获得文件描述符。
    • 内核用三个相关的数据结构来表示打开的文件呢,即描述符表,文件表,v-node表。
    • 所有I/O设备都被模型化为文件。
    • 所有的输入输出都被当做对相应文件的读和写来执行
    • 对内核而言,文本文件和二进制文件没有任何区别。区别是相对应用程序而言的。
    • Unix I/O中标识文件的是文件描述符fd
    • 当频繁的使用read和write系统调用读写文件,进程就需要不断的在内核态和用户态之间转换,系统开销太大;因此流(stream)就出现了,流的结构FILE了几个部分:文件描述符fd,指向该流缓冲区指针,缓冲区大小,当前缓冲区中的字符数,出错标志等。
    • linux shell创建的每个进程开始时都有三个打开的文件:标准输入,标准输出和标准错误。

    2.遇到的问题

    • 下面代码的输出是(D)
      A.fd2 = 0
      B.fd2 = 1
      C.fd2 = 2
      D.fd2 = 3
      E.fd2 = 4
      F.不确定

    • Unix/Linux中,对于代码fd=open("foo",O_WRONLY,0766),umask=022,下面说法正确的是()
      A.进程对foo是只写的
      B.同组成员能写foo
      C.使用者可以执行foo
      D.任何人都可以写foo
      正确答案: A C 你的答案: A B C D
      解析:九个权限可以用0777表示,07(使用者)7(同组成员)7(其他人)7(111)(读:写:执行),文件实际权限是mode&~mask

  • 相关阅读:
    django之--模型层(ORM语法)
    mysql问题记录
    CentOS系统内存使用问题(内存是拿来用的,而不是拿来看的)
    CentOS6&CentOS7安装FFmpeg
    django之--模板层
    Django之--视图层
    Django之ORM学习2--路由层
    Django之ORM学习
    Django入门
    第二版mq 数据结构选型
  • 原文地址:https://www.cnblogs.com/20165336kzq/p/9905029.html
Copyright © 2020-2023  润新知