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

教材学习内容总结

系统级 I/O

Unix I/O

  • 所有的I/O设备都被模型化为文件,而所有的输入和输出都被当做对相应文件的读和写来执行。这种将这杯优雅地映射为文件的方式,允许Linux内核引出一个简单、低级的应用接口,称为Unix I/O.且所有的输入与输出都可以用一种统一且一致方式来执行:打开文件Linux Shell改变当前文件位置读写文件关闭文件

文件

文件类型:

  • 普通文件:包含任意数据。
  • 目录:包含一组链接的文件,其中每个链接都将一个文件名映射到一个文件,这个文件可能是另一个目录。
  • 套接字:用来与另一个进程进行跨网络通信的文件。

  • Linux目录层次
    Linux目录层次

打开和关闭文件

flags参数指明了进程的打算如何访问这个文件:

  • O_RDONLY:只读。
  • O_WRONLY:只写。
  • O_RDWR:可读可写。
  • O_CREAT:如果文件不存在就创建他的截断的空文件。
  • O_TRUNC:如果文件存在就截断。
  • O_APPEND:每次写操作前,设置文件位置到文件结尾处。

访问权限位:

读和写文件

在某些情况下,read和write传送的字节比应用程序要求的要少。这些不足值不表示有错误。出现这样的情况:

  • 读时遇到EOF。
  • 从终端读文本行。
  • 读和写网络套接字。

    文件共享

    内核用三个相关的数据结构来表示打开的文件:
  • 描述符表
  • 文件表
  • v-node表

典型的打开文件的内核数据结构,没有共享:

文件共享:

子进程继承父进程的打开文件:

I/O 重定向

Linux shell提供了I/O重定向的操作符:ls > foo.txt

上周考试错题总结

  • 错题1:
    下面说法正确的是()
    A
    .
    CPU通过内存映射I/O向I/O设备发命令
    B
    .
    DMA传送不需要CPU的干涉
    C
    .
    SSD是一种基于闪存或Flash的存储技术
    D
    .
    逻辑磁盘块的逻辑块号可以翻译成一个(盘面,磁道,扇区 )三元组。
    答案:A B C D
  • 错题2:
    有关磁盘操作,说法正确的是()
    A
    .
    对磁盘扇区的访问时间包括三个部分中,传送时间最小。
    B
    .
    磁盘以字节为单位读写数据
    C
    .
    磁盘以扇区为单位读写数据
    D
    .
    读写头总处于同一柱面
    答案:A C D

猜你喜欢

转载自www.cnblogs.com/Yhooyon/p/9905946.html
今日推荐