97超级碰碰碰久久久_精品成年人在线观看_精品国内女人视频免费观_福利一区二区久久

操作系統(tǒng)面試題準(zhǔn)備

時(shí)間:2022-07-11 19:11:13 面試 我要投稿
  • 相關(guān)推薦

操作系統(tǒng)面試題準(zhǔn)備

就只準(zhǔn)備了進(jìn)程線程之類的,再深了一時(shí)半會(huì)也搞不定了。

操作系統(tǒng)面試題準(zhǔn)備

1.進(jìn)程

現(xiàn)在操作系統(tǒng)的特點(diǎn):保證安全前提下,程序并發(fā)執(zhí)行,以及系統(tǒng)所擁有的資源被共享和用戶隨機(jī)使用系統(tǒng)。

進(jìn)程是一個(gè)程序?qū)δ硞(gè)數(shù)據(jù)集的執(zhí)行過程,是分配資源的基本單位。

進(jìn)程的靜態(tài)描述有:進(jìn)程由三部分組成:程序,數(shù)據(jù)集合和進(jìn)程控制塊(pCB)。

程序表示要完成的功能,數(shù)據(jù)集合表示程序運(yùn)行時(shí)的數(shù)據(jù)部分和工作區(qū)。這二者是進(jìn)程的物質(zhì)基礎(chǔ)。

如果一個(gè)程序是多進(jìn)程同時(shí)共享執(zhí)行,則為不可修改的部分,表現(xiàn)為純碼的形式,數(shù)據(jù)集合為為一個(gè)進(jìn)程獨(dú)用,為可以修改部分。

pCB進(jìn)程控制塊,表示了進(jìn)程的描述信息、控制信息和資源信息,是進(jìn)程動(dòng)態(tài)特性的集中反應(yīng)。是系統(tǒng)感知進(jìn)程的唯一實(shí)體,一個(gè)進(jìn)程的pCB全部或者部分常駐內(nèi)存。

pCB包含的控制信息中有進(jìn)程的當(dāng)前狀態(tài)。

進(jìn)程的的狀態(tài)只有五種狀態(tài):初始態(tài),就緒態(tài),執(zhí)行態(tài),等待狀態(tài)和終止?fàn)顟B(tài)。

運(yùn)行:進(jìn)程已經(jīng)分配到處理機(jī),程序正由處理機(jī)執(zhí)行。

等待:進(jìn)程因?yàn)榈却骋皇录鴷簳r(shí)不能運(yùn)行的狀態(tài)。

就緒:進(jìn)程已具備執(zhí)行條件,但是因?yàn)樘幚頇C(jī)已由其他進(jìn)程占用,所以暫時(shí)不能執(zhí)行而等待分配處理機(jī)。

互斥和同步

互斥:一組并發(fā)進(jìn)程中的一個(gè)或者多個(gè)程序段,因共享某一公有資源而導(dǎo)致它們必須以一個(gè)不允許交叉執(zhí)行的單位執(zhí)行。不允許兩個(gè)及以上的共享該資源的并發(fā)進(jìn)程同時(shí)進(jìn)入臨界區(qū)。

臨界區(qū):不允許多個(gè)并發(fā)進(jìn)程交叉執(zhí)行的一段程序稱為臨界區(qū)。

1、臨界區(qū)的鎖操作方法:給每個(gè)臨界區(qū)設(shè)置一把鎖,有兩個(gè)狀態(tài),打開或者關(guān)閉。步驟如下:關(guān)鎖操作,如果鎖開著就關(guān)閉,如果鎖關(guān)閉則等待打開;執(zhí)行臨界區(qū)程序;開鎖操作,將鎖打開,退出臨界區(qū)。某個(gè)進(jìn)程進(jìn)入臨界區(qū)會(huì)檢測鎖是否打開,如果關(guān)閉則等待打開。

上鎖實(shí)現(xiàn)互斥,缺點(diǎn):影響系統(tǒng)可靠性和效率,比如多并發(fā),每個(gè)進(jìn)程都要測試臨界區(qū)鎖狀態(tài),開銷很大。存在cpu浪費(fèi)和不公平現(xiàn)象。

