1.操作系統(tǒng)的概念
① 操作系統(tǒng)是管理計(jì)算機(jī)硬件與軟件資源的程序,是計(jì)算機(jī)的基石。
② 操作系統(tǒng)本質(zhì)是一個(gè)運(yùn)行在計(jì)算機(jī)上的軟件程序,用于管理計(jì)算機(jī)硬件和軟件資源。舉例:運(yùn)行在你電腦上的所有應(yīng)用程序都通過操作系統(tǒng)來調(diào)用系統(tǒng)內(nèi)存以及磁盤等等硬件。
③ 操作系統(tǒng)屏蔽了硬件層的復(fù)雜性。操作系統(tǒng)就像是硬件使用的負(fù)責(zé)人,統(tǒng)籌各種相關(guān)事項(xiàng)。
④ 操作系統(tǒng)的內(nèi)核是操作系統(tǒng)的核心部分,負(fù)責(zé)系統(tǒng)的進(jìn)程管理(應(yīng)用程序)、內(nèi)存管理、文件管理和設(shè)備管理。內(nèi)核是連接應(yīng)用程序和硬件的橋梁,決定著系統(tǒng)的性能和穩(wěn)定性。
2.基本功能
2.1 進(jìn)程管理
進(jìn)程控制、進(jìn)程同步、進(jìn)程通信、死鎖處理等。
2.2 內(nèi)存管理
虛擬內(nèi)存、地址映射、內(nèi)存分配、內(nèi)存保護(hù)與共享等。
2.3 設(shè)備管理
緩沖管理、設(shè)備分配、設(shè)備處理、虛擬設(shè)備。處理用戶的 I/O 請(qǐng)求,方便用戶使用各種設(shè)備,并提高設(shè)備的利用率。
2.4 文件管理
文件存儲(chǔ)空間的管理、目錄管理、文件讀寫管理和保護(hù)等。
3.系統(tǒng)調(diào)用
(1)什么是系統(tǒng)調(diào)用?
用戶態(tài):運(yùn)行的用戶程序或者進(jìn)程。
系統(tǒng)態(tài):運(yùn)行操作系統(tǒng)程序或者進(jìn)程,可以訪問計(jì)算機(jī)的任何資源,不受限制。
系統(tǒng)調(diào)用:當(dāng)用戶程序需要操作系統(tǒng)態(tài)級(jí)別的資源時(shí),例如進(jìn)程控制、進(jìn)程通信、內(nèi)存管理、文件管理等,都要通過系統(tǒng)調(diào)用的方式,即請(qǐng)求系統(tǒng),由操作系統(tǒng)代為完成其操作。

(2)系統(tǒng)調(diào)用的分類
①?進(jìn)程控制:完成進(jìn)程的創(chuàng)建、阻塞、喚醒、掛起、激活和終止。
②?進(jìn)程通信:完成進(jìn)程之間的消息傳遞或者信號(hào)傳遞等功能。
③?內(nèi)存管理:完成內(nèi)存的分配、回收、獲取內(nèi)存區(qū)和地址等功能。
④?文件管理:完成文件的讀、寫、創(chuàng)建及刪除等功能。
⑤?設(shè)備管理:完成設(shè)備的請(qǐng)求、釋放、啟動(dòng)等功能。
Linux 的系統(tǒng)調(diào)用主要有:

4.中斷分類
(1)外中斷
由 CPU 執(zhí)行指令以外的事件引起,例如 I/O 完成中斷,表示設(shè)備輸入/輸出處理已經(jīng)完成,處理器能夠發(fā)送下一個(gè)輸入/輸出請(qǐng)求。還有時(shí)鐘中斷、控制臺(tái)中斷等。
(2)異常
由 CPU 執(zhí)行指令的內(nèi)部事件引起,例如,非法操作碼、地址越界、算術(shù)溢出等。
(3)陷入
用戶程序使用系統(tǒng)調(diào)用。