**:
1、構成死鎖的必要條件是什麼,如何檢測死鎖,解除死鎖?
作業系統中有若干程序併發執行,它們不斷申請、使用、釋放系統資源,雖然系統的程序協調、通訊機構會對它們進行控制,但也可能出現若干程序都相互等待對方釋放資源才能繼續執行,否則就阻塞的情況。此時,若不借助外界因素,誰也不能釋放資源,誰也不能解除阻塞狀態。根據這樣的情況,作業系統中的死鎖被定義為系統中兩個或者多個程序無限期地等待永遠不會發生的條件,系統處於停滯狀態,這就是死鎖。產生死鎖的原因主要是:
(1) 因為系統資源不足。
(2) 程序執行推進的順序不合適。
(3) 資源分配不當等。
如果系統資源充足,程序的資源請求都能夠得到滿足,死鎖出現的可能性就很低,否則就會因爭奪有限的資源而陷入死鎖。其次,程序執行推進順序與速度不同,也可能產生死鎖。
產生死鎖的四個必要條件:
(1) 互斥條件:乙個資源每次只能被乙個程序使用。
(2) 請求與保持條件:乙個程序因請求資源而阻塞時,對已獲得的資源保持不放。
(3) 不剝奪條件:程序已獲得的資源,在末使用完之前,不能強行剝奪。
(4) 迴圈等待條件:若干程序之間形成一種頭尾相接的迴圈等待資源關係。
這四個條件是死鎖的必要條件,只要系統發生死鎖,這些條件必然成立,而只要上述條件之一不滿足,就不會發生死鎖。
死鎖的解除與預防:
理解了死鎖的原因,尤其是產生死鎖的四個必要條件,就可以最大可能地避免、預防和解除死鎖。所以,在系統設計、程序排程等方面注意如何不讓這四個必要條件成立,如何確定資源的合理分配演算法,避免程序永久佔據系統資源。此外,也要防止程序在處於等待狀態的情況下占用資源。因此,對資源的分配要給予合理的規劃。
2、畫出星形、樹形、總線形、環形網路拓撲結構,並寫出星形、總線形網路拓撲結構的特點。
最後乙個是匯流排型。
星形網路拓撲結構:以一台中心處理機(通訊裝置)為主而構成的網路,其它入網機器僅與該中心處理機之間有直接的物理鏈路,中心處理機採用分時或輪詢的方法為入網機器服務,所有的資料必須經過中心處理機。
星形網的特點:
(1)網路結構簡單,便於管理(集中式);
(2)每台入網機均需物理線路與處理機互連,線路利用率低;
(3)處理機負載重(需處理所有的服務),因為任何兩台入網機之間交換資訊,都必須通過中心處理機;
(4)入網主機故障不影響整個網路的正常工作,中心處理機的故障將導致網路的癱瘓。
適用場合:區域網、廣域網。
匯流排網的特點:
(1)多台機器共用一條傳輸通道,通道利用率較高;
(2)同一時刻只能由兩台計算機通訊;
(3)某個結點的故障不影響網路的工作;
(4)網路的延伸距離有限,結點數有限。
適用場合:區域網,對實時性要求不高的環境。
3、寫sql語句。給出學生基本資訊表(學號,姓名,年齡)、選課成績表(學號、課程號、成績),用sql語句找出沒有選擇課程號=1012的學生的學號和姓名。
答:select 學號,姓名 from 學生表s where s.學號 not in (select 學號 from 成績表g where g.課程號='1012')
4、給出一段c語言程式,寫出該程式的輸出結果。
[cpp]view plain
copy
print?
void main()
; int i,j,k;
for(i = 0;i
}[cpp]view plain
copy
?void main()
; int i,j,k;
for(i = 0;i
}
void main()
; int i,j,k;
for(i = 0;i < 5; i ++)
}
輸出結果:
由星號組成的平行四邊形
5、給出一段c語言程式,寫出該程式的功能。
[cpp]view plain
copy
print?
void main()
if(a > c)
if(b > c)
printf("%d,%d,%d\n",a,b,c);
}
[cpp]view plain
copy
?void main()
if(a > c)
if(b > c)
printf("%d,%d,%d\n",a,b,c);
}
void main()
if(a > c)
if(b > c)
printf("%d,%d,%d\n",a,b,c);
}
功能:從鍵盤讀入三個數,按由小到大的順序輸出。
6、給出表示式的中綴式,寫出它的字尾式。
a*(b+c)*d-e
a^b^c/d
-a+b*c+d/e
(a+b)*c-e/(f+g/h)-d
8/(5+2)-6
分別寫出它們的字尾式。
字尾式:
abc+*d*e-
ab^cd/^
-abc*+de/+
ab+c*efgh/+/-d-
852+/6-
7、給出a,b,c,d,e,f 6個字母各自出現的概率,分別為0.19,0.26,0.15,0.07,0.25,0.08,寫出它的最優二進位制編碼,並畫出最優二叉樹和計算出平均碼長。
哈夫曼編碼如下:
a 10
b 01
c 001
d 0000
e 11
f 0001
二叉樹:
平均碼長:0.19*2+0.26*2+0.15*3+0.07*4+0.25*2+0.08*4 = 2.45
計算機經典筆試題2
2 網路知識 2.1 osi和tcp ip 1.的七層網路結構圖 功能及特點 osi 1 物理層 為資料鏈路層提供物理連線,在其上序列傳送位元流,即所傳送資料的單位是位元。此外,該層中還具有確定連線裝置的電氣特性和物理特性等功能。2 資料鏈路層 負責在網路節點間的線路上通過檢測 流量控制和重發等手段...
計算機經典筆試題3
3 高質量程式設計c c 一 請填寫bool float,指標變數與 零值 比較的 if 語句。10 分 請寫出 bool flag 與 零值 比較的 if 語句。3 分 標準答案 if flag if flag 如下寫法均屬不良風格,不得分。if flag true if flag 1 if fl...
計算機專業學生
覺得進大學裡職業或是學習必須要有乙個很好的規劃 要不然真的會浪費很多時間在一些無謂的事情上 自己需要有個明確的目標,否則真的會錯失方向 我知道不要太浮躁,很容易被一些表面上的東西 step by step 1.將你的課程擴大,實用化,跟上市場和企業的要求。2 學習招聘中的要求。3 組織你的知識體系 ...