




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上第五章輸入 /輸出 習(xí)題1.芯片技術(shù)的進(jìn)展已經(jīng)使得將整個控制器包括所有總線訪問邏輯放在一個便宜的芯片上成為可能。這對于圖1-5 的模型具有什么影響?答:(題目有問題,應(yīng)該是圖1-6 )在此圖中,一個控制器有兩個設(shè)備。單個控制器可以有多個設(shè)備就無需每個設(shè)備都有一個控制器。如果控制器變得幾乎是自由的,那么只需把控制器做入設(shè)備本身就行了。這種設(shè)計同樣也可以并行多個傳輸,因而也獲得較好的性能。2. 已知圖 5-1 列出的速度,是否可能以全速從一臺掃描儀掃描文檔并且通過802.1 lg 網(wǎng)絡(luò)對其進(jìn)行傳輸 ?請解釋你的答案。答:太簡單了。掃描儀最高速率為400 KB/Sec ,而
2、總線程和磁盤都為16.7專心-專注-專業(yè)MB/sec ,因此磁盤和總線都無法飽和。3.圖 5-3b 顯示了即使在存在單獨的總線用于內(nèi)存和用于I/O 設(shè)備的情況下使用內(nèi)存映射 I/O 的一種方法,也就是說,首先嘗試內(nèi)存總線,如果失敗則嘗試I/O總線。一名聰明的計算機(jī)科學(xué)專業(yè)的學(xué)生想出了一個改進(jìn)辦法:并行地嘗試兩個總線,以加快訪問I/O 設(shè)備的過程。你認(rèn)為這個想法如何?答:這不是一個好主意。內(nèi)存總線肯定比I/O 總線快。一般的內(nèi)存請求總是內(nèi)存總線先完成,而I/O 總線仍然忙碌。如果CPU 要一直等待 I/O 總線完成,那就是將內(nèi)存的性能降低為I/O 總線的水平。4.假設(shè)一個系統(tǒng)使用DMA 將數(shù)據(jù)從
3、磁盤控制器傳送到內(nèi)存。進(jìn)一步假設(shè)平均花費 t2ns 獲得總線,并且花費t1ns 在總線上傳送一個字(t1>>t2 )。在 CPU 對DMA 控制器進(jìn)行編程之后,如果(a)采用一次一字模式,(b)采用突發(fā)模式,從磁盤控制器到內(nèi)存?zhèn)魉?000 個字需要多少時間?假設(shè)向磁盤控制器發(fā)送命令需要獲取總線以傳輸一個字,并且應(yīng)答傳輸也需要獲取總線以傳輸一個字。答:( a) 1000 × (t1+t2)+(t1+t2)+(t1+t2);第一個 (t1+t2) 是獲取總線并將命令發(fā)送到磁盤控制器,第二個 (t1+t2) 是用于傳輸字,第三個 (t1+t2) 是為了確認(rèn)。總之,共 3000
4、× (t1+t2)納秒。( b) (t1+t2)+t1+1000× t2+(t1+t2),第一個 (t1+t2) 是獲取總線并將命令發(fā)送到磁盤控制器,第二個t1 是為磁盤控制器獲取總線,第三個1000 × t2是突發(fā)傳送,第第四個 (t1+t2) 是獲取總線并做確認(rèn)???t1+1002×。t25.假設(shè)一臺計算機(jī)能夠在10ns 內(nèi)讀或者寫一個內(nèi)存字, 并且假設(shè)當(dāng)中斷發(fā)生時,所有 32 位寄存器連同程序計數(shù)器和PSW 被壓人堆棧。該計算機(jī)每秒能夠處理的中斷的最大數(shù)目是多少?答:一次中斷需要入棧34 個字。而從中斷返回需要把34 個字從棧中取出。總耗時為 68
5、0 ns 。因此,每秒最多處理 147 萬次中斷,假設(shè)每次中斷什么也不做。6.CPU 體系結(jié)構(gòu)設(shè)計師知道操作系統(tǒng)編寫者痛恨不精確的中斷。取悅于OS 人群的一種方法是當(dāng)?shù)玫揭粋€中斷信號通知時,讓CPU 停止發(fā)射指令,但是允許當(dāng)前正在執(zhí)行的指令完成, 然后強(qiáng)制中斷。 這一方案是否有缺點?請解釋你的答案。答:當(dāng)前的處理器一般采用多級流水線操作,無法準(zhǔn)確地確定CPU 當(dāng)前正在執(zhí)行的指令是哪一條,所以停止讓CPU 發(fā)送指令后,需要等待把流水線中的指令全部執(zhí)行完成才能響應(yīng)中斷, 對于指令不按序執(zhí)行的處理器而言,會造成中斷響應(yīng)的不精確。7.在圖 5-9b 中,中斷直到下一個字符輸出到打印機(jī)之后才得到應(yīng)答。中
6、斷在中斷服務(wù)程序開始時立刻得到應(yīng)答是否同樣可行?如果是,請給出像本書中那樣在中斷服務(wù)程序結(jié)束時應(yīng)答中斷的一個理由。如果不是,為什么?答:在開始中斷服務(wù)例程時就確認(rèn)是可以的。而在最后才做的原因是因為中斷服務(wù)例程的代碼都非常短。 通過先輸出另一個字符和然后確認(rèn)該中斷,如果立即發(fā)生另一個中斷, 打印機(jī)將在此中斷期間工作,將使得打印稍快。 該方法的缺點是當(dāng)其他中斷禁用時,死機(jī)時間稍長。8.一臺計算機(jī)具有如圖1-6a 所示的三階段流水線。在每一個時鐘周期,一條新的指令從 PC 所指向的地址處的內(nèi)存中取出并放人流水線,同時PC 值增加。每條指令恰好占據(jù)一個內(nèi)存字。 已經(jīng)在流水線中的指令每個時鐘周期前進(jìn)一個
7、階段。當(dāng)中斷發(fā)生時,當(dāng)前PC 壓入堆棧,并且將 PC 設(shè)置為中斷處理程序的地址。然后,流水線右移一個階段并且中斷處理程序的第一條指令被取入流水線。該機(jī)器具有精確的中斷嗎 ?請解釋你的答案。答:(題目有問題,應(yīng)該是圖1-7a )具有精確的中斷。入棧的PC 指向第一條未讀取的指令。之前的所有指令都已執(zhí)行, 而指向的指令及其后續(xù)指令均尚未執(zhí)行,這就是精確中斷的條件。 精確中斷在單管線的機(jī)器上不難實現(xiàn),但是當(dāng)指令不按序執(zhí)行時會有麻煩,此時就不再具有精確的中斷。9.一個典型的文本打印頁面包含50 行,每行 80 個字符。設(shè)想某一臺打印機(jī)每分鐘可以打印 6 個頁面,并且將字符寫到打印機(jī)輸出寄存器的時間很短
8、以至于可以忽略。如果打印每一個字符要請求一次中斷,而進(jìn)行中斷服務(wù)要花費總計5 s的時間,那么使用中斷驅(qū)動的I/O 來運行該打印機(jī)有沒有意義?答:該打印機(jī)打印每分鐘打印50 × 80 ×= 個字符,也就是 400 字符 /s,每個字符使用 50ns 的 CPU 時間用于中斷,因此,每秒總共的中斷時間是20 ms 。使用中斷驅(qū)動 I/O 余下的 980ms 可供其它使用。換句話說,中斷耗時只占CPU時間的 2%,這幾乎不會影響運行的程序。10. 請解釋 OS 如何幫助安裝新的驅(qū)動程序而無須重新編譯 OS 。答: UNIX 通過以下的方法實現(xiàn)。有一個由設(shè)備編號索引的表,每個表項是
9、一個C 結(jié)構(gòu),其中包含指向打開、關(guān)閉、讀取和寫入功能的指針,以及來自設(shè)備的其他一些東西。 要安裝新設(shè)備, 必須在此表中新建一個條目, 并將指針填充到新加載的設(shè)備驅(qū)動程序中。11. 以下各項工作是在四個 I/O 軟件層的哪一層完成的?a)為一個磁盤讀操作計算磁道、扇區(qū)、磁頭。b)向設(shè)備寄存器寫命令。c)檢査用戶是否允許使用設(shè)備。d)將二進(jìn)制整數(shù)轉(zhuǎn)換成ASCII 碼以便打印。答:( a)設(shè)備驅(qū)動程序。( b)設(shè)備驅(qū)動程序。( c)設(shè)備無關(guān)的軟件。( d)用戶級軟件。12. 一個局域網(wǎng)以如下方式使用:用戶發(fā)出一個系統(tǒng)調(diào)用,請求將數(shù)據(jù)包寫到網(wǎng)上,然后操作系統(tǒng)將數(shù)據(jù)復(fù)制到一個內(nèi)核緩沖區(qū)中, 再將數(shù)據(jù)復(fù)制
10、到網(wǎng)絡(luò)控制器接口板上。當(dāng)所有數(shù)據(jù)都安全地存放在控制器中時, 再將它們通過網(wǎng)絡(luò)以 10Mb/s的速率發(fā)送。在每一位被發(fā)送后, 接收的網(wǎng)絡(luò)控制器以每微秒一位的速率保存它們。當(dāng)最后一位到達(dá)時,目標(biāo)CPU 被中斷,內(nèi)核將新到達(dá)的數(shù)據(jù)包復(fù)制到內(nèi)核緩沖區(qū)中進(jìn)行檢査。 一旦判明該數(shù)據(jù)包是發(fā)送給哪個用戶的,內(nèi)核就將數(shù)據(jù)復(fù)制到該用戶空間。如果我們假設(shè)每一個中斷及其相關(guān)的處理過程花費1ms 時間,數(shù)據(jù)包為 1024 字節(jié)(忽略包頭),并且復(fù)制一個字節(jié)花費1ns 時間,那么將數(shù)據(jù)從一個進(jìn)程轉(zhuǎn)儲到另一個進(jìn)程的最大速率是多少? 假設(shè)發(fā)送進(jìn)程被阻塞直到接收端結(jié)束工作并且返回一個應(yīng)答。 為簡單起見,假設(shè)獲得返回應(yīng)答的時間非
11、常短,可以忽略不計。答:在這個過程中,包必須復(fù)制四次,需要4.1 毫秒。有兩個中斷,占2 毫秒。最后,傳輸時間為0.83 毫秒, 1024 字節(jié)的數(shù)據(jù)包共需要6.93 毫秒。最大數(shù)據(jù)傳輸速率為 字節(jié) /秒,或約 10 兆位 /秒的網(wǎng)絡(luò)標(biāo)稱容量的12% 。(如果我們考慮協(xié)議開銷,結(jié)果會變得更糟)13. 為什么打印機(jī)的輸出文件在打印前通常都假脫機(jī)輸出在磁盤上?答:如果每次輸出都立即分配打印機(jī),某進(jìn)程可以通過打印機(jī)1 個字符來凍結(jié)打印機(jī),然后休眠一個星期。14.3 級 RAID 只使用一個奇偶驅(qū)動器就能夠糾正一位錯誤。那么 2 級 RAID 的意義是什么?畢竟2 級 RAID 也只能糾正一位錯誤而且
12、需要更多的驅(qū)動器。答: RAD level 2 不僅可以從故障驅(qū)動器來恢復(fù)錯誤位,還可以從未被檢測的的瞬時差錯中恢復(fù)。如果某驅(qū)動器發(fā)送一個壞數(shù)據(jù)位,RAID level 2 可以糾正,而RAIDlevel 3 不能。15. 如果兩個或更多的驅(qū)動器在很短的時間內(nèi)崩潰,那么 RAID 就可能失效。假設(shè)在給定的一小時內(nèi)一個驅(qū)動器崩潰的概率是 p ,那么在給定的一小時內(nèi)具有 k個驅(qū)動器的 RAID 失效的概率是多少?答:0 次故障的概率 P0 為 (1-p)k 。1 次故障的概率 P1 為 kp(1-p)k-1 。而整個 RAID發(fā)生故障的概率為1-P0-P1 ,也就是 1-(1-p)k-kp(1-p
13、)k-1 。16. 從讀性能、寫性能、空間開銷以及可靠性方面對0 級 RAID 到 5 級 RAID 進(jìn)行比較。答:讀取性能: RAID 級別 0,2,3,4 和 5 允許一個讀請求并行讀取服務(wù)。然而, RAID 級別 1 進(jìn)一步允許兩個讀取請求同時進(jìn)行。寫入性能:所有RAID 級別提供類似的寫入性能??臻g開銷:第0 級沒有空間開銷,而第1 級 100% 的開銷。第 2 級帶 32 位數(shù)據(jù)字和六位奇偶校驗驅(qū)動器,空間開銷約18.75% 。對于32 位數(shù)據(jù)字, 3 級的空間開銷約為3.13% 。最后,假設(shè) 4 和 5 級別具有 33 個驅(qū)動器,則他們的空間開銷是3.13% ??煽啃裕?0 級沒有
14、可靠性支持。所有其他RAID 級別可以在一個磁盤崩潰時保證數(shù)據(jù)。此外,對于3,4 和 5 級別,在一個字內(nèi)的一個單一的隨機(jī)位錯誤可以被檢測到,而第 2 級,在一個字內(nèi)的一個單一的隨機(jī)位錯誤可以被檢測和糾正。17. 為什么光存儲設(shè)備天生比磁存儲設(shè)備具有更高的數(shù)據(jù)密度?注意:本題需要某些髙中物理以及磁場是如何產(chǎn)生的知識。答:在兩個磁極之間會產(chǎn)生磁場。不僅難于使磁場源變小,而且磁場傳播迅速,這將導(dǎo)致此行媒體的表面接近磁源或者傳感器的機(jī)械問題。而半導(dǎo)體激光可以在非常小的地方產(chǎn)生激光,而且激光可以從較遠(yuǎn)的地方感知這些極小的點。18. 光盤和磁盤的優(yōu)點和缺點各是什么?答:光盤的主要優(yōu)點是它們比磁盤具有更高
15、的記錄密度。 磁盤的主要優(yōu)點是比光盤快一個數(shù)量級。19. 如果一個磁盤控制器沒有內(nèi)部緩沖,一旦從磁盤上接收到字節(jié)就將它們寫到內(nèi)存中,那么交錯編號還有用嗎 ?請討論。答:有可能。如果大多數(shù)文件被存儲在邏輯上連續(xù)的扇區(qū)內(nèi),那么就可能使得程序有時間以交叉扇區(qū)的形式處理剛剛接收的數(shù)據(jù),這樣當(dāng)下一請求發(fā)出時, 磁盤正好在正確的地方。20. 如果一個磁盤是雙交錯編號的,那么該磁盤是否還需要柱面斜進(jìn)以避免在進(jìn)行磁道到磁道的尋道時錯過數(shù)據(jù)?請討論你的答案。答:也許要,也許不要。如果跨道時磁頭移動少于2 個扇區(qū),就不需要柱面傾斜。如果大于 2 個扇區(qū),則需要柱面傾斜。21. 考慮一個包含 16 個磁頭和 400
16、 個柱面的磁盤。該磁盤分成 4 個 100 柱面的區(qū)域,不同的區(qū)域分別包含 160 個、 200 個、 240 個和 280 個扇區(qū)。假設(shè)每個扇區(qū)包含512字節(jié),相鄰柱面間的平均尋道時間為1ms,并且磁盤轉(zhuǎn)速為7200rpm 。計算 a)磁盤容量、 b) 最優(yōu)磁道斜進(jìn)以及c) 最大數(shù)據(jù)傳輸率。答:( a)一個區(qū)的容量是磁道 ×柱面 ×扇區(qū) /柱面 ×字節(jié) /扇區(qū)。1 區(qū) :16 × 100× × = 字節(jié)容量2 區(qū) :16 × 100× 200× 512 = 字節(jié)容量3 區(qū) :16 × 100&
17、#215; 240× 512 = 字節(jié)容量4 區(qū) :16 × 100× 280× 512 = 字節(jié)容量總和 = + + + = ( b) 7200rpm 的旋轉(zhuǎn)速度意味著 120 圈/秒。在 1 毫秒平均尋道里, 0.12 的圈覆蓋。在第 1 區(qū)硬盤磁頭在 1 毫秒將經(jīng)過 0.12 × 160扇區(qū),因此,最優(yōu)軌跡區(qū)域1 的偏斜是 19.2 扇區(qū)。在 2 區(qū),磁盤頭在 1 毫秒將經(jīng)過 0.12 × 200扇區(qū),因此,最優(yōu)軌跡偏移 24 扇區(qū)。在 3 區(qū),磁頭在 1 毫秒將經(jīng)過 0.12× 240扇區(qū),因此,區(qū)域 3 的最佳磁道
18、偏斜是28.8 扇區(qū)。在 4 區(qū),磁頭在 1 毫秒經(jīng)過 0.12× 280扇區(qū),因此,最優(yōu)軌跡偏移是33.6 扇區(qū)。( c)在最外層區(qū)域( 4 區(qū))內(nèi)的磁頭正在讀取 /寫入時獲得最大數(shù)據(jù)傳輸速率。在那個區(qū)域,在一秒鐘內(nèi),280 扇區(qū)被閱讀 120 次。因此,數(shù)據(jù)率為 280 × 120 × 512 = 字節(jié) /秒。22. 一個磁盤制造商擁有兩種 5.25 英寸的磁盤,每種磁盤都具有 10 000 個柱面。新磁盤的線性記錄密度是老磁盤的兩倍。 在較新的驅(qū)動器上哪些特性更好, 哪些無變化?答:驅(qū)動器容量和傳輸速率是原來的2 倍。尋道時間和平均旋轉(zhuǎn)延時是相同的。23.
19、一個計算機(jī)制造商決定重新設(shè)計 Pentium 硬盤的分區(qū)表以提供四個以上的分區(qū)。這一變化有什么后果?答:一個相當(dāng)明顯的后果是沒有哪個操作系統(tǒng)可以生效,因為這些操作系統(tǒng)都會在原來的分區(qū)表位置査找分區(qū)。改變分區(qū)表格式將使所有操作系統(tǒng)都失敗。改變分區(qū)表的唯一方法是同時改變所有操作系統(tǒng)以使用新的格式。24. 磁盤請求以柱面 10、22 、20、2、40、6 和 38 的次序進(jìn)入磁盤驅(qū)動器。尋道時每個柱面移動需要 6ms ,以下各算法所需的尋道時間是多少?a)先來先服務(wù)。b)最近柱面優(yōu)先。c)電梯算法(初始向上移動) 。在各情形下,假設(shè)磁臂起始于柱面20 。答:(a) FCFS:10+12+2+18+3
20、8+34+32 = 146柱面 = 876 ms (先到先得)(b) SSF: 0+2+12+4+4+36+2 = 60柱面 = 360 ms (每次最小移臂)(c) 電梯算法: 0+2+16+2+30+4+4 = 58柱面 = 348 ms (一個方向)25. 調(diào)度磁盤請求的電梯算法的一個微小更改是總是沿相同的方向掃描。在什么方面這一更改的算法優(yōu)于電梯算法?答:在最壞的情況下,電梯算法需要兩個完整的磁盤掃描才能完成一個讀/寫請求服務(wù),而改進(jìn)算法最多只需要一個完整的磁盤掃描。26. 在討論使用非易失性 RAM 的穩(wěn)定的存儲器時,掩飾了如下要點。如果穩(wěn)定寫完成但是在操作系統(tǒng)能夠?qū)o效的塊編號寫入
21、非易失性 RAM 之前發(fā)生了崩潰,那么會有什么結(jié)果 ?這一競爭條件會毀滅穩(wěn)定的存儲器的抽象概念嗎 ?請解釋你的答案。答:會出現(xiàn)競爭,但是不要緊。 穩(wěn)定寫入本身已經(jīng)完成, 事實上,非易失性 RAM沒有被更新只是意味著恢復(fù)程序?qū)⒅滥男K被寫入過。它會讀到兩個相同的副本,但并不會改變它們,這是正確的操作。非易失性RAM 在更新前系統(tǒng)崩潰僅僅意味著恢復(fù)程序不得不進(jìn)行兩次磁盤讀操作。27. 在關(guān)于穩(wěn)定的存儲器的討論中,證明如果在寫過程中發(fā)生了CPU 崩潰,磁盤可以恢復(fù)到一個一致的狀態(tài)(寫操作或者已完成,或者完全沒有發(fā)生)。如果在恢復(fù)的過程中 CPU 再次崩潰,這一特性是否還保持?請解釋你的答案。答:是
22、的,即使在恢復(fù)程序運行的過程中CPU 再次崩潰,磁盤依然能恢復(fù)一致狀態(tài)??紤]圖 5-31 ,( a)或( e)中沒有恢復(fù)。假設(shè) CPU 在( b)恢復(fù)期間崩潰,如果 CPU 在驅(qū)動器 2 的塊被完全復(fù)制到驅(qū)動器1 之前崩潰,情況仍然和以前一樣。隨后的恢復(fù)過程將檢測驅(qū)動器1 中的 ECC 錯誤,然后再次從驅(qū)動器2 復(fù)制塊到驅(qū)動器 1。如果 CPU 在驅(qū)動器 2 的塊被復(fù)制到驅(qū)動器1 后崩潰,情況和(e)是一樣的情況。假設(shè)CPU 在( c)恢復(fù)期間崩潰。如果CPU 崩潰之前,從驅(qū)動器 1 塊已完全復(fù)制到驅(qū)動器 2,情況和( d )是一樣的。隨后的恢復(fù)過程將檢測驅(qū)動器 2 中的 ECC 錯誤,并將該
23、塊從驅(qū)動器 1 復(fù)制到驅(qū)動器 2。如果 CPU 從驅(qū)動器 1 的塊被復(fù)制到驅(qū)動器 2 后崩潰,情況和( e)是一樣的。最后,假設(shè)CPU 在( d)恢復(fù)期間崩潰。如果CPU 在驅(qū)動器 1 之前的塊被完全復(fù)制到驅(qū)動器 2 后崩潰,情況仍然和以前一樣。隨后的恢復(fù)過程將檢測驅(qū)動器2 中的 ECC錯誤,然后再次從驅(qū)動器1 復(fù)制塊到驅(qū)動器2。如果 CPU 從驅(qū)動器 1 的塊被復(fù)制到驅(qū)動器 2 后崩潰,情況和( e)是一樣的。28. 某計算機(jī)上的時鐘中斷處理程序每一時鐘滴答需要2ms (包括進(jìn)程切換的開銷),時鐘以 60Hz 的頻率運行,那么CPU 用于時鐘處理的時間比例是多少?答:時鐘頻率 60HZ ,故
24、時鐘周期 T = 1000ms/60 = 50/3ms;CPU 用于時間處理的比例為: 2 / (50/3)× 100%。= 12%29. 臺計算機(jī)以方波模式使用一個可編程時鐘。如果使用 500MHz 的晶體,為了達(dá)到如下時鐘分辨率,存儲寄存器的值應(yīng)該是多少?a) 1ms (每毫秒一個時鐘滴答) 。b) 100us 。答:( a)使用一個 500 MHz 的晶體,計數(shù)器可以每2 納秒的遞減。所以,每毫秒一次,寄存器應(yīng)該是 / 2 = 。( b)每 100 秒獲得一個時鐘刻度,持有寄存器值應(yīng)為50000 。30. 個系統(tǒng)通過將所有未決的時鐘請求鏈接在一起而模擬多個時鐘,如圖5-34所示
25、。假設(shè)當(dāng)前時刻是5000 ,并且存在針對時刻5008 、5012 、5015 、5029 和5037 的未決的時鐘請求。請指出在時刻5000 、5005 和 5013 時時鐘頭、當(dāng)前時刻以及下一信號的值。請指出在時刻5023 時時鐘頭、當(dāng)前時刻以及下一信號的值。答:時間 5000 :當(dāng)前時間 = 5000 ;下一個信號 = 8;頭 8 4 3 14。 8時間 5005 :當(dāng)前時間 = 5005 ;下一個信號 = 3;頭 3 4 3 14。 8時間 5013 :當(dāng)前時間 = 5013 ;下一個信號 = 2 ;頭 2 14 8。時間 5023 :當(dāng)前時間 = 5023 ;下一個信號 = 6 ;頭
26、6 4 531. 許多 UNIX 版本使用一個 32 位無符號整數(shù)作為從時間原點計算的秒數(shù)來跟蹤時間。這些系統(tǒng)什么時候會溢出(年與月) ? 你盼望這樣的事情實際發(fā)生嗎?答:一年的平均秒數(shù)為365.25× 24 × 3600 = 31,557,600。計數(shù)器大約在 232 秒之后回繞。 232/31,557,600= 136.1 年,也就是大約在2106 年 2 月。如果到那時所有計算機(jī)至少是64 位的,因此該情形將不會發(fā)生。32. 個位圖模式的終端包含 1280× 960 個像素。為了滾動一個窗口, CPU (或者控制器)必須向上移動所有的文本行, 這是通過將文本
27、行的所有位從視頻 RAM的一部分復(fù)制到另一部分實現(xiàn)的。如果一個特殊的窗口高60 行寬 80 個字符(總共 4800 個字符),每個字符框?qū)?8 個像素高 16 像素,那么以每個字節(jié)50ns 的復(fù)制速率滾動整個窗口需要多長時間?如果所有的行都是80 個字符長,那么終端的等價波特率是多少?將一個字符顯示在屏幕上需要5 s,每秒能夠顯示多少行?答:滾動窗口需要復(fù)制59 行× 80字符 = 4720 字符。復(fù)制 1 個字符 (16 個字節(jié) )需 800 ns ,因此整個窗口需要 3.776 ms 。向屏幕寫 80 個字符需 400ns ,因此滾動和顯示新的行需 4.176 ms 。大約 23
28、9.5 行/sec 。33. 接收到一個 DEL(SIGINT) 字符之后,顯示驅(qū)動程序?qū)G棄當(dāng)前排隊等候顯示的所有輸出。為什么?答:假設(shè)用戶無意中要求編輯器打印數(shù)千條線,然后他點DEL 停止它。如果驅(qū)動程序沒有放棄輸出, 則輸出可能會持續(xù)幾秒鐘后,當(dāng)沒有發(fā)生的事情時, 這將使用戶一次又一次地?fù)糁蠨EL 并且刷新。34. 在最初 IBM PC 的彩色顯示器上, 在除了 CRT 電子束垂直回掃期間以外的任何時間向視頻 RAM 中寫數(shù)據(jù)都會導(dǎo)致屏幕上出現(xiàn)難看的斑點。一個屏幕映像為25× 80個字符,每個字符占據(jù)8×8像素的方框。每行640 像素在電子束的一次水平掃描中繪出,需要
29、花費63.6s,包括水平回掃。屏幕每秒鐘刷新60 次,每次刷新均需要一個垂直回掃期以便使電子束回到屏幕頂端。在這一過程中可供寫視頻 RAM 的時間比例是多少?答: 25 行字符,每行高8 個像素,需要200 次掃描才能繪制。每秒刷新60 次屏幕,或者 12000 次行掃描 /秒。在 63.6 微秒 /掃描,每秒中用于波束水平移動763 毫秒,留下了 237 毫秒的時間可供視頻RAM 寫入。因此,視頻RAM 可用的時間占 23.7% 。35. 計算機(jī)系統(tǒng)的設(shè)計人員期望鼠標(biāo)移動的最大速率為 20cm/s 。如果一個鼠標(biāo)步是 0.1mm ,并且每個鼠標(biāo)消息 3 個字節(jié),假設(shè)每個鼠標(biāo)步都是單獨報告的,
30、那么鼠標(biāo)的最大數(shù)據(jù)傳輸率是多少?答:鼠標(biāo)的最大速率為200mm/sec ,也就是 2000mickeys/sec ,如果每次報告為 3 個字節(jié),輸出速率為6000 字節(jié) /sec 。36. 基本的加性顏色是紅色、綠色和藍(lán)色,這意味著任何顏色都可以通過這些顏色的線性疊加而構(gòu)造出來。 某人擁有一張不能使用全 24 位顏色表示的彩色照片,這可能嗎?答:對于 24 位彩色系統(tǒng),僅能夠表示224 種顏色。這不是顏色的全部。例如,假設(shè)某攝影師以300 種純藍(lán)繪圖,每種都有一點區(qū)別。那么,而(R,G,B) 中的 B只有 8 位,只能表示 256 種藍(lán)色,而無法表示300 種藍(lán)色。37. 將字符放置在位圖模式
31、的屏幕上,一種方法是使用 BitBlt 從一個字體表復(fù)制位圖。假設(shè)一種特殊的字體使用 16x24 像素的字符,并且采用 RGB 真彩色。(a) 每個字符占用多少字體表空間?(b) 如果復(fù)制一個字節(jié)花費 100ns (包括系統(tǒng)開銷)。那么到屏幕的輸出率是每秒多少個字符?答:(a)24 位真彩RGB 中每像素需 3 個字節(jié),因此該表中的字符為16 × 24 × 3 =1152 字節(jié)。(b) 如果每字節(jié) 100 納秒,那么每個字符需 1152× 100ns =115.2 微秒。也就是大約每秒輸出 8681 字符。38. 假設(shè)復(fù)制一個字節(jié)花費l0ns ,那么對于 80 字
32、符 × 25行文本模式的內(nèi)存映射的屏幕,完全重寫屏幕要花費多長時間?采用24 位彩色的 1024 × 768像素的圖形屏幕情況怎樣?答:重寫文本屏幕需要復(fù)制2000 個字節(jié),也就是20 微秒。重寫圖形屏幕需要復(fù)制 1024 × 768 × 3 = 2,359,296字節(jié),大約為 23.6 毫秒。39. 在圖 5- 40 中存在 一個窗口類需要調(diào)用 RegisterClass 進(jìn)行注冊,在圖 5-38中對應(yīng)的 X 窗口代碼中,并不存在這樣的調(diào)用或與此相似的任何調(diào)用,為什么?答:在 Wmdows 中, OS 自己調(diào)用處理程序例程。在X Window 中,不會
33、發(fā)生類似的事情。 X 只是獲取消息,并在內(nèi)部處理它。40. 在課文中我們給出了一個如何在屏幕上畫一個矩形的例子,即使用WindowsGDI:Rectangle(hdc,xleft,ytop,xright,ybottom); 是否存在對于第一個參數(shù)(hdc)的實際需要?如果存在,是什么?畢競,矩形的坐標(biāo)作為參數(shù)而顯式地指明了。答: 第一個參數(shù)是必需的。首先,坐標(biāo)是對應(yīng)于某個窗口的,因此需要hdc 來指定窗口,也就是其坐標(biāo)原點。第二,如果該矩形落在窗口外面,將被截除,因此還需要該窗口的坐標(biāo)。第三,矩形顏色和其它屬性必須由hdc 指定。因此,hdc 此是十分重要的。41. 一臺 THINC 終端用于顯示一個網(wǎng)頁, 該網(wǎng)頁包含一個動畫卡通, 卡通大小為400× 160 像素,以每秒 10 幀的速度播放。顯示該卡通會消耗100Mbps 快速以太網(wǎng)帶寬多大的部分?答:顯示大小為 400 × 160 × 3 = 192,000字節(jié),10fps 也就是 1,920,000 字節(jié) /sec= 15,360,000 位 /sec ,占用 1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國無接觸紅外溫度計行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- NVRAM存儲效率提升的算法創(chuàng)新-洞察闡釋
- 2025-2030中國數(shù)字商務(wù)平臺行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國彎曲樓梯升降機(jī)行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 區(qū)塊鏈在軟件著作權(quán)保護(hù)中的應(yīng)用
- 2025-2030中國干草和飼料設(shè)備行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國布藝行業(yè)市場發(fā)展分析及前景趨勢與投資研究報告
- 2025-2030中國工程用鋼行業(yè)市場深度調(diào)研及前景趨勢與投資研究報告
- 2025-2030中國工業(yè)用鋼行業(yè)發(fā)展分析及投資風(fēng)險預(yù)測研究報告
- AI技術(shù)在心理健康領(lǐng)域的倫理考量
- 2025天津東疆綜合保稅區(qū)管理委員會招聘10人筆試參考題庫附帶答案詳解
- 法院書記員招聘2023年筆試考試必做題有答案
- 2024年北京大興國際機(jī)場臨空經(jīng)濟(jì)區(qū)幼兒園招聘教師考試真題
- 雅禮新苗杯試題及答案
- 2025神農(nóng)科技集團(tuán)有限公司第一批校園招聘17人(山西)筆試參考題庫附帶答案詳解
- 醫(yī)院地震安全培訓(xùn)
- 2025-2030中國低壓電器行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 善意的謊言辯論賽正反方觀點
- QC新老7種工具表格
- 項目四:旅游電子商務(wù)支付與安全(教案)
- 學(xué)生社區(qū)實習(xí)評語
評論
0/150
提交評論