3、正在執(zhí)行的進(jìn)程調(diào)用了P原語(yǔ)操作,從而因資源不足而被阻塞;或調(diào)用了V原語(yǔ)操作激活了等待資源的進(jìn)程隊(duì)列;
4、執(zhí)行中的進(jìn)程提出I/O請(qǐng)求后被阻塞;
5、在分時(shí)系統(tǒng)中時(shí)間片已經(jīng)用完;
以上都是CPU為不可剝奪方式下的引起進(jìn)程調(diào)度的原因。在CPU方式是可剝奪時(shí),還有下面的原因:
6、就緒隊(duì)列中的某個(gè)進(jìn)程的優(yōu)先級(jí)變得高于當(dāng)前運(yùn)行進(jìn)程的優(yōu)先級(jí),從而也將引起進(jìn)程調(diào)度。
⑶ 時(shí)間片輪轉(zhuǎn)算法的基本 思想 是什么?
答:時(shí)間片輪轉(zhuǎn)法主要是分時(shí)系統(tǒng)中使用的一種調(diào)度算法。輪轉(zhuǎn)法的基本思想是:將CPU的處理時(shí)間劃分成一個(gè)個(gè)時(shí)間片,就緒隊(duì)列中的諸進(jìn)程輪流運(yùn)行一個(gè)時(shí)間片。當(dāng)時(shí)間片結(jié)束時(shí),就強(qiáng)迫運(yùn)行進(jìn)程讓出CPU,該進(jìn)程進(jìn)入就緒隊(duì)列,等待下一次調(diào)度。同時(shí),進(jìn)程調(diào)度又去選擇就緒隊(duì)列中的一個(gè)進(jìn)程,分配給它一個(gè)時(shí)間片,以投入運(yùn)行。
⑷ 時(shí)間片的大小對(duì)系統(tǒng)有什么影響?在選取時(shí)間片是應(yīng)考慮哪些因素?
答:在輪轉(zhuǎn)法中,時(shí)間片長(zhǎng)度的選取非常重要,將直接影響系統(tǒng)開(kāi)銷和響應(yīng)時(shí)間。如果時(shí)間片長(zhǎng)度很小,則調(diào)度程序剝奪處理機(jī)的次數(shù)頻繁,加重系統(tǒng)開(kāi)銷;反之,如果時(shí)間片長(zhǎng)度選擇過(guò)長(zhǎng),比方說(shuō)一個(gè)時(shí)間片就能保證就緒隊(duì)列中所有進(jìn)程都執(zhí)行完畢,則輪轉(zhuǎn)法就退化成先進(jìn)先出算法。
影響時(shí)間片大小的主要因素有:系統(tǒng)響應(yīng)時(shí)間、就緒進(jìn)程數(shù)目和計(jì)算機(jī)處理能力
問(wèn)題三:
⑴ 進(jìn)程的概念
答:進(jìn)程是具有一定獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。
⑵ 進(jìn)程與程序有哪些區(qū)別和聯(lián)系?
答:聯(lián)系:
程序是構(gòu)成進(jìn)程的組成部分之一。一個(gè)進(jìn)程的運(yùn)行目標(biāo)就是執(zhí)行它所對(duì)應(yīng)的程序,如果沒(méi)有程序,進(jìn)程就失去了其實(shí)際存在的意義。
從靜態(tài)的角度看,進(jìn)程是由程序、數(shù)據(jù)和進(jìn)程控制塊(PCB)三部分組成。
區(qū)別:
程序是靜態(tài)的,而進(jìn)程是動(dòng)態(tài)的;
程序的存在是永久的,進(jìn)程的存在是暫時(shí)的,動(dòng)態(tài)的產(chǎn)生和消亡;
一個(gè)進(jìn)程可以執(zhí)行一個(gè)或幾個(gè)程序,一個(gè)程序亦可以構(gòu)成多個(gè)進(jìn)程;
進(jìn)程具有創(chuàng)建其它進(jìn)程的功能。
⑶ 進(jìn)程有哪些特性?
答:進(jìn)程如有以下特性:1、動(dòng)態(tài)性;2、獨(dú)立性;3、并發(fā)性;4、交往性;5、異步性
⑷ 試述進(jìn)程的三種狀態(tài)及其相互轉(zhuǎn)化
略。
問(wèn)題四:
⑴ 什么是死鎖?用什么來(lái)描述?(資源分配圖)
答:在多道程序系統(tǒng)中,一組進(jìn)程中的每一個(gè)進(jìn)程均無(wú)限期地等待被該組進(jìn)程中的另一進(jìn)程所占有且永遠(yuǎn)不會(huì)釋放的資源,這種現(xiàn)象稱系統(tǒng)處于死鎖狀態(tài)。
進(jìn)程的死鎖問(wèn)題可以用有向圖更加準(zhǔn)確而形象地描述,這種有向圖稱為資源分配圖。
在有向圖中,用圓圈表示進(jìn)程,用方框表示每類資源,方框中的圓點(diǎn)表示各個(gè)單位資源。 申請(qǐng) 邊為從進(jìn)程到資源的有向邊,表示進(jìn)程申請(qǐng)一個(gè)資源單位,但當(dāng)前該進(jìn)程在等待資源。分配邊為從資源到進(jìn)程的有向邊,表示一個(gè)資源單位分配給進(jìn)程。申請(qǐng)邊僅能指向方框,表示申請(qǐng)時(shí)不指定哪一個(gè)資源實(shí)例,而分配邊必須由方框中的圓點(diǎn)引出,表明哪一個(gè)資源實(shí)例已被占有。
可以證明,如果資源分配圖中沒(méi)有環(huán)路,則系統(tǒng)中沒(méi)有死鎖;如果圖中存在環(huán)路,則系統(tǒng)中可能存在死沒(méi)。
⑵ 產(chǎn)生死鎖的原因及必要條件是什么?
答:產(chǎn)生死鎖的原因:一是系統(tǒng)提供的資源數(shù)量有限,不能滿足每個(gè)進(jìn)程的使用;二是多道程序運(yùn)行時(shí),進(jìn)程推進(jìn)順序不合理。
產(chǎn)生死鎖的必要條件是:1、互斥條件;2、不可剝奪條件(不可搶占);3、部分分配;4、循環(huán)等待。
⑶ 如何預(yù)防死鎖?
答:根據(jù)產(chǎn)生死鎖的四個(gè)必要條件,只要使其中之一不能成立,死鎖就不會(huì)出現(xiàn)。為此,可以采取下列三種預(yù)防措施:
1、采用資源靜態(tài)分配策略,破壞“部分分配”條件;
2、允許進(jìn)程剝奪使用其他進(jìn)程占有的資源,從而破壞“不可剝奪”條件;
3、采用資源有序分配法,破壞“環(huán)路”條件。
⑷ 如何避免死鎖?
答:死鎖的避免不嚴(yán)格地限制死鎖的必要條件的存在,而是系統(tǒng)在系統(tǒng)運(yùn)行過(guò)程中小心地避免死鎖的最終發(fā)生。最著名的死鎖避免算法是銀行家算法。死鎖避免算法需要很大的系統(tǒng)開(kāi)銷。
⑸ 如何檢測(cè)死鎖?
答:解決死鎖的另一條途徑是死鎖檢測(cè)方法,這種方法對(duì)資源的分配不加限制,即允許死鎖的發(fā)生。但系統(tǒng)定時(shí)地運(yùn)行一個(gè)“死鎖檢測(cè)”程序,判斷系統(tǒng)是否已發(fā)生死鎖,若檢測(cè)到死鎖發(fā)生則設(shè)法加以解除。
⑹ 如何解除死鎖?
答:常常采用下面兩種方法:
1、資源剝奪法;2、撤消進(jìn)程法
操作系統(tǒng)整章問(wèn)題及解答!
希望與更多計(jì)算機(jī)等級(jí)考試的網(wǎng)友交流,請(qǐng)進(jìn)入計(jì)算機(jī)等級(jí)考試論壇
更多信息請(qǐng)?jiān)L問(wèn):考試吧計(jì)算機(jī)等級(jí)考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |