什么是操作系統?
概念:
操作系統是管理和控制計算機硬件資源的計算機程序,應用軟件必須在操作系統的支持下才能運行。操作系統是用戶和計算機的接口。
功能:
1.進程管理(Process control)
2.內存管理(Memory management)
3.文件系統管理(Filesystem
management)
4.設備驅動(Device drivers)
5.系統調用(System call)
特點:
操作系統的內核直接參考硬件規(guī)格寫成,所以不同的硬件架構下不能運行同一版本的操作系統。
基于安全和穩(wěn)定的考慮,劃分內核空間和用戶空間,用戶空間的程序禁止直接執(zhí)行內核空間的代碼或數據。
操作系統內核只管理硬件資源,如果沒有其他應用程序輔助,計算機只能處于就緒狀態(tài),無法進行其它操作。
什么是系統調用?
操作系統的特點決定了內核必須提供一種機制,使得用戶空間的程序能夠發(fā)送信號通知內核,使其深入到內核中,執(zhí)行那些只有內核才允許執(zhí)行的代碼。這些用來響應用戶請求的程序就稱為系統調用。
當用戶空間的程序(如文本編輯器),想從操作系統獲得服務或者使用硬件資源時,就要向內核發(fā)起系統調用。
Linux內核為Alpha、i386、PowerPC等架構各自實現了系統調用,其中i386架構大約有300系統調用。
令什么是系統編程?
>概念:
從用戶空間通過系統調用向內核發(fā)出請求,從而獲得操作系統提供的服務或者硬件資源的過程,就稱為系統編程。
>分支:內核開發(fā)設備驅動
>三要素:
系統調用、C庫、C編譯器