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