(1)

解析:
fork()函數的傳回值,若成功調用一次則傳回兩個值,子程序傳回0,父程序傳回子程序标記;否則,出錯傳回-1。
假設程式正确運作并建立子程序成功:子程序中pid得到傳回值為0,父程序中pid得到傳回值為子程序号,父程序執行一次輸出,子程序執行一次輸出。
故輸出兩行Hello World。
(2)
假設程式正确運作并建立子程序成功:子程序得到傳回值為0,父程序得到傳回值為子程序号,父程序執行一次輸出,子程序執行一次輸出,加上fork()函數前面的語句,輸出一行Hello World。
故輸出三行Hello World。
(3)
假設程式正确運作,建立一個子程序得到傳回值為0,輸出 I am the child process,my process ID is 3744 ;父程序得到傳回值為子程序号,父程序執行一次輸出 I am the parent process,my process ID is 3987 。
故改程式正确運作後的結果是 I am the child process,my process ID is 3744I am the parent process,my process ID is 3987
缺頁中斷次數=頁框數 × 頁面置換次數。
由程式可知,每次内層循環周遊了100個整形變量,是以頁框數=$\frac{100}{50}$ = 2;外層循環有50次,是以頁面置換次數為50。
缺頁中斷次數 = 2 × 50 =100次。
會産生100次缺頁中斷。
最佳頁面置換法的原則:保留最近重複通路的頁面,将以後都不再通路或者很長時間内不再通路的頁面調出。
根據題中所給的程序通路序列,可可得到以下置換圖:
故缺頁次數為7。
LRU置換算法的規則:将最近最久未被通路的頁面置換出去。
由題意可得:
顯而易見,共缺頁11次,是以缺頁率為11/15≈73%。
故該程序的缺頁率為73%。
由題意可得,記憶體空閑區有:
由配置設定後的記憶體情況:
可知,此方法首先使用了滿足條件的最大空閑區,這是最差适配的特點。
故此為最差适配。
可知,此方法首先使用了滿足條件的最小空閑區,這是最佳适配的特點。
故此為最佳适配。
可知,此方法首先使用了滿足條件的低位址的空閑區,這是首次适配的特點。
故此為首次适配。
(4)
可知,此方法并沒有配置設定任何空閑區,這是下次适配的特點。
故此為下次适配。
UNIX系統中,檔案權限規則:A1A2A3,A1代表檔案屬主,A2代表同組使用者,A3代表其他使用者。其中A=a×4+b×2+c,若a=1,則為可讀,b=1,則為可寫,c=1,則為可執行。
由題意可知,A1為7=1×4+1×2+1,則a=b=c=1,是以,檔案屬主可讀、可寫、可執行File1;A2為5=1×4+0×2+1,則a=c=1,是以,同組使用者可讀、可執行;A3為5=1×4+0×2+1,則a=c=1,是以,其他使用者可讀、可執行。
故檔案屬主可執行File1,檔案屬主可讀File1,同組使用者可執行File1,其他使用者可讀File1。
安全序列是指對目前申請資源的程序排出一個序列,保證按照這個序列配置設定資源完成程序。我們假設有程序P1,P2,.....Pn,則安全序列要求滿足:Pi(1<=i<=n)需要資源<=剩餘資源 + 配置設定給Pj(1 <= j < i)資源。
解題思路:首先根據系統狀态列出各程序需要的資源;然後根據目前系統剩餘資源,找到一個需要資源不大于剩餘資源的程序,此時,系統剩餘資源就是可用資源;然後此程序的已配置設定資源加上可用資源,為新的可用資源,并繼續與下一個程序的需要資源比較,以此類推寫出安全序列。
由于安全序列的不唯一性,針對做題來說,還是根據選項去反推本序列是否安全更合适。
如:
目前系統剩餘資源(2,3,3)
A,P3需要(2,1,1)<(2,3,3)滿足,則可用資源變為(4,4,7);P1需要(0,0,6)<(4,4,7)滿足,則可用資源變為(8,4,12);P4需要(3,4,7)<(8,4,12)滿足,則可用資源變為(10,5,14);P2需要(1,3,4)<(10,5,14)滿足,則可用資源變為(14,5,16);P5需要(1,1,1)<(14,5,16)滿足,則可用資源變為(15,6,17)。
故P3,P1,P4,P2,P5。
0BFFFFH-0A0000H=1FFFFH=131071;
131071÷(16×1024)=7。
故應使用8片。
8259A的IR0~IR7用來接收外設的中斷信号,1片最多可以有8級中斷;晶片級聯時,需要留出一個口接con從片,是以9片晶片級聯後有隻有最後一片是8個口接收中斷信号,其他8片都是7個口,是以8+8×7=64級。
故可以使CPU的kepingbizh可屏蔽中斷最多擴充到64級。
ICW2是設定中斷類型碼的初始化指令字,其高5位設定中斷類型碼,低3位自動插入IR的編碼。
由題意可知, ICW2 = 83H = 10000011B,是以 IR2 的中斷類型碼為10000, 低3位編碼為010,即中斷類型碼為10000010B = 82H。
故8259A發給CPU的中斷類型碼是82H。
8255A方式控制字:
D7=1;
D6D5=00;
D4=0;
D3D2D1D0=xxxx;
即控制字為1000xxxx B=8xH。
故控制字應該設定為80H/81H/88H。
8255A口C按位置位/複位控制字
由題意可知,端口B工作在方式1,且用$ INRT_B $向外發出中斷,是以PC2口置1,即D3D2D1=010,又因為端口B作為輸入,是以C口置1,即D0=1。
故正确的置位/複位控制字為05H。
8253的控制字:
由計數器1可得:D7D6=01;
由計數值266,且計數器1是16位計數器,是以:D5D4=11;
由工作在模式3可得:D3D2D1=x10;D0=x;
即控制字為0111x10x B,是以可能為76H/7EH。
故控制字應該設定為76H/7EH。
8252工作在模式2時是作為速率波發生器使用,計數器在減“1”計數過程中,GATE變為無效(輸入0電平),則暫停減“1”計數,待GATE恢複有效後,從初值n開始重新計數。
由題意可知,時鐘速率為20KHz,要想保證沒10ms發出一個信号,則計數值應為20KHz×10ms=200。
故正确的計數值是200。
8251A的異步方式控制字:
由一位停止位可得:D7D6=01;
由奇校驗可得:D5D4=01;
由字元長度為8位可得:D3D2=11;
由16分頻可得:D1D0=10;
即控制字為01011110B。
故應向其模式控制寄存器寫入5EH。
SCAN排程算法的規則:比磁頭大的序列升序通路,比磁頭小的序列降序通路。
比磁頭大的序列升序排序:110,170,180,195;
比磁頭小的序列降序排序:68,45,35,12。
故采用SCAN算法得到的磁道通路序列是:110,170,180,195,68,45,35,12。
SSF排程算法的規則:先請求離磁頭最近的磁道的通路,然後就近通路,以此類推。
故采用SSF算法得到的磁道通路序列是:110,68,45,35,12,170,180,195。
FCFS排程算法的規則:按照通路請求次序為各程序服務。
故采用FCFS算法得到的磁道通路序列是:35,45,12,68,110,180,170,195。
信号量,可以被一個線程釋放,另一個線程擷取,多線程同步。
mutex,用于線程互斥,其對象值隻能為0和1~值0,表示鎖定狀态,目前對象被鎖定,使用者線程或程序如果試圖Lock臨界資源,則進入排隊等待;值1,表示空閑狀态,目前對象為空閑,使用者線程或程序可以Lock臨界資源,之後mutex值減1變為0。
mutex的初值為1,說明同時隻允許一個程序進入臨界區,則有一個程序在臨界區;
k個程序在等待隊列中,則有k個程序在等待區;
是以一共有1+k個程序,每個程序都通路mutex時,mutex的值都減1,即,此時mutex的值為1-(1+k)=-k;
故信号量的值為-K。
頁面數=$frac{頁表記憶體}{頁面大小}$;
頁表記憶體=頁表項個數 × 實體頁号;
頁表項個數=$frac{虛拟位址空間}{頁面大小}$(計算過程注意機關統一)
代入資料:頁表項個數=$\frac{2*1024*1024}{4}$ 個;
故頁表需要占用512個頁面。
沒有成組操作時,塊使用率=$frac{塊使用大小}{塊大小}$ × 100%。
每個邏輯記錄為80個字元,是以塊使用大小為80;每個塊大小為1024個字元。
即沒有成組操作時,塊使用率= $\frac{80}{1024}$ × 100% ≈ 8% 。
故磁盤的空間使用率是 8% 。
成組操作時,快使用率=$frac{塊使用大小×塊因子}{塊大小}$ × 100%。
每個邏輯記錄為80個字元,是以塊使用大小為80;每個塊大小為1024個字元,塊因子為12。
即成組操作時,塊使用率= $frac{80×12}{1024}$ × 100% ≈ 94% 。
故磁盤的空間使用率是 94% 。
(5)
每個程序可申請資源數=$frac{總資源數}{總程序數}$。
由題意可得,$frac{總資源數}{總程序數}$ = $\frac{7}{3}$=2……1,是以有兩個程序可以擷取2個資源,一個程序擷取3個資源。
故每個程序最多可以申請的資源個數是3。
(6)
總線帶寬=總線頻率×總線寬度(注意機關)
代入資料可得,總線寬度=66MHZ × $\frac{32}{4}$ B =264MBps。
故總線的帶寬為264MBps。
(7)
在分頁式存儲管理方案的系統中,頁數 = $frac{邏輯位址}{記憶體塊大小}$ 。
由題意可得,頁數 = $\frac{ 2^{32} }{2^{10} }$ 。
故使用者程式最多可劃分成 $2^{22}$。
(8)
前10個索引項直接存放檔案資訊的實體塊号,直接索引,最多尋址10個實體塊;第11項指向一個實體塊,該塊中最多可放100個檔案實體塊的塊号,第一次間接索引;第12個索引項是第二次間接索引,最多可尋址100100個實體塊。是以,總實體塊數為:10+100+100100=10110。
故一個檔案最多為10110塊。
(9)
啟動1次磁盤,直接索引1~10實體塊;啟動2次磁盤,一級索引11~110實體塊;啟動3次磁盤,二級索引111~10110實體塊。是以要通路第1000塊時,找到主索引後,需要啟動磁盤3次。
(10)
二次重疊控制方式的指令執行方式:
假設取指令、分析指令和執行指令的時間都相等,每段的時間都為t,執行一條指令的時間T=$t_取指令$+$t_分析指令$+$t_執行指令$。如果我們把取第k+1條指令所用的時間,提前到與分析第k條指令同時進行,那麼分析第k+1條指令會與執行第k條指令同時進行,則執行n條指令所用的時間是:T=3×t+(n-1)×t。
故所需執行的時間為:T=3×t+(n-1)×t。
(11)
在計算機中,浮點數隻用階碼和尾數表示:
。
浮點數的範圍由階碼的位數決定,精度由尾數決定。
由題意可知階碼是用補碼表示的,且共四位,其中一位是階符,是以階碼的最大值是7,是以由此表示的最大正數是$2^7$-1。
故規格化浮點數所能表示的最大整數是$2^7$-1。
(12)
對一級頁表而言,查頁表項的平均時間 = 快表查找時間 × 命中率 + 通路記憶體的時間 × (1-命中率)+1×通路記憶體的時間。
由題意可得:查頁表項的平均時間 = 0 +0.4us*(1-90%)+1×0.4us= 0.44us。
故有效通路時間是0.44us。
(13)
$2^{位址線條數}$= 存儲容量(直接尋址能力)。
由題意可得,$2^{位址線條數}$= 64GB =$2^6$ × $2^{30}$ = $2^{36}$。
故該處理器的位址線有36條。
(14)
由題意可知,VALB=30=1EH,是以(VALB AND 0FH) OR (VALB XOR 0FH)=(1EH & 0FH)|(1EH ⊕ 0FH)=1FH。
故表達式(VALB AND 0FH) OR (VALB XOR 0FH)的值為1FH。
(15)
在排程的過程中的,記憶體的變化如下:
标紅1号區,記憶體為320-224=96M;
标紅2号區,記憶體為224-120=104M;
标紅3号區,記憶體為1024-128-320-224-288=64M;
顯然1号空閑區記憶體最大。
故系統中剩餘的最大空閑分區是104M。
(16)
故存放資料07H的實體位址是200FEH。
(17)
由題意可得,共8個盤面,每個盤面有2500×80=200000個扇區。
邏輯号為385961,385961/200000≈1.929805,則在第2個盤面上,盤面号為1。
(385961 mod 200000)/80≈2324.5125,則在第2325個柱面上,柱面号為2324。
(385961 mod 200000)mod 80≈41,則在第41個扇區上,扇區号為40。
故該資料塊對應的盤面、柱面和扇區号各為1,2324,40。
(18)
在UNIX三級索引結構中,0-9項為直接索引,通路時共10個資料塊;第10項為一級間接索引,通路時共$2^{10}$個資料塊;第11項為二級間接索引,通路時共$2^{10}$×$2^{10}$個資料塊;第12項為三級間接索引,通路時共$2^{10}$×$2^{10}$×$2^{10}$個資料塊。
是以共有10+$2^{10}$+$2^{20}$+$2^{30}$個資料塊,又因為磁盤塊大小為4096B。
故該檔案系統中檔案的最大尺寸不能超過(10+$2^{10}$+$2^{20}$+$2^{30}$)×4096B。
(19)
首先計算出每個磁盤塊有檔案控制塊512/64=8,有256個檔案控制塊時,表明有256/8=32個磁盤塊。
在第一個磁盤塊需要通路磁盤一次,在第二個磁盤塊需要通路磁盤塊兩次,依次類推,是以平均有(1+2+3+...+32)÷32=33÷2=16.5次。
故查找該目錄檔案的某一個檔案控制塊的平均訪盤次數是16.5。
另附:
一般情況下的分析。若目錄檔案分解前占用n個磁盤塊,分解後用m個磁盤塊存放檔案名和檔案内部号,則推導出二者的表達式:
分解前,平均通路磁盤次數:(1+2+...+n)÷n=(n+1)2(1+2+...+n)÷n=(n+1)/2 ;
分解後,平均通路磁盤次數:(2+3+...+(m+1))÷m=(m+3)/2。
(20)
異步通信的資料格式如下:
由題意可得,
起始位:0;
5位資料位發送13H:10011;
偶校驗:1(13H有奇數個1,是以補1);
停止位:1;
又因為發送資料時,從低位開始發送,是以資料幀格式為11100110。
故發送資料13H到傳輸線上的資訊為E6H。
END!