1 標準庫函數和系統調用的區別
系統調用:通向操作系統本身的接口,是面向底層硬件的。通過系統調用,可以使得用戶態運行的進程與硬件設備(如CPU、磁盤、打印機等)進行交互,是操作系統留給應用程序的一個接口。
標準庫函數:庫函數調用則是面向應用開發的,庫函數可分爲兩類,一類是C語言標準規定的庫函數,一類是編譯器特定的庫函數。
主要的差別如下:
- 庫函數是語言或應用程序的一部分,而系統調用是內核提供給應用程序的接口,屬於系統的一部分
- 庫函數在用戶地址空間執行,系統調用是在內核地址空間執行,庫函數運行時間屬於用戶時間,系統調用屬於系統時間,庫函數開銷較小,系統調用開銷較大
- 庫函數是有緩衝的,系統調用是無緩衝的
- 系統調用依賴於平臺,庫函數並不依賴
2 linux的內存管理機制是什麼?
待更
3 linux的任務調度機制是什麼?
待更