Skip to Content
LINUX系統程式設計 第二版
book

LINUX系統程式設計 第二版

by Robert Love
December 2013
Intermediate to advanced
496 pages
8h 57m
Chinese
GoTop Information, Inc.
Content preview from LINUX系統程式設計 第二版
第二章
檔案 I/O
本章及後續三章將會探討檔案。因為 Unix 系統上的一切皆以檔案呈現,所以本書將以
這幾章的內容來探討 Unix 系統的關鍵議題。本章將說明檔案 I/O(輸出入)的基礎知
識,它詳述了與檔案互動時所使用之最簡單及最常見的系統呼叫。第 3 章將說明標準 C
程式庫所提供的標準 I/O 功能,並於第 4 章說明更進階和特別的 I/O 介面。最後以第 8
章所介紹的檔案和目錄操作,為 I/O 的探討劃下完美的句點。
檔案必須先被開啟,才可以對它進行讀取或寫入的操作。核心會替每個行程維護一份已
開啟檔案的清單,稱為
檔案表
file table
)。此表係經由非負整數進行索引,此非負整數
稱為
檔案描述器
file descriptor
,常簡寫為
fd
)。此表中每個項目內含與已開啟檔案相
關的資訊,包括一個指標(指向檔案之 inode 於記憶體中的副本)以及相關的中介資料
(例如檔案位置與存取模式)。用戶空間與核心空間都會把「檔案描述器」當成獨一無
二的「每行程識別符」(per-process cookies
1
:開啟一個檔案便會傳回一個「檔案描述
器」,而隨後的操作(讀取、寫入…等等)則會以「檔案描述器」做為主要的引數。
「檔案描述器」會被表示成 C 語言的
int
資料型別。而不使用以往 Unix 所使用的特殊
資料型別。每個 Linux 行程所能開啟的檔案數目都具有上限值。「檔案描述器」從 0
始起算,可以一直成長到比上限值少 1 的數目。預定狀況下,上限值為 1,024,但是最
高可設定到 1,048,576 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

優雅的SciPy|Python科學研究的美學

優雅的SciPy|Python科學研究的美學

Juan Nunez-Iglesias, Stéfan van der Walt, Harriet Dashnow
C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普

Publisher Resources

ISBN: 9789862769812