Skip to content

Latest commit

 

History

History
15 lines (9 loc) · 916 Bytes

10 系统级 IO.md

File metadata and controls

15 lines (9 loc) · 916 Bytes

第10章 系统级 I/O

每个进程开始时,三个打开的文件:stdin(0)、stdout(1)、stderr(2)。

open 函数返回的描述符总是在进程中当前没有打开的最小描述符。

内核用来表示打开的文件的三个数据结构:

  • 描述符表:每个进程有独立的描述符表,表项是由进程打开的文件描述符来索引的,每个打开的描述符表项指向文件表中的一个表项
  • 文件表:打开文件的集合,所有进程共享,表项包括当前的文件位置、引用计数、指向 v-node 表中对应表项的指针。关闭一个描述符会减少相应文件表表项中的引用计数,减到 0 时删除文件表表项
  • v-node 表:所有进程共享,表项包含 stat 结构中的大多数信息,包括 st_modest_size

值得注意的题目

P625-10.1、P636-10.2-10.3、P637-10.4-10.5、书后-10.6-10.9