一. 單項(xiàng)選擇題,每小題2分,共80分。
1.為解決計(jì)算機(jī)與打印機(jī)之間速度不匹配的問題,通常設(shè)置一個(gè)打印數(shù)據(jù)緩沖區(qū),主機(jī)將要輸出的數(shù)據(jù)依次寫入該緩沖區(qū),而打印機(jī)則依次從該緩沖區(qū)中取出數(shù)據(jù)。該緩沖區(qū)的邏輯結(jié)構(gòu)應(yīng)該是
A.棧 B.隊(duì)列 C.樹 D.圖
2.設(shè)棧S和隊(duì)列Q的初始狀態(tài)均為空,元素abcdefg依次進(jìn)入棧S。若每個(gè)元素出棧后立即進(jìn)入隊(duì)列Q,且7個(gè)元素出隊(duì)的順序是bdcfeag,則棧S的容量至少是
A.1 B.2 C.3 D.4
3.給定二叉樹圖所示。設(shè)N代表二叉樹的根,L代表根結(jié)點(diǎn)的左子樹,R代表根結(jié)點(diǎn)的右子樹。若遍歷后的結(jié)點(diǎn)序列為3,1,7,5,6,2,4,則其遍歷方式是
A.LRN B.NRL C.RLN D.RNL
4.下列二叉排序樹中,滿足平衡二叉樹定義的是
5.已知一棵完全二叉樹的第6層(設(shè)根為第1層)有8個(gè)葉結(jié)點(diǎn),則完全二叉樹的結(jié)點(diǎn)個(gè)數(shù)最多是
A.39 B.52 C.111 D.119
6.將森林轉(zhuǎn)換為對應(yīng)的二叉樹,若在二叉樹中,結(jié)點(diǎn)u是結(jié)點(diǎn)v的父結(jié)點(diǎn)的父結(jié)點(diǎn),則在原來的森林中,u和v可能具有的關(guān)系是
I.父子關(guān)系 II.兄弟關(guān)系 III. u的父結(jié)點(diǎn)與v的父結(jié)點(diǎn)是兄弟關(guān)系
A.只有II B.I和II C.I和III D.I、II和III
7.下列關(guān)于無向連通圖特性的敘述中,正確的是
I.所有頂點(diǎn)的度之和為偶數(shù) II.邊數(shù)大于頂點(diǎn)個(gè)數(shù)減1
III.至少有一個(gè)頂點(diǎn)的度為1
A.只有I B. 只有II C.I和II D.I和III
8.下列敘述中,不符合m階B樹定義要求的是
A.根節(jié)點(diǎn)最多有m棵子樹 B.所有葉結(jié)點(diǎn)都在同一層上
C.各結(jié)點(diǎn)內(nèi)關(guān)鍵字均升序或降序排列 D.葉結(jié)點(diǎn)之間通過指針鏈接
9.已知關(guān)鍵序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入關(guān)鍵字3,調(diào)整后得到的小根堆是
A.3,5,12,8,28,20,15,22,19
B. 3,5,12,19,20,15,22,8,28
C.3,8,12,5,20,15,22,28,19
D. 3,12,5,8,28,20,15,22,19
10.若數(shù)據(jù)元素序列11,12,13,7,8,9,23,4,5是采用下列排序方法之一得到的第二趟排序后的結(jié)果,則該排序算法只能是
A.起泡排序 B.插入排序 C.選擇排序 D.二路歸并排序
11.馮·諾依曼計(jì)算機(jī)中指令和數(shù)據(jù)均以二進(jìn)制形式存放在存儲器中,CPU區(qū)分它們的依據(jù)是
A.指令操作碼的譯碼結(jié)果 B.指令和數(shù)據(jù)的尋址方式
C.指令周期的不同階段 D.指令和數(shù)據(jù)所在的存儲單元
12.一個(gè)C語言程序在一臺32位機(jī)器上運(yùn)行。程序中定義了三個(gè)變量xyz,其中x和z是int型,y為short型。當(dāng)x=127,y=-9時(shí),執(zhí)行賦值語句z=x+y后,xyz的值分別是
A.X=0000007FH,y=FFF9H,z=00000076H
A.X=0000007FH,y=FFF9H,z=FFFF0076H
A.X=0000007FH,y=FFF7H,z=FFFF0076H
A.X=0000007FH,y=FFF7H,z=00000076H
13.浮點(diǎn)數(shù)加減運(yùn)算過程一般包括對階、尾數(shù)運(yùn)算、規(guī)格化、舍入和判溢出等步驟。設(shè)浮點(diǎn)數(shù)的階碼和尾數(shù)均采用補(bǔ)碼表示,且位數(shù)分別為5位和7位(均含2位符號位)。若有兩個(gè)數(shù)X=27×29/32,Y=25×5/8,則用浮點(diǎn)加法計(jì)算X+Y的最終結(jié)果是
A.00111 1100010 B.00111 0100010
C.01000 0010001 D.發(fā)生溢出
14.某計(jì)算機(jī)的Cache共有16塊,采用2路組相聯(lián)映射方式(即每組2塊)。每個(gè)主存塊大小為32字節(jié),按字節(jié)編址。主存129號單元所在主存塊應(yīng)裝入到的Cache組號是
A.0 B.2 C.4 D.6
15.某計(jì)算機(jī)主存容量為64KB,其中ROM區(qū)為4KB,其余為RAM區(qū),按字節(jié)編址?,F(xiàn)要用2K×8位的ROM芯片和4K×4位的RAM芯片來設(shè)計(jì)該存儲器,則需要上述規(guī)格的ROM芯片數(shù)和RAM芯片數(shù)分別是
A.1、15 B.2、15 C.1、30 D.2、30
16.某機(jī)器字長16位,主存按字節(jié)編址,轉(zhuǎn)移指令采用相對尋址,由兩個(gè)字節(jié)組成,第一字節(jié)為操作碼字段,第二字節(jié)為相對位移量字段。假定取指令時(shí),每取一個(gè)字節(jié)PC自動(dòng)加1。若某轉(zhuǎn)移指令所在主存地址為2000H,相對位移量字段的內(nèi)容為06H,則該轉(zhuǎn)移指令成功轉(zhuǎn)以后的目標(biāo)地址是
A.2006H B.2007H C.2008H D.2009H
17.下列關(guān)于RISC的敘述中,錯(cuò)誤的是
A.RISC普遍采用微程序控制器
B.RISC大多數(shù)指令在一個(gè)時(shí)鐘周期內(nèi)完成
C.RISC的內(nèi)部通用寄存器數(shù)量相對CISC多
D.RISC的指令數(shù)、尋址方式和指令格式種類相對CISC少
18.某計(jì)算機(jī)的指令流水線由四個(gè)功能段組成,指令流經(jīng)各功能段的時(shí)間(忽略各功能段之間的緩存時(shí)間)分別是90ns、80ns、70ns和60ns,則該計(jì)算機(jī)的CPU時(shí)鐘周期至少是
A.90ns B.80ns C.70ns D.60ns
19.相對于微程序控制器,硬布線控制器的特點(diǎn)是
A.指令執(zhí)行速度慢,指令功能的修改和擴(kuò)展容易
B.指令執(zhí)行速度慢,指令功能的修改和擴(kuò)展難
C.指令執(zhí)行速度快,指令功能的修改和擴(kuò)展容易
D.指令執(zhí)行速度快,指令功能的修改和擴(kuò)展難
20.假設(shè)某系統(tǒng)總線在一個(gè)總線周期中并行傳輸4字節(jié)信息,一個(gè)總線周期占用2個(gè)時(shí)鐘周期,總線時(shí)鐘頻率為10MHz,則總線帶寬是
A.10MB/s B.20MB/S C.40MB/S D.80MB/S
21.假設(shè)某計(jì)算機(jī)的存儲系統(tǒng)由Cache和主存組成,某程序執(zhí)行過程中訪存1000次,其中訪問Cache缺失(未命中)50次,則Cache的命中率是
A.5% B.9.5% C.50% D.95%
22.下列選項(xiàng)中,能引起外部中斷的事件是
A.鍵盤輸入 B.除數(shù)為0 C.浮點(diǎn)運(yùn)算下溢 D.訪存缺頁
23.單處理機(jī)系統(tǒng)中,可并行的是
I 進(jìn)程與進(jìn)程 II 處理機(jī)與設(shè)備 III 處理機(jī)與通道 IV 設(shè)備與設(shè)備
A.I、II和III B. I、II和IV C. I、III和IV D. II、III和IV
24.下列進(jìn)程調(diào)度算法中,綜合考慮進(jìn)程等待時(shí)間和執(zhí)行時(shí)間的是
A.時(shí)間片輪轉(zhuǎn)調(diào)度算法 B.短進(jìn)程優(yōu)先調(diào)度算法
C.先來先服務(wù)調(diào)度算法 D.高響應(yīng)比優(yōu)先調(diào)度算法
25.某計(jì)算機(jī)系統(tǒng)中有8臺打印機(jī),有K個(gè)進(jìn)程競爭使用,每個(gè)進(jìn)程最多需要3臺打印機(jī)。該系統(tǒng)可能會發(fā)生死鎖的K的最小值是
A.2 B.3 C.4 D.5
26.分區(qū)分配內(nèi)存管理方式的主要保護(hù)措施是
A.界地址保護(hù) B.程序代碼保護(hù) C.數(shù)據(jù)保護(hù) D.棧保護(hù)
27.一個(gè)分段存儲管理系統(tǒng)中,地址長度為32位,其中段號占8位,則最大段長是
A.2的8次方字節(jié) B.2的16次方字節(jié) C.2的21次方字節(jié) D.2的32次方字節(jié)
28.下列文件物理結(jié)構(gòu)中,適合隨機(jī)訪問且易于文件擴(kuò)展的是
A.連續(xù)結(jié)構(gòu) B.索引結(jié)構(gòu)
C.鏈?zhǔn)浇Y(jié)構(gòu)且磁盤塊定長 D.鏈?zhǔn)浇Y(jié)構(gòu)且磁盤塊變長
29.假設(shè)磁頭當(dāng)前位于第105道,正在向磁道序號增加的方向移動(dòng)?,F(xiàn)有一個(gè)磁道訪問請求序列為35,45,12,68,110,180,170,195,采用SCAN調(diào)度(電梯調(diào)度)算法得到的磁道訪問序列是
A.110,170,180,195,68,45,35,12
B.110,68,45,35,12,170,180,195
C.110,170,180,195,12,35,45,68
D.12,35,45,68,110,170,180,195
30.文件系統(tǒng)中,文件訪問控制信息存儲的合理位置是
A.文件控制塊 B.文件分配表 C.用戶口令表 D.系統(tǒng)注冊表
31.設(shè)文件F1的當(dāng)前引用計(jì)數(shù)值為1,先建立F1的符號鏈接(軟鏈接)文件F2,再建立F1的硬鏈接文件F3,然后刪除F1。此時(shí),F(xiàn)2和F3的引用計(jì)數(shù)值分別是
A.0、1 B.1、1 C.1、2 D.2、1
32.程序員利用系統(tǒng)調(diào)用打開I/O設(shè)備時(shí),通常使用的設(shè)備標(biāo)識是
A.邏輯設(shè)備名 B.物理設(shè)備名 C.主設(shè)備號 D.從設(shè)備號
33.在OSI參考模型中,自下而上第一個(gè)提供端到端服務(wù)的層次是
A.數(shù)據(jù)鏈路層 B.傳輸層 C.會話層 D.應(yīng)用層
34.在無噪聲情況下,若某通信鏈路的帶寬為3kHz,采用4個(gè)相位,每個(gè)相位具有4種振幅的QAM調(diào)制技術(shù),則該通信鏈路的最大數(shù)據(jù)傳輸速率是
A.12kbps B.24 kbps C.48 kbps D.96 kbps
35.數(shù)據(jù)鏈路層采用了后退N幀(GBN)協(xié)議,發(fā)送方已經(jīng)發(fā)送了編號為0——7的幀。當(dāng)計(jì)時(shí)器超時(shí)時(shí),若發(fā)送方只收到0、2、3號幀的確認(rèn),則發(fā)送方需要重發(fā)的幀數(shù)是
A.2 B.3 C.4 D.5
36.以太網(wǎng)交換機(jī)進(jìn)行轉(zhuǎn)發(fā)決策時(shí)使用的PDU地址是
A.目的物理地址 B.目的IP地址 C.源物理地址 D.源IP地址
37.在一個(gè)采用CSMA/CD協(xié)議的網(wǎng)絡(luò)中,傳輸介質(zhì)是一根完整的電纜,傳輸速率為1Gbps,電纜中的信號傳播速度是200 000km/s。若最小數(shù)據(jù)幀長度減少800比特,則最遠(yuǎn)的兩個(gè)站點(diǎn)之間的距離至少需要
A.增加160m B.增加80m C.減少160m D.減少80m
38.主機(jī)甲和主機(jī)乙間已建立一個(gè)TCP連接,主機(jī)甲向主機(jī)乙發(fā)送了兩個(gè)連續(xù)的TCP段,分別包含300字節(jié)和500字節(jié)的有效載荷,第一個(gè)段的序列號為200,主機(jī)乙正確接收到兩個(gè)段后,發(fā)送給主機(jī)甲的確認(rèn)序列號是
A.500 B.700 C.800 D.1000
39.一個(gè)TCP連接總是以1KB的最大段發(fā)送TCP段,發(fā)送方有足夠多的數(shù)據(jù)要發(fā)送。當(dāng)擁塞窗口為16KB時(shí)發(fā)生了超時(shí),如果接下來的4個(gè)RTT(往返時(shí)間)時(shí)間內(nèi)的TCP段的傳輸都是成功的,那么當(dāng)?shù)?個(gè)RTT時(shí)間內(nèi)發(fā)送的所有TCP段都得到肯定應(yīng)答時(shí),擁塞窗口大小是
A.7KB B. 8KB C. 9KB D. 16KB
40.FTP客戶和服務(wù)器間傳遞FTP命令時(shí),使用的連接是
A.建立在TCP之上的控制連接 B. 建立在TCP之上的數(shù)據(jù)連接
C. 建立在UDP之上的控制連接 D. 建立在UDP之上的數(shù)據(jù)連接
二. 綜合應(yīng)用題。共70分。
41.(10分)帶權(quán)圖(權(quán)值非負(fù),表示邊連接的兩頂點(diǎn)間的距離)的最短路徑問題是找出從初始頂點(diǎn)到目標(biāo)頂點(diǎn)之間的一條最短路徑。假定從初始頂點(diǎn)到目標(biāo)頂點(diǎn)之間存在路徑,現(xiàn)有一種解決該問題的方法:
①設(shè)最短路徑初始時(shí)僅包含初始頂點(diǎn),令當(dāng)前頂點(diǎn)u為初始頂點(diǎn);
②選擇離u最近且尚未在最短路徑中的一個(gè)頂點(diǎn)v,加入到最短路徑中,修改當(dāng)前頂點(diǎn)u=v;
③重復(fù)步驟②,直到u是目標(biāo)頂點(diǎn)時(shí)為止。
請問上述方法能否求得最短路徑?若該方法可行,請證明之;否則,請舉例說明。
42.(15分)已知一個(gè)帶有表頭結(jié)點(diǎn)的單鏈表,結(jié)點(diǎn)結(jié)構(gòu)為
data link
假設(shè)該鏈表只給出了頭指針list。在不改變鏈表的前提下,請?jiān)O(shè)計(jì)一個(gè)盡可能高效的算法,查找鏈表中倒數(shù)第k個(gè)位置上的結(jié)點(diǎn)(k為正整數(shù))。若查找成功,算法輸出該結(jié)點(diǎn)的data值,并返回1;否則,只返回0。要求:
(1) 描述算法的基本設(shè)計(jì)思想
(2) 描述算法的詳細(xì)實(shí)現(xiàn)步驟
(3) 根據(jù)設(shè)計(jì)思想和實(shí)現(xiàn)步驟,采用程序設(shè)計(jì)語言描述算法(使用C或C++或JAVA語言實(shí)現(xiàn)),關(guān)鍵之處請給出簡要注釋。
43.(8分)某計(jì)算機(jī)的CPU主頻為500MHz,CPI為5(即執(zhí)行每條指令平均需5個(gè)時(shí)鐘周期)。假定某外設(shè)的數(shù)據(jù)傳輸率為0.5MB/s,采用中斷方式與主機(jī)進(jìn)行數(shù)據(jù)傳送,以32位為傳輸單位,對應(yīng)的中斷服務(wù)程序包含18條指令,中斷服務(wù)的其他開銷相當(dāng)于2條指令的執(zhí)行時(shí)間。請回答下列問題,要求給出計(jì)算過程。
(1)在中斷方式下,CPU用于該外設(shè)I/O的時(shí)間占整個(gè)CPU時(shí)間的百分比是多少?
(2)當(dāng)該外設(shè)的數(shù)據(jù)傳輸率達(dá)到5MB/s時(shí),改用DMA方式傳送數(shù)據(jù)。假設(shè)每次DMA傳送大小為5000B,且DMA預(yù)處理和后處理的總開銷為500個(gè)時(shí)鐘周期,則CPU用于該外設(shè)I/O的時(shí)間占整個(gè)CPU時(shí)間的百分比是多少?(假設(shè)DMA與CPU之間沒有訪存沖突)
44.(13分)某計(jì)算機(jī)字長16位,采用16位定長指令字結(jié)構(gòu),部分?jǐn)?shù)據(jù)通路結(jié)構(gòu)如圖所示。圖中所有控制信號為1時(shí)表示有效、為0時(shí)表示無效。例如控制信號MDRinE為1表示允許數(shù)據(jù)從DB打入MDR,MDRin為1表示允許數(shù)據(jù)從內(nèi)總線打入MDR。假設(shè)MAR的輸出一直處于使能狀態(tài)。加法指令“ADD(R1),R0”的功能為(R0)+((R1))→(R1),即將R0中的數(shù)據(jù)與R1的內(nèi)容所指主存單元的數(shù)據(jù)相加,并將結(jié)果送入R1的內(nèi)容所指主存單元中保存。
數(shù)據(jù)通路結(jié)構(gòu)
下表給出了上述指令取值和譯碼階段每個(gè)節(jié)拍(時(shí)鐘周期)的功能和有效控制信號,請按表中描述方式用表格列出
指令執(zhí)行階段每個(gè)節(jié)拍的功能和有效控制信號
45.(7分)三個(gè)進(jìn)程P1、P2、P3互斥使用一個(gè)包含N(N>0)個(gè)單元的緩沖區(qū)。P1每次用produce()生成一個(gè)正整數(shù)并用put()送入緩沖區(qū)某一空單元中;P2每次用getodd()從該緩沖區(qū)中取出一個(gè)奇數(shù)并用countodd()統(tǒng)計(jì)奇數(shù)個(gè)數(shù);P3每次用geteven()從該緩沖區(qū)中取出一個(gè)偶數(shù)并用counteven()統(tǒng)計(jì)偶數(shù)個(gè)數(shù)。請用信號量機(jī)制實(shí)現(xiàn)這三個(gè)進(jìn)程的同步與互斥活動(dòng),并說明所定義的信號量的含義。要求用偽代碼描述。
46.(8分)請求分頁管理系統(tǒng)中,假設(shè)某進(jìn)程的頁表內(nèi)容如下表所示。
頁面大小為4KB,一次內(nèi)存的訪問時(shí)間是100ns,一次快表(TLB)的訪問時(shí)間是10ns,處理一次缺頁的平均時(shí)間為108ns(已含更新TLB和頁表的時(shí)間),進(jìn)程的駐留集大小固定為2,采用最近最少使用置換算法(LRU)和局部淘汰策略。假設(shè)①TLB初始為空;②地址轉(zhuǎn)換時(shí)先訪問TLB,若TLB未命中,再訪問頁表(忽略訪問頁表之后的TLB更新時(shí)間);③有效位為0表示頁面不在內(nèi)存,產(chǎn)生缺頁中斷,缺頁中斷處理后,返回到產(chǎn)生缺頁中斷的指令處重新執(zhí)行。設(shè)有虛地址訪問序列2362H、1565H、25A5H,請問:
(1) 依次訪問上述三個(gè)虛地址,各需多少時(shí)間?給出計(jì)算過程。
(2) 基于上述訪問序列,虛地址1565H的
物理地址是多少?請說明理由。
47.(9分)某公司網(wǎng)絡(luò)拓?fù)鋱D如下圖所示,路由器R1通過接口E1、E2分別連接局域網(wǎng)1、局域網(wǎng)2,通過接口L0連接路由器R2,并通過路由器R2連接域名服務(wù)器與互聯(lián)網(wǎng)。R1的L0接口的IP地址是202.118.2.1;R2的L0接口的IP地址是202.118.2.2,L1接口的IP地址是130.11.120.1,E0接口的IP地址是202.118.3.1;域名服務(wù)器的IP地址是202.118.3.2。
R1和R2的路由表結(jié)構(gòu)為:
(1) 將IP地址空間202.118.1.0/24劃分為兩個(gè)子網(wǎng),分配給局域網(wǎng)1、局域網(wǎng)2,每個(gè)局域網(wǎng)分配的地址數(shù)不少于120個(gè),請給出子網(wǎng)劃分結(jié)果。說明理由或給出必要的計(jì)算過程。
(2) 請給出R1的路由表,使其明確包括到局域網(wǎng)1的路由、局域網(wǎng)2的路由、域名服務(wù)器的主機(jī)路由和互聯(lián)網(wǎng)的路由。
(3) 請采用路由聚合技術(shù),給出R2到局域網(wǎng)1和局域網(wǎng)2的路由。