一、引言
所有作業系統都向它們執行的程式提供服務。典型的服務有執行新程式、開啟檔案、讀檔案、分配儲存區、獲取當前時間等
二、登入
登入名、shell
三、檔案和目錄
四、輸入和輸出
1、檔案描述符
檔案描述符是乙個小的非負整數,核心用以標識乙個特定程序正在存訪的檔案。當核心開啟乙個現存盤案或建立乙個新的檔案
時,它就返回乙個檔案描述符。當讀、寫檔案時,就可使用它。
2、標準輸入、標準輸出、標準出錯
按慣例,每當執行乙個新程式時,所有的shell都為其開啟三個描述符:標準輸入、標準輸出、標準出錯。
3、不用緩衝的io
4、標準io
五、程式和程序
1、程式
程式是存放在磁碟檔案中的可執行檔案。使用6個exec函式中的乙個由核心將程式讀入儲存器,並使其執行。
2、程序
程式的執行例項被稱為程序。某些作業系統用任務表示正在執行的程式。
每個unix程序都有乙個唯一的數字標示符,稱為程序id。
3、程序控制
有三個用於程序控制的主要函式:fork、exec、waitpid。
六、ansi c
1、函式原型
2、類屬指標
3、原始系統資料型別
七、出錯處理
八、使用者標識
九、訊號
1、訊號時通知程序已發生某種條件的一種技術。
2、程序如何處理訊號有三種選擇:
忽略該訊號
按系統預設方式處理
提供乙個函式,訊號發生時呼叫該函式
3、signal函式可以指定當產生訊號時要呼叫的函式名
十、unix時間值
1、unix系統一直使用兩種不同的時間值
最近一次的修改時間等
取50、60或100個滴答。系統基本資料型別clock_t儲存這種時間值。
sysconf函式可得到每秒時鐘滴答數。
2、當度量乙個程序的執行時間時,unix系統使用三個程序時間值:
時鐘時間
使用者cpu時間
系統cpu時間
3、時鐘時間又稱為牆上時鐘時間。它是程序執行的時間總量,其值與系統中同時執行的程序數有關。在我們報告時鐘時間時,
都是在系統中沒有其他活動時進行度量的。
4、使用者cpu時間時執行使用者指令所用的時間量。
5、系統cpu時間是為該程序執行核心所經歷的時間。
6、使用者cpu時間和系統cpu時間的和常被稱為cpu時間。
十一、系統呼叫和庫函式
1、所有的作業系統都提供多種服務的入口點,由此程式向核心請求服務。
2、各種版本的unix都提供經良好定義的有限數目的入口點,經過這些入口點進入核心,這些入口點被稱為系統呼叫。
3、unix所使用的技術是為每個系統呼叫在標準c庫中設定乙個具有同樣名字的函式。使用者程序用標準c呼叫序列來呼叫
這些函式,然後,函式又用系統所要求的技術呼叫相應的核心服務。
4、應用程式可以呼叫系統呼叫或庫函式,而很多庫函式則會呼叫系統呼叫。
5、系統呼叫通常提供一種最小介面,而庫函式通常提供比較複雜的功能。
Unix基礎知識
gnu是gnu s not unix的縮寫,gnu nu nju 角馬的意思,模樣見下圖 gnu通用公共許可gpl general public license gpl是自由軟體 會發行的用於計算機軟體的協議證書,使用該證書的軟體被稱為自由軟體 free software 後來改名為開發源 軟體 o...
unix基礎知識
一 所有作業系統都未他們所執行的程式提供服務 執行新程式 開啟檔案 讀檔案 分配儲存區以及獲取當前的時間 二 可將作業系統定義為一種軟體,控制著計算機硬體資源,提供程式執行環境,也就是核心 kernel 核心的介面稱之為系統呼叫 system call 公用函式庫構建在系統呼叫介面之上,應用程式既可...
《UNIX環境高階程式設計》 UNIX基礎知識
一 unix體系結構 1 unix系統的體系結構 p1 圖1 1 2 核心的介面被稱為系統呼叫。公用函式構建在系統呼叫介面之上,應用程式即可食用公用函式庫,也可使用系統呼叫。二 登入 1 口令檔案 etc paaswd由7個冒號分隔的字段組成,依次是 登入名 加密口令 數字使用者id 數字組id 注...