關於操作系統的檔案系統,哪些資料是儲存於Process 執行的記憶體內?
(A)File pointer
(B)File-open count
(C)File Cache
(D)Access permission of the file
答案:登入後查看
統計: A(44), B(6), C(44), D(20), E(0) #105342
統計: A(44), B(6), C(44), D(20), E(0) #105342
詳解 (共 1 筆)
#1302282
出處http://squall.cs.ntou.edu.tw/cprog/Materials/FileInputOutput.html
C程式裡面看到的檔案非常的單純:
每一個檔案有一個檔案名稱,
程式設計者可以把一個檔案看成是一長串連續的位元組, 當然不見得每一個位元組獨立代表一個資料, 也可能兩個位元組代表一筆資料或是更多位元組合在一起代表一個資料, 完全由程式設計的人自己決定。 (在 C 中稱為資料串流 stream。)
每一個檔案在程式讀取之前要先做開啟的動作,
檔案開啟時可以限定某一個檔案是用來讀取、 或是寫入、 是二進位資料、 還是 ASCII 字元資料等等特性,
開啟中的檔案基本上是順序讀寫的, 因此 C 執行系統 (runtime system) 會記錄著目前正在讀/寫檔案中哪一個位元組的資料 (file pointer), 程式中只要管是讀或是寫就可以了, 不用管讀/寫到哪裡去了, 讀/寫的動作都由那個位元組依序向後處理。
不需要再讀寫 (存取) 的檔案要把它關閉起來, 以免浪費系統資源。
注意:
在作業系統中檔案不是這麼單純的, 不見得是在磁碟機上連續的位元組, 因為要顧及存取的效率以及 磁碟機空間使用的效率、 一般檔案在磁碟機上又再細分為資料錄 (record)、 磁區 (sector)、 磁軌 (track), 等等單位, 作業系統為了讓使用者操作起來方便, 把這些細節隱藏起來了, 只讓你感覺到一個檔案是一連串資料 (位元組) 的整體。
0
0