核心態(tài)(管態(tài)),也被稱為特權(quán)態(tài)
核心態(tài)是操作系統(tǒng)內(nèi)核所運(yùn)行的模式,運(yùn)行在該模式的代碼,可以無限制地對(duì)系統(tǒng)存儲(chǔ)履婉、外部設(shè)備進(jìn)行訪問。
用戶態(tài)(目態(tài))
在此狀態(tài)下鸠窗,執(zhí)行的代碼被硬件限定唐片,不能進(jìn)行某些涉及系統(tǒng)資源的操作
這兩種狀態(tài)的主要差別是: 處于用戶態(tài)執(zhí)行時(shí)茧球,進(jìn)程所能訪問的內(nèi)存空間和對(duì)象受到限制,其所處于占有的處理機(jī)是可被搶占的 ; 而處于核心態(tài)執(zhí)行中的進(jìn)程,則能訪問所有的內(nèi)存空間和對(duì)象酷愧,且所占有的處理機(jī)是不允許被搶占的。
用戶態(tài)切換到內(nèi)核態(tài)的3種方式
- 系統(tǒng)調(diào)用: 這是用戶態(tài)進(jìn)程主動(dòng)要求切換到內(nèi)核態(tài)的一種方式
- 外圍設(shè)備中斷:當(dāng)外圍設(shè)備完成用戶請(qǐng)求的操作后褥伴,會(huì)向CPU發(fā)出相應(yīng)的中斷信號(hào)
- 異常:當(dāng)CPU在執(zhí)行運(yùn)行在用戶態(tài)下的程序時(shí)戏自,發(fā)生了某些事先不可知的異常志衣,這時(shí)會(huì)觸發(fā)由當(dāng)前運(yùn)行進(jìn)程切換到處理此異常的內(nèi)核相關(guān)程序中弯淘,也就轉(zhuǎn)到了內(nèi)核態(tài)
特權(quán)指令:
具有特殊權(quán)限的指令假勿,涉及系統(tǒng)資源的分配和管理
非特權(quán)指令:
僅涉及內(nèi)存訪問浆竭,通用寄存器操作删窒,數(shù)據(jù)處理等不會(huì)影響到系統(tǒng)資源分配和管理的指令
中斷
程序運(yùn)行過程中特碳,系統(tǒng)外部届巩、系統(tǒng)內(nèi)部或者現(xiàn)行程序本身若出現(xiàn)緊急事件腕唧,處理機(jī)立即中止現(xiàn)行程序的運(yùn)行缺谴,自動(dòng)轉(zhuǎn)入相應(yīng)的處理程序(中斷服務(wù)程序)膀曾,待處理完后,再返回原來的程序運(yùn)行,這整個(gè)過程稱為程序中斷.
中斷的作用
- 通道是負(fù)責(zé)外圍設(shè)備與主存儲(chǔ)器之間進(jìn)行交換數(shù)據(jù),能單獨(dú)完成輸入輸出操作的裝置。 有 了通道,主存和外圍設(shè)備之間的數(shù)據(jù)交換就不要處理器負(fù)責(zé)了叠殷,處理器有可能去干其他的事情.
- 但是稽亏,如果沒有中斷技術(shù),中央處理器就要不斷的去查詢通道以及設(shè)備的執(zhí)行情況,這樣一來, 中央處理器還是把大把的時(shí)間花在了查詢狀態(tài)上末早,并不能很好的為其他進(jìn)程服 務(wù).
- 有了中斷技術(shù)后口渔,中央處理器可以完全不管通道和設(shè)備的執(zhí)行,因?yàn)槿绻刑厥馇闆r 異常或正常結(jié)束) ,通道會(huì)發(fā)I/O 中斷,通知 CPU 來處理,所以通道技術(shù)與中斷技術(shù)的出現(xiàn),使得主存儲(chǔ)器可以直接和外設(shè)之間交換數(shù)據(jù)肮韧,整個(gè)交換過程中耸峭,如果沒有特殊情況,處理器完全可以并行的去干其他事情院究,大大提高了處理器的使用效率。
- 簡(jiǎn)單來說:中斷是為了減少cpu在查詢通道及設(shè)備的次數(shù),大大提高了cpu的使用效率。
邏輯流:
一個(gè)程序執(zhí)行后,其程序計(jì)數(shù)器給出的執(zhí)行地址序列
并發(fā)流:
生命周期存在重疊的邏輯流
并發(fā):
一段時(shí)間內(nèi),多個(gè)并發(fā)流同時(shí)處于運(yùn)行的狀態(tài),稱為并發(fā)
并行:
兩個(gè)流在統(tǒng)一時(shí)刻運(yùn)行在不同的處理器上
共享變量:
當(dāng)且僅當(dāng)它的一個(gè)實(shí)例被一個(gè)以上的線程引用時(shí)
臨界資源:
被多個(gè)并發(fā)流共用,且在一段時(shí)間內(nèi)只有一個(gè)邏輯流可以獨(dú)占使用的資源
臨界區(qū):
邏輯流訪問臨界資源的代碼區(qū)
死鎖:
多個(gè)進(jìn)程都在等待其他進(jìn)程持有的鞋喇、不可釋放的資源纽疟,而導(dǎo)致這些進(jìn)程都不能向前推進(jìn)的現(xiàn)象稱為死鎖。
- 就緒態(tài):進(jìn)程獲得出處理機(jī)以外的所有資源的狀態(tài)
- 運(yùn)行態(tài):進(jìn)程獲得處理機(jī)正在執(zhí)行的狀態(tài)
- 阻塞態(tài):進(jìn)程因請(qǐng)求其他資源颓芭、等待事件發(fā)生州藕、等待I/O等原因而暫時(shí)無法繼續(xù)執(zhí)行
- 就緒~運(yùn)行:進(jìn)程調(diào)度
- 運(yùn)行~就緒:時(shí)間片用完
- 運(yùn)行~阻塞:I/O請(qǐng)求
- 阻塞~就緒:I/O完成
守護(hù)進(jìn)程:脫離了終端并且在后臺(tái)運(yùn)行的進(jìn)程
信號(hào):通知進(jìn)程系統(tǒng)中發(fā)生了一件與該進(jìn)程相關(guān)某種事件
信號(hào)量核P锈死、V操作滿足同步機(jī)制設(shè)計(jì)4個(gè)原則:
互斥其屏、有限等待睦优、空閑請(qǐng)進(jìn)隐孽、讓權(quán)等待
存儲(chǔ)器碎片:
經(jīng)過多次存儲(chǔ)分配和回收后,在系統(tǒng)中產(chǎn)生的尺寸太小而很難分配出去的存儲(chǔ)塊菱阵,稱為存儲(chǔ)器碎片。
分時(shí)系統(tǒng):
在內(nèi)存中同時(shí)加載多個(gè)任務(wù)或作業(yè)都办,將CPU時(shí)間劃分為多個(gè)時(shí)間片虑稼,分配給多個(gè)用戶使用的系統(tǒng),分時(shí)系統(tǒng)中多個(gè)用戶可同時(shí)使用計(jì)算機(jī)系統(tǒng)算題蛛倦。
進(jìn)程:
程序在獨(dú)立數(shù)據(jù)集上的運(yùn)行狀態(tài)
線程:
進(jìn)程的一個(gè)執(zhí)行單元或一個(gè)可調(diào)度實(shí)體,每一個(gè)執(zhí)行單元可執(zhí)行進(jìn)程的一段程序代碼
作業(yè)周轉(zhuǎn)時(shí)間:
作業(yè)從提交到完成所經(jīng)歷的時(shí)間