2、“信號量”

信號量,sem為與臨界區(qū)內(nèi)所使用的公用資源有關(guān)的信號量。

p表示sem-1,V則sem+1,多進(jìn)程并發(fā)時(shí),和上鎖不一樣,如果無法使用臨界區(qū),不是再次檢測,而是進(jìn)入等待隊(duì)列。sem>=0,表示可供并發(fā)進(jìn)程使用的資源實(shí)體數(shù);sem<0,等待使用臨界區(qū)的進(jìn)程數(shù)。

p:(1)sem=sem-1(2)sem>=0,p返回,進(jìn)程繼續(xù)執(zhí)行(3)sem<0,進(jìn)程被阻塞后與該信號相對應(yīng)的隊(duì)列中。

V:(1)sem=sem+1(2)sem>0,V停止執(zhí)行,進(jìn)程返回調(diào)用處,繼續(xù)執(zhí)行(3)sem<=0,從該信號的隊(duì)列中喚醒一等待進(jìn)程,然后再返回原進(jìn)程繼續(xù)執(zhí)行或轉(zhuǎn)進(jìn)程調(diào)度。

pV操作對于每一個(gè)進(jìn)程來說,都只能進(jìn)行一次,而且必須成對使用。在pV原語執(zhí)行期間不允許有中斷的發(fā)生。

pV實(shí)現(xiàn)互斥:(1)sem初始值為1(2)進(jìn)程p1進(jìn)入臨界區(qū),執(zhí)行p操作,sem=0,進(jìn)程進(jìn)入臨界區(qū)執(zhí)行(3)進(jìn)程p2進(jìn)入臨界區(qū),執(zhí)行p操作,sem=-1,p2被阻塞,進(jìn)入信號對應(yīng)等待隊(duì)列(4)p1執(zhí)行V操縱,sem=0,喚醒p2進(jìn)入就緒隊(duì)列,進(jìn)行調(diào)度,進(jìn)入臨界區(qū)(5)p2執(zhí)行V操作,sem=1,恢復(fù)初始狀態(tài)。

同步:把異步環(huán)境下的一組并發(fā)進(jìn)程,因直接制約而互相發(fā)送消息而進(jìn)行互相合作、互相等待,使得各進(jìn)程按一定的速度執(zhí)行的過程稱為進(jìn)程間的同步。

 

3.進(jìn)程,線程,作業(yè),程序。

作業(yè):是用戶需要計(jì)算機(jī)完成的某項(xiàng)任務(wù),而要求計(jì)算機(jī)所作工作的集合。

進(jìn)程:是一個(gè)程序?qū)δ硞(gè)數(shù)據(jù)集的執(zhí)行過程,是分配資源的基本單位。

程序:描述計(jì)算機(jī)所要完成的獨(dú)立功能,并在時(shí)間上嚴(yán)格得按照前后次序相機(jī)地進(jìn)行計(jì)算機(jī)操作序列集合,是一個(gè)靜態(tài)的概念。

線程:是在進(jìn)程內(nèi)調(diào)度和占有處理機(jī)的基本單位。由于線程比進(jìn)程更小,基本上不擁有系統(tǒng)資源,故對它的調(diào)度所付出的開銷就會(huì)小得多,能更高效的提高系統(tǒng)內(nèi)多個(gè)程序間并發(fā)執(zhí)行的程度。

進(jìn)程和程序:

進(jìn)程是程序的一次運(yùn)行活動(dòng),是動(dòng)態(tài)的,程序是靜態(tài)指令;

一個(gè)進(jìn)程可以執(zhí)行一個(gè)或者多個(gè)程序,同一程序也可由多個(gè)進(jìn)程執(zhí)行;

程序作為資源長期保留,進(jìn)程則是執(zhí)行過程,是暫時(shí)的。

進(jìn)程和線程:

進(jìn)程是資源管理的基本單位;線程是處理機(jī)調(diào)度的基本單位。

