第十章 系统级IO

共享文件

  • 描述符表(descriptor table):每个进程都有一张描述符表,记录进程打开的文件描述符,每个表项指向文件表的表项
  • 文件表(file table):打开文件的集合由一张文件表来表示,所有进程共享一张表,表项描述当前文件位置、引用计数等,以及只想v-node表的指针
  • v-node表:所有进程共享一张,表项包含文件大小、类型等内容

三者之间可以用一句话简单描述:多个描述符可以通过不同的文件表项来引用同一个文件

IO重定向

  • 将原来描述符指向的文件表项指向新的文件表项
  • 除了shell提供的>符号(right hoinky)外,libc提供接口dup2()可以实现
Copyright © Jason 2019-2024 all right reserved,powered by Gitbook本书发布时间: 2022-03-20 15:55:48

results matching ""

    No results matching ""