操作系統(tǒng)——進(jìn)程管理
1 進(jìn)程?


describe:
進(jìn)程的狀態(tài):


noting
進(jìn)程控制:
原語的作用

noting;
阻塞原語和喚醒原語

切換原語:

進(jìn)程通信

線程:

多對(duì)多


處理及調(diào)度

各個(gè)調(diào)度之間的關(guān)系和區(qū)別


進(jìn)程調(diào)度時(shí)機(jī)切換

進(jìn)程調(diào)度算法(低級(jí)調(diào)度)
FCFS:按先后順序排列,時(shí)間軸畫出來計(jì)算 周轉(zhuǎn)時(shí)間,等待時(shí)間,平均周轉(zhuǎn)時(shí)間,帶權(quán)周轉(zhuǎn)時(shí)間(除法),平均帶權(quán)周轉(zhuǎn)時(shí)間;若有i/o操作則等待時(shí)間=周轉(zhuǎn)時(shí)間-實(shí)際run-i/o操作

noting:
SJF短作業(yè)優(yōu)先(shortest job first)選擇當(dāng)前已經(jīng)到達(dá)的作業(yè)中運(yùn)行時(shí)間最短的
非搶占式:

搶占式:和上面不同的是,(要運(yùn)行進(jìn)程必須等上一個(gè)進(jìn)程結(jié)束再比,這個(gè)是,來一個(gè)進(jìn)程比一次)


?


然后就是三個(gè)搶占式或者剝奪式的算法
時(shí)間片輪轉(zhuǎn) RR 優(yōu)先級(jí)調(diào)度 還有 多級(jí)反饋隊(duì)列
共通點(diǎn)就是 會(huì)根據(jù)一個(gè)標(biāo)準(zhǔn)也就是他們的區(qū)別 來選擇調(diào)度哪一個(gè)進(jìn)程的問題
RR 1 給當(dāng)前到達(dá)的進(jìn)程分別分配一個(gè)時(shí)間片運(yùn)行
? ? ? 2注意當(dāng)時(shí)間片耗盡時(shí),是否要插在新來的進(jìn)程的后面
優(yōu)先級(jí)調(diào)度 ?:設(shè)置一個(gè)變量 優(yōu)先級(jí),優(yōu)先級(jí)高的搶占cpu運(yùn)行
?????1 當(dāng)每次有新的進(jìn)程到達(dá)時(shí),都要與當(dāng)前運(yùn)行的進(jìn)程進(jìn)行優(yōu)先級(jí)的比較,低下高上
???? 2?多個(gè),那就一起比。
多級(jí)隊(duì)列反饋:?

??????????????信號(hào)量機(jī)制
記錄型信號(hào)量

1 cpu隨機(jī)的為各個(gè)進(jìn)程服務(wù)
2 打印機(jī)使用的過程中是需要占用資源,而cpu是可以離開
3 當(dāng)已有的資源全部分配完畢,再次訪問該資源,則Wait(阻塞)在隊(duì)列中
4 當(dāng)使用完打印機(jī)資源,則增加信號(hào)量,喚醒阻塞在隊(duì)列中的進(jìn)程
5 當(dāng)s.value =-1 則有一個(gè)進(jìn)程等待 以此類推


連起來了,,,
linking記錄型信號(hào)量

explainatin:
1 若P1先運(yùn)行,P2后運(yùn)行
?則代2一定運(yùn)行在代4之前
2 反之
則 P2阻塞到等待隊(duì)列去 s=-1, p1完成后,s——>0 喚醒阻塞隊(duì)列中的進(jìn)程
則 保證代2一定運(yùn)行在代4之前
信號(hào)量機(jī)制實(shí)現(xiàn)前驅(qū)關(guān)系

生產(chǎn)者——消費(fèi)者問題


ex: 當(dāng)先上鎖,生產(chǎn)者進(jìn)行P操作,發(fā)現(xiàn)滿,一直阻塞在P里,然后消費(fèi)者無法進(jìn)行臨界區(qū)的訪問,結(jié)果也阻塞


多生產(chǎn)者多消費(fèi)者


生產(chǎn)者的動(dòng)作:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?消費(fèi)者動(dòng)作 ? ?
1 生產(chǎn)產(chǎn)品???????????????????????????????????????????????????????????????????????????????? 1檢查產(chǎn)品數(shù)量
2 檢查緩沖區(qū)的是否為空? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3?拿走緩沖區(qū)的產(chǎn)品
4把產(chǎn)品放入緩沖區(qū)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 5更新緩沖區(qū)
6更新產(chǎn)品數(shù)量? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?6?吃掉產(chǎn)品
不用設(shè)置互斥信號(hào)量的原因



吸煙者問題

ex:他的這個(gè)分析 十分清晰,首先 關(guān)注有幾對(duì)同步關(guān)系,設(shè)置相應(yīng)的信號(hào)量
????????????????????????????????????????????? ? 1——>多
????????????????????????????????????????????????多?——>1

讀者寫者問題


ex: 讀進(jìn)程優(yōu)先,寫進(jìn)程會(huì)餓死
解決

ex:
1 增加一個(gè)信號(hào)量W
2在寫進(jìn)程前后添加p(w) v(w)實(shí)現(xiàn)寫
3 在讀進(jìn)程前后添加p(w) v(w)實(shí)現(xiàn)寫進(jìn)程優(yōu)先
毒邪毒(讀寫讀)
寫進(jìn)程會(huì)阻塞在p(rw) 處等待讀進(jìn)程v(rw)
哲學(xué)家進(jìn)餐:


0 生產(chǎn)和 消費(fèi)之前,我都得檢查一下 產(chǎn)品的數(shù)量 full or 0 都偶得阻塞 等待 signal(full) 以及 signal(empty)
1 并發(fā)生產(chǎn),編譯器函數(shù)阻塞,實(shí)現(xiàn)有先后順序
2兩個(gè)消費(fèi)者 ,阻塞在wait(empty),
if(我生產(chǎn)的是第一產(chǎn)品 那么我得喚醒一下阻塞的empty)
同樣的
if(我消費(fèi)的是第一個(gè)產(chǎn)品,那么我得喚醒一下阻塞的full)

銀行家算法