以進(jìn)程為單位進(jìn)行處理機(jī)切換和調(diào)度,切換時(shí)間長,資源利用率低;線程為單位,不發(fā)生資源變化,切換實(shí)踐短,效率高。

進(jìn)程和作業(yè):

 


4.哲學(xué)家就餐:

有五個(gè)哲學(xué)家圍坐在一圓桌旁,桌中央有一盤通心粉,每人面前有一只空盤子,每兩人之間放一只筷子每個(gè)哲學(xué)家的行為是思考,感到饑餓,然后吃通心粉.為了吃通心粉,每個(gè)哲學(xué)家必須拿到兩只筷子,并且每個(gè)人只能直接從自己的左邊或右邊去取筷子,任一哲學(xué)家在自己未拿到兩支筷子吃飯前,絕不放下手中的筷子。

(1)保證不會(huì)出現(xiàn)兩個(gè)鄰座同時(shí)要求吃飯

思路:鄰座使用筷子時(shí)的進(jìn)程互斥,使用信號量。設(shè)定五個(gè)信號量,初始為1,表示對應(yīng)編號的筷子,有人使用,信號量執(zhí)行p操作,鄰座需要使用筷子時(shí),對兩側(cè)的筷子均執(zhí)行p操作,進(jìn)入等待隊(duì)列。吃完后,執(zhí)行V操作,鄰座進(jìn)入就緒狀態(tài),可以開始就餐。

會(huì)出現(xiàn)問題,就是每人都拿一個(gè)筷子,誰也吃不上的死鎖。

(2)既沒有兩鄰座同時(shí)吃飯又沒人餓死

思路:奇數(shù)號的哲學(xué)家先取右手的筷子,偶數(shù)號的先取左手的。然后還是使用信號量實(shí)現(xiàn)互斥。

5.死鎖

若干進(jìn)程競爭使用資源,如果每個(gè)進(jìn)程都占有了一定資源,又申請使用已被另一進(jìn)程占用且不能搶占的資源,則所有的進(jìn)程將紛紛進(jìn)入等待狀態(tài),不能繼續(xù)運(yùn)行。這種情況叫做死鎖。

產(chǎn)生死鎖的原因主要是:(1) 因?yàn)橄到y(tǒng)資源不足。(2) 進(jìn)程運(yùn)行推進(jìn)的順序不合適。(3)資源分配不當(dāng)?shù)。根本原因在于系統(tǒng)提供的資源數(shù)小于并發(fā)進(jìn)程所要求的該類資源數(shù)。

產(chǎn)生死鎖的四個(gè)必要條件:(1) 互斥條件:一個(gè)資源每次只能被一個(gè)進(jìn)程使用。(2)部分分配:進(jìn)程每次申請它所需要的一部分資源,在等待新資源的同時(shí),繼續(xù)占用已分配到的資源。(3)不剝奪條件:進(jìn)程已獲得的資源,在末使用完之前,不能強(qiáng)行剝奪。(4)環(huán)路條件:存在進(jìn)程循環(huán)鏈,鏈中每個(gè)進(jìn)程已獲得的資源同時(shí)被下一個(gè)進(jìn)程所請求。

解決死鎖:

預(yù)防:采用策略,是的四個(gè)必要條件在系統(tǒng)執(zhí)行的任何時(shí)間均不滿足。

避免:動(dòng)態(tài)分配資源,避免死鎖。

恢復(fù):檢測死鎖的位置和原因,通過外力破壞死鎖發(fā)生的必要條件。

【操作系統(tǒng)面試題準(zhǔn)備】相關(guān)文章:

c面試題08-04

做家教的準(zhǔn)備07-24

準(zhǔn)備期末演講12-28

求職準(zhǔn)備(著裝)04-20

專題演講的準(zhǔn)備04-17

考試準(zhǔn)備作文09-01

星巴克面試題目07-18

軟件測試面試題及答案12-30

實(shí)用必備綜合素質(zhì)面試題02-16

博彥科技測試面試題03-22