1. 程式人生 > >作業系統-檔案管理

作業系統-檔案管理

在討論檔案時常用的4個術語

  • field(域)
    基本資料單元. 一個域包含一個值, 可以通過它的長度和資料型別(ASCII字串, 二進位制數等)來描述. 長度既可以是固定的,也可以是可變的, 取決於檔案的設計. 長度可變的域, 通常包含兩個或三個子域:要儲存的實際值、域名,某些情況下還包含域的長度。長度不可變的域,域之間的劃分符號暗示了域的長度。

  • record(記錄)
    是一組相關域的集合,可以看著應用程式的一個單元。記錄也可以使固定或可變長度,取決於設計。如果一個記錄的某些域長度可變,或記錄中域的數目可變,則該記錄可變。對於域數目可變的情況,每個域通常有一個域名。對於長度可變的記錄通常包括一個長度域。

  • file(檔案)
    是一組相似記錄的集合,可以通過名字訪問。檔案有一個唯一的檔名,可被建立或刪除。訪問控制通常在檔案級實施(使用者或程式被允許或拒絕訪問整個檔案)。在一些更復制的系統,這類控制也可以在記錄級或域級。有些檔案系統中,檔案按域而不是記錄來組織,這種情況下,檔案是一組域的集合。

  • database(資料庫)
    是一組相關的資料的集合,本質特徵是資料元素間存在明確的關係,並且可供不同應用程式使用。資料庫自身是由一種或多種型別的檔案組成。通常資料管理系統是獨立於作業系統的。

典型的檔案操作:

  • Retrieve_All: 檢索一個檔案的全部記錄。由於這個操作順序的訪問所有記錄,它通常等同於術語順序處理(sequential processing)。
    Retrieve_One: 僅僅檢索一個記錄。互動式的,面向事務的應用程式需要這個操作。
  • Retrieve_Next: 檢索邏輯順序的下一個記錄。
  • Retrieve_Prexious: 類似Retrieve_Next。
  • Insert_One: 在檔案中插入一個新記錄。為保持順序,新記錄必須插入到檔案適當的位置。
  • Delete_One: 刪除一個已存在的記錄。為保持順序,可能需要更新某些連結或別的資料結構。
  • Update_One: 檢索一個記錄,更新該記錄的一個或多個域,並把這個更改後的記錄寫或檔案。同樣需要保持檔案順序,如果記錄長度的長度發生變化,更新操作通常更復雜。
  • Retrieve_Few: 檢索一部分記錄。例如,應用程式或使用者可能希望檢索滿足特定規則的所有記錄。