File Operations

File operations 是 OS 對 file ADT 提供的基本操作。

Basic Operations

  • Create:建立新的 file 與 metadata。
  • Open:檢查 permission,建立 runtime handle。
  • Read:從 current offset 或指定 offset 取資料。
  • Write:把資料寫入 file,必要時讓 file 變大。
  • Reposition / seek:改變 current file offset。
  • Close:釋放 open-time state,必要時寫回 metadata。
  • Delete:移除 name,並在沒有 reference 時回收 storage。
  • Truncate:保留 file,但把內容清空或縮短。

Open Before Use

多數 OS 要先 open() 再 read / write,因為 pathname lookup 和 permission check 很貴。Open 後,process 用 file descriptor 代表這個 opened file。

Related:D-OS-Ch13aba-Open_File_Table_InterfaceD-OS-Ch13abb-File_Locking