APUE學習——Ch1.UNIX基礎知識

Unix是操作系統。操作系統是一種軟件,它控制計算機的硬件資源,提供程序運行環境。

Unix文件系統是由目錄和文件組成的一種層次結構,目錄的起點是根(root),其名字是“/”。目錄是一個包含許多目錄項的文件,在邏輯上,可以認爲每個目錄項都包含一個文件名,同時還包含說明該文件屬性的信息。文件屬性是指文件的類型,文件大小,權限以及修改時間或創建時間等。文件的路徑有兩種:絕對路徑(路徑名由“/”開始)和相對路徑。

文件,系統在打開一個已有文件或者創建一個新文件的時候,會返回一個文件描述符(file descriptor)。三個特定的文件描述符,標準輸入/標準輸出/標準出錯的的文件描述符分別爲0/1/2。

函數open,read,write,lseek以及close提供了不用緩衝的I/O。這些函數都使用文件描述符。

程序和進程。程序是存放在磁盤上的可執行文件,是靜態的;而進程是程序的運行實例,是動態的。每個進程通過進程ID(PID)標識。用於進程控制的函數主要有:fork,exec和waitpid(exec有六種變體,但經常把他們統稱爲exec函數)。

線程。在一個進程內的所有線程共享同一地址空間,文件描述符,棧以及進程相關的屬性,因爲它們能訪問同一存儲區,所以各線程在訪問共享數據時需要採取同步措施以避免不一致性。

時間值。UNIX使用兩種不同的時間:1.日曆時間——該值是自1970年1月1日00:00:00以來國際標準時間(UTC)所經過的秒數累計值,系統用基本類型time_t保存這種時間值。2.進程時間——這也被稱爲CPU時間,用以度量進程使用的CPU資源。進程時間使用以clock tick計算的,系統用基本類型clock_t保存這種時間值。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章