2024年(中級)嵌入式系統設計師軟考試題庫(含答案)_第1頁
2024年(中級)嵌入式系統設計師軟考試題庫(含答案)_第2頁
2024年(中級)嵌入式系統設計師軟考試題庫(含答案)_第3頁
2024年(中級)嵌入式系統設計師軟考試題庫(含答案)_第4頁
2024年(中級)嵌入式系統設計師軟考試題庫(含答案)_第5頁
已閱讀5頁,還剩78頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PAGEPAGE12024年(中級)嵌入式系統設計師軟考試題庫匯總(含答案)一、單選題1.嵌入式系統支持的內存塊為極小頁時,可分成大小為()的子頁。A、1KBB、4KBC、16KBD、不能再細分答案:D解析:嵌入式系統支持的內存塊由大到小分別是段(1MB)、大頁(64KB)、小頁(4KB)和極小頁(1KB)。大頁可分成大小為16KB的子頁,小頁可分成大小為1KB的子頁。2.假設段頁式存儲管理系統中的地址結構如下圖所示,則系統______。A、最多可有2048個段,每個段的大小均為2048個頁,頁的大小為2KB、最多可有2048個段,每個段最大允許有2048個頁,頁的大小為2KC、最多可有1024個段,每個段的大小均為1024個頁,頁的大小為4KD、最多可有1024個段,每個段最大允許有1024個頁,頁的大小為4K答案:D解析:本題考查操作系統頁式存儲管理方面的基礎知識。從圖中可見,頁內地址的長度是12位,212=4096,即4K;頁號部分的地址長度是10位,每個段最大允許有210=1024個頁;段號部分的地址長度是10位,210=1024,最多可有1024個段。3.SNMP是一種異步請求/響應協議,采用()協議進行封裝。A、IPB、ICMPC、TCPD、UDP答案:D解析:SNMP是基于UDP協議的。4.變量W_data定義如下:uniondata_node{floatff'intn;charch;}W_data;則變量W_data所占的內存存儲空間可表示為______。A、sizeof(int)B、sizeof(char)C、sizeof(float)D、sizeof(int)+sizeof(char)+sizeof(float)答案:C解析:本題考查C語言編程的基本知識。本題中變量W_data類型為聯合。聯合中所有數據項占有相同的內存空間。聯合體所占的內存存儲空間為所包含數據項所占的內存存儲空間的最大值。5.將高級語言源程序通過編譯或解釋方式進行翻譯時,可以先生成與源程序等價的某種中間代碼。以下關于中間代碼的敘述中,正確的是()。A、中間代碼常采用符號表來表示B、后綴式和三地址碼是常用的中間代碼C、對中間代碼進行優化要依據運行程序的機器特性D、中間代碼不能跨平臺答案:B解析:常見的中間代碼有后綴式、三地址碼、樹,符號表是在編譯預處理時,中間代碼不依賴于硬件平臺,可移植性強,可跨平臺。6.分配給某公司網絡的地址塊是/20,該網絡可以被劃分為_____個C類子網。A、4B、8C、16D、32答案:C解析:根據CIDR(無類別域間路由)的規則,/20表示該網絡的前20位是網絡地址,剩下的12位是主機地址。因此,該網絡可以被劃分為2^12個主機地址,即4096個主機。而一個C類網絡的主機地址有2^8個,即256個。因此,該網絡可以被劃分為4096/256=16個C類子網。因此,答案為C。7.以下協議中屬于應用層協議的是(請作答此空),該協議的報文封裝在()中傳送。A、SNMPB、ARPC、ICMPD、X.25答案:A解析:ARP和ICMP是網絡層協議,X.25是數據鏈路層協議,只有SNMP是應用層協議。SNMP協議的報文是封裝在UDP協議中傳送。8.嵌入式系統中配置了大量的外圍設備,即I/O設備。依據工作方式不同可以分為字符設備、塊設備和網絡設備。下面描述不正確的是______。A、鍵盤、顯示器、打印機、掃描儀、鼠標等都屬于字符設備B、塊設備是以塊為單位進行傳輸的,如磁盤、磁帶和光盤等C、網絡設備主要用于與遠程設備進行通信D、網絡設備的傳輸速度和字符設備相當答案:D解析:本題考查嵌入式系統中設備分類方面的基礎知識。嵌入式系統中配置了大量的外圍設備,即I/O設備。依據工作方式不同可以分為字符設備、塊設備和網絡設備。字符(char)設備是能夠像字節流(類似文件)一樣被訪問的設備,由字符設備驅動程序來實現這種特性。字符設備驅動程序通常至少要實現open、close、read和write的系統調用。字符終端(/dev/console)和串口(/dev/ttyS0以及類似設備)就是兩個字符設備,它們能很好的說明“流”這種抽象概念。字符設備可以通過節點來訪問,比如/dev/tty1和/dev/lp0等。這些設備文件和普通文件之間的唯一差別是:對普通文件的訪問可以前后移動訪問位置,而大多數字符設備是一個只能順序訪問的數據通道。然而,也存在具有數據區特性的字符設備,訪問它們時可前后移動訪問位置。例如framebuffer就是這樣的一個設備,可以用mmap或lseek訪問抓取的整個圖像。與字符設備類似,塊設備也是通過/dev目錄下的文件系統節點來訪問。塊設備(例如磁盤)上能夠容納文件系統。在大多數的Unix系統中,進行I/O操作時塊設備每次只能傳輸一個或多個完整的塊,而每塊包含512字節(或2的更高次冪字節的數據)。Linux可以讓應用像字符設備一樣地讀寫塊設備,允許一次傳遞任意多字節的數據。因此,塊設備和字符設備的區別僅僅在于內核內部管理數據的方式,也就是內核及驅動程序之間的軟件接口,而這些不同對用戶來講是透明的。在內核中,和字符驅動程序相比,塊驅動程序具有完全不同的接口。網絡接口是一個能夠和其他主機交換數據的設備。接口通常是一個硬件設備,但也可能是個純軟件設備,比如回環(loopback)接口。網絡接口由內核中的網絡子系統驅動,負責發送和接收數據包。許多網絡連接(尤其是使用TCP協議的連接)是面向流的,但網絡設備卻圍繞數據包的傳送和接收而設計。網絡驅動程序不需要知道各個連接的相關信息,它只要處理數據包即可。由于不是面向流的設備,因此將網絡接口映射到文件系統中的節點(比如/dev/tty1)比較困難。Unix訪問網絡接口的方法仍然是給它們分配一個唯一的名字(比如eth0),但這個名字在文件系統中不存在對應的節點。內核和網絡設備驅動程序間的通信,完全不同于內核和字符以及塊驅動程序之間的通信,內核調用一套和數據包相關的函數而不是fead、write等。9.假設頁面大小為1KB,對于邏輯地址0xE9B7所對應的邏輯頁面號為()。A、0x3AB、0x1B7C、0xE9D、0xB7答案:A解析:將邏輯地址0xE9B7轉換成二進制形式為(1110100110110111)2頁面大小為1KB,對于邏輯地址0xE9B7所對應的邏輯頁面號為0x3A,頁內偏移量為0x1B7。10.ICMP協議屬于因特網中的______協議,ICMP協議數據單元封裝在(請作答此空)中傳送。A、以太幀B、TCP段C、UDP數據報D、IP數據報答案:D解析:ICMP(InternetcontrolMessageProtocol)與IP協議同屬于網絡層,用于傳送有關通信問題的消息。例如數據報不能到達目標站,路由器沒有足夠的緩存空間,或者路由器向發送主機提供最短通路信息等。ICMP報文封裝在IP數據報中傳送,因而不保證可靠的提交。11.下列進程狀態變化中,______是不可能發生的。A、等待→運行B、運行→等待C、等待→就緒D、運行→就緒答案:A解析:通常一個進程應有3種基本狀態:就緒狀態、運行狀態和等待狀態(或稱阻塞狀態)。進程的3個狀態的轉換如下圖所示。12.下列做法中不利于嵌入式應用軟件移植的是______。A、在軟件設計上,采用層次化設計和模塊化設計B、在軟件體系結構上,在操作系統和應用軟件之間引入一個中間件層C、將不可移植的部分局域化,集中在某幾個特定的文件之中D、在數據類型上,盡量直接使用C語言的數據類型答案:D解析:本題考查嵌入式系統的基礎知識。嵌入式系統是指用于執行獨立功能的專用計算機系統。它由包括微處理器、定時器、微控制器、存儲器、傳感器等一系列微電子芯片與器件,和嵌入在存儲器中的微型操作系統、控制應用軟件組成,共同實現諸如實時控制、監視、管理、移動計算、數據處理等各種自動化處理任務。嵌入式系統以應用為中心,以微電子技術、控制技術、計算機技術和通信技術為基礎,強調硬件軟件的協同性與整合性,軟件與硬件可剪裁,以滿足系統對功能、成本、體積和功耗等要求。嵌入式軟件通常分為嵌入式操作系統、嵌入式支撐軟件和嵌入式應用軟件。嵌入式操作系統負責嵌入系統的全部軟、硬件資源的分配、調度工作,控制、協調并發活動;嵌入式支撐軟件用于幫助和支持軟件開發的軟件,通常包括一些嵌入式中間件等;嵌入式應用軟件是針對特定應用領域,基于某一固定的硬件平臺,用來達到用戶預期目標的計算機軟件。由于用戶任務可能有時間和精度上的要求,因此有些嵌入式應用軟件需要特定嵌入式操作系統的支持。嵌入式應用軟件和普通應用軟件有一定的區別,它不僅要求其準確性、安全性和穩定性等方面能夠滿足實際應用的需要,而且還要盡可能地進行優化,以減少對系統資源的消耗,降低硬件成本。嵌入式軟件的特點有:①嵌入式軟件具有獨特的實用性。嵌入式軟件是為嵌入式系統服務的,這就要求它與外部硬件和設備聯系緊密。嵌入式系統以應用為中心,嵌入式軟件是應用系統,根據應用需求定向開發,面向產業、面向市場,需要特定的行業經驗。每種嵌入式軟件都有自己獨特的應用環境和實用價值。②嵌入式軟件應有靈活的適用性。嵌入式軟件通常可以認為是一種模塊化軟件,它應該能非常方便靈活的運用到各種嵌入式系統中,而不能破壞或更改原有的系統特性和功能。首先它要小巧,不能占用大量資源;其次要使用靈活,應盡量優化配置,減小對系統的整體繼承性,升級更換靈活方便。綜上所述,嵌入式軟件和硬件平臺密切相關,不同的硬件平臺可能使用不同的編譯器,直接使用C語言的數據類型,會引入硬件平臺和軟件平臺帶來的差異,不利于軟件移植。13.以下關于直接存儲器訪問(DMA)的敘述中,錯誤的是()。A、DMA是一種快速傳遞大數據的技術B、DMA將傳輸的數據從一個地址空間復制到另一個地址空間C、DMA數據傳送過程中,由CPU和DMA控制器共同控制D、在DMA控制器控制下,主存和外設之間直接交換數據答案:C解析:DMA直接在主存和外設之間建立一條數據傳輸通道,無需CPU來控制傳輸過程,是一種快速傳遞大數據塊的技術。14.若一臺服務器只開放了25和110兩個端口,那么這臺服務器可以提供()服務。A、E-mailB、WebC、DNSD、FTP答案:A解析:25端口是SMTP協議端口,110端口是POP3協議端口,二者分別是發送郵件和接收郵件的協議,因此可以提供電子郵件服務。15.執行下面的一段C程序后,變量ret的值為()。charstr[20];intret=strlen(strcpy(str,”Hello_World”));A、0B、11C、12D、20答案:B解析:本題中,從最內層括號開始看起,將常量拷貝到str中,strcpy函數會在字符結束符\0時停止拷貝,因此只管Hello_World長度,strlen相當于strlen(str),字符串長度為11.16.已知:charstr[10],*p=str;下面C語言語句中正確的是()。A、str="ABC";B、p="ABC";C、*str="ABC";D、*p="ABC”;答案:B解析:在C語言中,`charstr[10];`定義了一個字符數組`str`,它可以存儲最多9個字符和一個終止符'\0'。而`*p=str;`定義了一個字符指針`p`并將其初始化為指向`str`的第一個字符。接下來,我們分析每個選項:A.`str="ABC";`這是不正確的,因為`str`是一個字符數組,而不是一個字符指針。你不能直接將一個字符串字面值(如"ABC")賦值給一個字符數組。這樣做會導致類型不匹配錯誤。B.`p="ABC";`這是正確的。`p`是一個字符指針,你可以將一個字符串字面值(如"ABC")賦值給它。這樣,`p`將指向該字符串字面值的第一個字符。C.`*str="ABC";`這是不正確的。`*str`表示`str`數組的第一個元素,它是一個字符,而不是一個字符串。你不能將一個字符串字面值(如"ABC")賦值給一個字符。D.`*p="ABC";`這也是不正確的。與C選項類似,`*p`表示`p`指針指向的字符,而不是一個字符串。你不能將一個字符串字面值(如"ABC")賦值給一個字符。因此,正確答案是B,`p="ABC";`。17.DHCP客戶端可從DHCP服務器獲得______。A、DHCP服務器的地址和Web服務器的地址B、DNS服務器的地址和DHCP服務器的地址C、客戶端地址和郵件服務器地址D、默認網關的地址和郵件服務器地址答案:B解析:本題考查DHCP協議的工作原理。DHCP客戶端可從DHCP服務器獲得本機IP地址,DNS服務器的地址,DHCP服務器的地址,默認網關的地址等,但沒有Web服務器、郵件服務器地址。18.下面是路由表的4個表項,與地址2匹配的表項是()。A、2/22B、4/22C、4/22D、4/22答案:D解析:地址2中179的二進制碼為1011?0011,假如網絡號采用22位,與該地址匹配的路由表項則為4/22。19.計算機系統的層次結構如下圖所示,基于硬件之上的軟件可分為a、b和c三個層次。圖中a、b和c分別表示()。A、操作系統、系統軟件和應用軟件B、操作系統、應用軟件和系統軟件C、應用軟件、系統軟件和操作系統D、應用軟件、操作系統和系統軟件答案:C解析:從底到上,越來越抽象,與具體應用相關,與硬件無關,并且右邊有說明,則a是用戶使用的應用軟件,b是系統軟件,c是操作系統。20.下面是用遞推法計算菲波那(Fibonacci)級數第n項的函數,請填補空缺。intf(intn)intf0=0,fl=1,f,i;if(n==0)return0;if(n==1)return1;for(i=2;iA、f=f1B、f1=f0C、f=f0D、f1=f答案:D解析:本題考查C語言編程及算法方面的基礎知識。菲波那(Fibonacci)級數數列為0,1,1,2,3,5,8,13,…,即:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)當n>1時。21.測試網絡連通性通常采用的命令是()。A、NetstatB、PingC、MsconfigD、Cmd答案:B解析:ping命令用來測試網絡連通性。A用于顯示網絡狀態,C用于windows配置的應用程序;D是打開命令提示符窗口。22.通常嵌入式文件系統不具有()功能。A、提供建立、修改、改變和刪除目錄等服務B、提供創建、打開、讀寫、關閉和撤銷文件等服務C、提供對文件的加密和解密功能D、設置、修改對文件和目錄的存取權限答案:C解析:通常嵌入式文件系統比較簡單,主要提供文件存儲、檢索和更新等功能,一般不提供保護和加密等安全機制。它以系統調用和命令方式提供以下3種文件的操作服務:①提供建立、修改、改變和刪除目錄等服務;②提供創建、打開、讀寫、關閉和撤銷文件等服務,③設置、修改對文件和目錄的存取權限。通常,嵌入式文件系統可支持FAT32等標準的文件系統,還可支持自定義的實時文件系統和多種存儲設備,具有可裁減和可配置等特點。23.下面的程序使用了函數指針,其運行結果是______。#include<stdio.h>#include<math.h>intf1(inta){returna*a;}intf2(inta){returna*a*a;}voidmain(){intx=3,y1,y2,y3,y4;f=f1;y1=(*f)(x);y2=f1(x);f=f2;y3=f(x);y4=f2(x);printf("y1=%d,y2=%d,y3=%d,y4=%d\n",y1,y2,y3,y4);}A、y1=27,y2=9,y3=9,y4=27B、y1=9,y2=9,y3=27,y4=27C、y1=9,y2=27,y3=9,y4=27D、y1=27,y2=27,y3=9,y4=9答案:B解析:本題考查C語言函數指針的基礎知識。仔細閱讀程序,正確理解函數指針并將參數正確代入函數,可得到y1=9,y2=9,y3=27,y4=27的結果。24.DMA數據的傳送是以______為單位進行的。A、字節B、字C、數據塊D、位答案:C解析:DMA(DirectMemoryAccess,直接內存訪問)是一種計算機數據傳輸方式,它可以在不占用CPU的情況下,直接將數據從外設傳送到內存或從內存傳送到外設。在DMA傳送數據時,數據的傳送是以數據塊為單位進行的,因此答案為C。選項A字節、選項B字和選項D位都是數據的計量單位,但不是DMA數據傳送的單位。25.屬于面向對象、解釋型程序設計語言的是______A、XMLB、PythonC、PrologD、C++答案:B解析:本題考查程序語言基礎知識。XML(可擴展標記語言)是標準通用標記語言的子集,是一種用于標記電子文件使其具有結構性的標記語言。Python是一種面向對象、解釋型計算機程序設計語言。Prolog是邏輯型程序設計語言。26.虛擬存儲器的管理方式分為段式、頁式和段頁式三種,以下描述中,不正確的是______。A、頁式虛擬存儲器中,虛擬地址到實地址的變換是由主存中的頁表來實現的B、段式存儲管理中,段是按照程序的邏輯結構劃分的,各個段的長度一致C、段頁式存儲管理中主存的調入和調出是按照頁進行,但可按段來實現保護D、在一般的大中型機中,都采用段頁式的虛擬存儲管理方式答案:B解析:本題考查虛擬存儲器管理的基礎知識。虛擬存儲器的工作原理是:在執行程序時,允許將程序的一部分調入主存,其他部分保留在輔存。即由操作系統的存儲管理軟件先將當前要執行的程序段(如主程序)從輔存調入主存,暫時不執行的程序段(如子程序)仍保留在輔存,當需要執行存放在輔存的某個程序段時,由CPU執行某種程序調度算法將它們調入主存。虛擬存儲器的調度方式有分頁式、段式、段頁式三種。頁式調度是將邏輯和物理地址空間都分成固定大小的頁。主存按頁順序編號,而每個獨立編址的程序空間有自己的頁號順序,通過調度輔存中程序的各頁可以離散裝入主存中不同的頁面位置,并可據表一一對應檢索。頁式調度的優點是頁內零頭小,頁表對程序員來說是透明的,地址變換快,調入操作簡單;缺點是各頁不是程序的獨立模塊,不便于實現程序和數據的保護。段式調度是按程序的邏輯結構劃分地址空間,段的長度是隨意的,并且允許伸長,它的優點是消除了內存零頭,易于實現存儲保護,便于程序動態裝配;缺點是調入操作復雜。將這兩種方法結合起來便構成段頁式調度。在段頁式調度中把物理空間分成頁,程序按模塊分段,每個段再分成與物理空間頁同樣小的頁面。段頁式調度綜合了段式和頁式的優點。其缺點是增加了硬件成本,軟件也較復雜。大型通用計算機系統多數采用段頁式調度。頁式虛擬存儲器中,虛擬地址到實地址的變換是由主存中的頁表來實現的,段頁式存儲管理中主存的調入和調出是按照頁進行,但可按段來實現保護,段式存儲管理中,段是按照程序的邏輯結構劃分的,各個段的長度可以按照其實際需要進行大小分配。27.計算機系統的層次結構如下圖所示,基于硬件之上的軟件可分為a、b和c三個層次。圖中a、b和c分別表示()。A、操作系統、系統軟件和應用軟件B、操作系統、應用軟件和系統軟件C、應用軟件、系統軟件和操作系統D、應用軟件、操作系統和系統軟件答案:C解析:從底到上,越來越抽象,與具體應用相關,與硬件無關,并且右邊有說明,則a是用戶使用的應用軟件,b是系統軟件,c是操作系統。28.若一臺服務器只開放了25和110兩個端口,那么這臺服務器可以提供()服務。A、E-mailB、WebC、DNSD、FTP答案:A解析:25端口是SMTP協議端口,110端口是POP3協議端口,二者分別是發送郵件和接收郵件的協議,因此可以提供電子郵件服務。29.在某一分頁存儲管理系統中,頁面的大小為4KB。現有一作業,其部分頁表如表6-1所示。若給定一個十進制邏輯地址為8644,則其十進制物理地址是()。表6-1某分頁存儲管理系統部分頁表A、6186B、12330C、33220D、因產生缺頁中斷,暫時無法獲得答案:C解析:由于頁面的大小為4KB=22×210=4096B,邏輯地址8644=4096×2+452,得頁號為2,偏移量為452。查表7-15可知,頁號為2所對應的物理塊號是8,因此所求物理地址=4096×8+452=33220。30.下列關于C語言中結構類型的敘述中,錯誤的是()。A、結構第一個成員的地址和整個結構的地址相同B、缺省條件下,編譯器為每個成員按自然對齊(alignment)條件分配空間C、結構成員按照它們被聲明的順序在內存中順序存儲D、結構是一種復合數據類型,其構成元素只能是基本數據類型答案:D解析:結構類型即結構體struct,結構體第一個成員放在偏移為0的地方,稱為首地址,和整個結構體的地址相同;每個特定平臺有默認的對齊系數,程序員可以通過預編譯命令#pragmapack(n),n=1,2,4,8,16來改變這一系數,缺省條件下,編譯器為每個成員按自然對齊條件分配空間;結構體成員是按照聲明的順序在內存中順序存儲;結構體是C語言中聚合數據類型,可以被聲明為變量、指針、數據等,用來實現復雜的數據結構,結構體的成員也可以包含其他結構體。31.PPP中的安全認證協議是______,它使用三次握手的會話過程傳送密文。A、MD5B、PAPC、HAPD、HASH答案:C解析:PPP認證是可選的。PPP擴展認證協議(ExtensibleAuthenticationProtocol,EAP)可支持多種認證機制,并且允許使用后端服務器來實現復雜的認證過程。例如通過Radius服務器進行Web認證時,遠程訪問服務器(RAS)只是作為認證服務器的代理傳遞請求和應答報文,并且當識別出認證成功/失敗標志后結束認證過程。通常PPP支持的兩個認證協議是:①口令驗證協議(PasswordAuthenticationProtocol,PAP):提供了一種簡單的兩次握手認證方法,由終端發送用戶標識和口令字,等待服務器的應答,如果認證不成功,則終止連接。這種方法不安全,因為采用文本方式發送密碼,可能會被第三方竊取;②質詢握手認證協議(ChallengeHandshakeAuthenticationProtocol,CHAP):采用三次握手方式周期地驗證對方的身份。首先是邏輯鏈路建立后認證服務器就要發送一個挑戰報文(隨機數),終端計算該報文的Hash值并把結果返回服務器,然后認證服務器把收到的Hash值與自己計算的Hash值進行比較,如果匹配,則認證通過,連接得以建立,否則連接被終止。計算Hash值的過程有一個雙方共享的密鑰參與,而密鑰是不通過網絡傳送的,所以CHAP是更安全的認證機制。在后續的通信過程中,每經過一個隨機的間隔,這個認證過程都可能被重復,以縮短入侵者進行持續攻擊的時間。值得注意的是,這種方法可以進行雙向身份認證,終端也可以向服務器進行挑戰,使得雙方都能確認對方身份的合法性。32.以下描述中不屬于嵌入式操作系統特點的是______。A、面向應用,可以進行裁剪和移植B、用于特定領域,不需要支持多任務C、可靠性高,無須人工干預獨立運行,并處理各類事件和故障D、要求編碼體積小,能夠在嵌入式系統的有效存儲空間內運行答案:B解析:本題考查嵌入式操作系統的基礎知識。嵌入式操作系統(EOS,EmbeddedOperatingSystem)是指用于嵌入式系統的操作系統。嵌入式操作系統是一種用途廣泛的系統軟件,通常包括與硬件相關的底層驅動軟件、系統內核、設備驅動接口、通信協議、圖形界面、標準化瀏覽器等。嵌入式操作系統負責嵌入式系統的全部軟、硬件資源的分配、任務調度,控制、協調并發活動。它必須體現其所在系統的特征,能夠通過裝卸某些模塊來達到系統所要求的功能。目前在嵌入式領域廣泛使用的操作系統有:嵌入式實時操作系統μC/OS-Ⅱ、嵌入式Linux、WindowsEmbedded、VxWorks等,以及應用在智能手機和平板電腦的Android、iOS等。嵌入式操作系統的特點有:(1)系統內核小。由于嵌入式系統一般是應用于小型電子裝置,系統資源相對有限,所以內核較之傳統的操作系統要小得多。(2)專用性強。嵌入式系統的個性化很強,其中的軟件系統和硬件的結合非常緊密,一般要針對硬件進行系統的移植,即使在同一品牌、同一系列的產品中也需要根據系統硬件的變化和增減不斷進行修改。同時針對不同的任務,往往需要對系統進行較大更改,程序的編譯下載要和系統相結合,這種修改和通用軟件的“升級”是完全兩個概念。(3)系統精簡。嵌入式系統一般沒有系統軟件和應用軟件的明顯區分,不要求其功能設計及實現上過于復雜,這樣一方面利于控制系統成本,同時也利于實現系統安全。(4)高實時性。高實時性的系統軟件是嵌入式軟件的基本要求,而且軟件要求固態存儲,以提高速度;軟件代碼要求高質量和高可靠性。(5)多任務的操作系統。嵌入式軟件開發需要使用多任務的操作系統。嵌入式系統的應用程序可以沒有操作系統直接在芯片上運行。但是為了合理地調度多任務、利用系統資源、系統函數以及和專用庫函數接口,用戶必須自行選配操作系統開發平臺,這樣才能保證程序執行的實時性、可靠性,并減少開發時間,保障軟件質量。33.以下關于嵌入式實時系統的敘述中,不正確的是______。A、嵌入式實時系統,要求系統在投入運行前即具有確定性和可預測性B、可預測性是指系統在運行之前,其功能、響應特性和執行結果是可預測的C、確定性是指系統在給定的狀態和輸入下,在確定的時間內給出確定的結果D、對嵌入式實時系統失效的判斷僅依賴對其運行結果的正確性判斷答案:D解析:A、B、C三個選項都是嵌入式實時系統的基本要求,即系統需要具有確定性和可預測性,能夠在給定的狀態和輸入下,在確定的時間內給出確定的結果。因此,選項A、B、C都是正確的。而選項D則是不正確的。對于嵌入式實時系統的失效判斷,不僅需要對其運行結果的正確性進行判斷,還需要考慮系統的實時性和可靠性等因素。因此,選項D是不正確的。34.集線器與網橋的區別是:______。A、集線器不能檢測發送沖突,而網橋可以檢測沖突B、集線器是物理層設備,而網橋是數據鏈路層設備C、網橋只有兩個端口,而集線器是一種多端口網橋D、網橋是物理層設備,而集線器是數據鏈路層設備答案:B解析:集線器是物理層設備,相當于在10BASE2局域網中把連接工作站的同軸電纜收攏在一個盒子里,這個盒子只起到接收和發送的功能,可以檢測發送沖突,但不能識別數據鏈路層的幀。網橋是數據鏈路層設備,它可以識別數據鏈路層MAC址,有選擇地把幀發送到輸出端口,網橋也可以有多個端口,如果網橋端口很多,并配置了加快轉發的硬件,就成為局域網交換機。35.某系統中有3個并發進程,都需要同類資源4個,試問該系統不會發生死鎖的最少資源數是()。A、9B、10C、11D、12答案:B解析:3個進程要想不死鎖,每個進程都需要4個同類資源,所以只要每個進程都有3個資源,另外一個在給一個額外的資源。那么3個進程中有一個可以運行。運行完以后,釋放資源然后其余的進程在申請資源就可以了。36.假設段頁式存儲管理系統中的地址結構如下圖所示,則系統()。A、最多可有256個段,每個段的大小均為2048個頁,頁的大小為8KB、最多可有256個段,每個段的最大允許有2048個頁,頁的大小為8KC、最多可有512個段,每個段的大小均為1024個頁,頁的大小為4KD、最多可有512個段,每個段最大允許有1024個頁,頁的大小為4K答案:B解析:本題考查操作系統頁式存儲管理方面的基礎知識。從圖中可見,頁內地址的長度是13位,213=8192,即8K;頁號部分的地址長度是11位,每個段最大允許有211=2048個頁;段號部分的地址長度是8位,28=256,最多可有256個段。故本題的正確答案為B。37.下列屬于低級任務間通信方式的是()。A、共享內存B、PV操作C、消息傳遞D、管道通信答案:B解析:在實時操作系統中,任務間通信是指任務之間為了協調工作,需要相互交換數據和控制信息,可分為低級通信和高級通信兩種類型。PV操作等信號量機制和信號機制屬于低級任務間通信方式。消息傳遞、共享內存、管道通信屬于高級任務間通信方式。任務間通信又可分為直接通信和間接通信兩種類型。send、receive原語屬于直接通信方式,郵箱、消息隊列屬于間接通信方式。38.假設系統中有n個進程共享3臺掃描儀,并采用PV操作實現進程同步與互斥。若系統信號量S的當前值為-1,進程P1、P2又分別執行了1次P(S)操作,那么信號量S的值應為()。A、3B、-3C、1D、-1答案:B解析:本題考查的是操作系統PV操作方面的基本知識。系統采用PV操作實現進程同步與互斥,若有n個進程共享3臺掃描儀,那么信號量S初值應為3。若系統當前信號量S的值為-1,此時,P1、P2又分別執行了1次P(S)操作,即當P1進程執行P(S)操作時,信號量S的值等于-2;當P2進程執行P(S)操作時,信號量S的值等于-3。39.仔細閱讀下面程序,請給出運行結果()。#include#includeintf1(intx){returnx*x;}intf2(intx){returnx*x*x;}main(){intx=3,y1,y2,y3,y4;int(*f)();f=f1;y1=(*f)(x);y2=f1(x);f=f2;y3=f(x);y4=f2(x);printf(“y1=%d,y2=%d,y3=%d,y4=%d\n”,y1,y2,y3,y4);}A、y1=9,y2=9,y3=27,y4=27B、y1=3,y2=9,y3=27,y4=9C、y1=3,y2=3,y3=9,y4=9D、y1=3,y2=9,y3=9,y4=27答案:A解析:首先,定義了兩個函數f1和f2,分別返回參數的平方和立方。在主函數中,定義了變量x和y1、y2、y3、y4,其中y1、y2、y3、y4都是int類型。接著,定義了一個函數指針f,指向函數f1,然后調用f指向的函數,將結果賦值給y1,此時y1=9。然后,直接調用函數f1,將結果賦值給y2,此時y2=9。接著,將函數指針f指向函數f2,然后調用f指向的函數,將結果賦值給y3,此時y3=27。最后,直接調用函數f2,將結果賦值給y4,此時y4=27。最后,輸出y1、y2、y3、y4的值,即y1=9,y2=9,y3=27,y4=27。因此,答案為A。40.算法的時間復雜度是指______。A、執行算法程序所需要的時間B、算法程序的長度C、算法執行過程中所需要的基本運算次數D、算法程序中的指令條數答案:C解析:本題考查計算機程序設計方面的基礎知識。算法復雜度分為時間復雜度和空間復雜度。時間復雜度是指執行算法所需要的計算工作量;而空間復雜度是指執行這個算法所需要的內存空間。在計算機科學中,算法的時間復雜度是一個函數,它定量描述了該算法的運行時間。這是一個關于代表算法輸入值的字符串的長度的函數。一般情況下,算法的基本操作重復執行的次數是模塊n的某一個函數f(n),因此,算法的時間復雜度記做:T(n)=O(f(n))。算法的時間復雜度是一個執行時間數量級的表示,并不是執行算法程序所需要的時間值,也與算法程序的長度無必然聯系,也不能簡單的認為就是算法程序中的指令條數。而是算法執行過程中在所需要的基本運算次數,與模塊n(規模)相關,隨著n的增大,算法執行的時間的增長率和f(n)的增長率成正比。41.假設以下代碼運行環境為32位系統,其中,__attribute__((packed))的作用是告訴編譯器取消結構在編譯過程中的優化對齊,按照實際占用字節數進行對齊。代碼段1:structstudent1{charname[10];longsno;charsex;floatscore[4];}__attribute__((packed))*p1,a1,b1;代碼段2:unionstudent2{charname[10];longsno;charsex;floatscore[4];}*p2,a2,b2;sizeof(structstudent1)、sizeof(unionstudent2)的結果分別是______。A、248和128B、31和31C、31和16D、16和16答案:C解析:本題考查程序開發的基礎知識。題目中student1是一個結構體,sizeof(structstudent1)結果為結構體student1所有元素字節數之和,因此sizeof(structstudent1)結果為:10+4+1+16=31字節。題目中student2是個聯合,sizeof(unionstudent2)結果是聯合student2中最長一個元素的字節數。因此sizeof(unionstudent2)結果為:16字節。42.以下4種路由中,______路由的子網掩碼是55。A、遠程網絡B、靜態C、默認D、主機答案:C解析:主機路由的子網掩碼是55。網絡路由要指明一個子網,所以不可能為全1,默認路由是訪問默認網關,而默認網關與本地主機屬于同一個子網,其子網掩碼也應該與網絡路由相同,對靜態路由也是同樣的道理。43.現有3個同時到達的作業J1、J2和J3,它們的執行時間分別是T1、T2和T3,且T1<T2<T3。系統按單道方式運行且采用短作業優先算法,則平均周轉時間是______。A、T1+T2+T3B、(T1+T2+T3)/3C、(3T1+2T2+T3)/3D、(T1+2T2+3T3)/3答案:C解析:短作業優先(shortestJobFirst,SJF)調度算法用于進程調度時稱為短進程優先調度算法,該調度算法既可以用于作業調度也可以用于進程調度。在作業調度中,短作業優先調度算法每次從后備作業隊列中選擇估計運行時間最短的一個或幾個作業,將它們調入內存,分配必要的資源,創建進程并放入就緒隊列。由于3個作業同時到達,所以作業執行的次序依次是J1、J2和J3,故周轉時間分別為:J1:T1;J2:T1+T2;J3:T1+T2+T3;則平均周轉時間:(T1+(T1+T2)+(T1+T2+T3))/3=(3T1+2T2+T3)/344.常用的函數參數傳遞方式有傳值與傳引用兩種。()。A、在傳值方式下,形參與實參之間互相傳值B、在傳值方式下,實參不能是變量C、在傳引用方式下,修改形參實質上改變了實參的值D、在傳引用方式下,實參可以是任意的變量和表達式答案:C解析:傳值調用和引用調用是常用的兩種參數傳遞方式。在傳值調用方式下,是將實參的值傳遞給形參,該傳遞是單方向的,調用結束后不會再將形參的值傳給實參。在引用調用方式下,實質上是將實參的地址傳遞給形參,借助指針在間接訪問數據方式下(或者將形參看作是實參的別名),在被調用函數中對形參的修改實質上是對實參的修改。45.Linux系統對普通文件默認的訪問權限是()。A、-rwxrwxB、-rw-rw-r--C、-rwxD、-rw-r--r--答案:D解析:Linux系統文件訪問的三種處理模式是讀取,、寫入w和執行x。對普通文件默認的訪問權限是:文件所有者能夠讀寫,但不能執行;文件所有者同組成員和其他成員只能讀取,即“-rw-r--r--”。46.三目運算符表達式“d=a>b?(a>c?a:c):(b>c?b:c);”等價于下列①、②、③、④四組程序的______組解釋。A、④B、③C、②D、①答案:A解析:本題考查三目運算符表達式的基礎知識。題目中的三目運算表達式“d=a>b?(a>c?a:c):(b>c?b:c)”求值結果是取a、b、c中最大的值賦給d。三目運算符的通常格式為“a>b?a:b”,其含義為:當a>b為真時,取a為表達式的值,否則,取b為表達式的值。需要注意的是,三元運算符“?”的執行優先級低于所有二元操作符,僅高于逗號運算符。47.以太網的數據幀結構如圖6-3所示,包含在TCP段中的數據部分最長應該是()字節。A、1434B、1460C、1480D、1500答案:B解析:通常,Ethernet以太網的數據幀最大長度為1518字節,EthernetⅡ幀頭為18字節,IP頭最少為20字節,TCP頭最少為20字節,數據部分最長為1518-18-20-20=1460B。48.設n的初值為正整數,設計一個遞歸算法如下:intfact(intn){if(n<=0)return1;elsereturn(n*fact(n-1));}以下敘述中,正確的是______。A、計算fact(n)需要執行n+2次函數調用B、計算fact(n)需要執行n+1次函數調用C、計算fact(n)需要執行n次函數調用D、計算fact(n)需要執行n-1次函數調用答案:B解析:本題考查函數遞歸調用方面的相關知識。遞歸法是描述算法的一種強有力的方法,其思想是:將N=n時不能得出解的問題,設法遞歸(壓棧)轉化為求n-1,n-2,…的問題,一直到N=0或1的初始情況,由于初始情況的解可以給出,因此,開始層層退棧得到N=2,3,…,n時的解,得到最終結果。本題中,主程序調用fact(n)稱為外部調用,其他調用稱為內部調用,直到調用fact(0)為止。fact(n)調用fact(n-1),fact(n-1)調用fact(n-2)……fact(1)調用fact(0),內部調用n次,外部調用一次,共n+1次。49.以下C語言程序的輸出結果是()。structs{intx,y;}data[2]={10,100,20,200};main(){structs*p=data;p++;printf(“%d\n”,++(p->x));}A、10B、11C、20D、21答案:D解析:data是s類型的數組,即結構體數組,用{10,100,20,200}賦值,可知:data[0].x=10data[0].y=100data[1].x=20data[1].y=200structs*p,p是data數組的指針。指向數組的第一個元素,*p即為data[0]。p++之后,即地址向后移動,此時p指向數組的第二個元素,*p即為data[1].p->x和(*p).x是一樣的,p->x和data[1].x等價。所以在++(p->x)之后,data[0].x的值變為21。輸出21。50.以下關于文件系統的敘述中,不正確的是______。A、文件控制塊是文件系統中最重要的數據結構,但不是文件存在的唯一標志B、文件控制塊主要包括文件的標識、位置和訪問權限等信息C、文件目錄將系統中所有的文件控制塊按照某種規律組織起來以便于檢索D、文件目錄也是一種文件答案:A解析:本題考查計算機文件系統方面的基礎知識。文件控制塊是文件系統中最重要的數據結構,是文件存在的唯一標志,它存放文件的一些基本信息。主要包括三大部分:文件的標識信息,包括文件名、所有者名、文件類型、文件最近修改時間等;文件的位置信息,包括文件的長度、文件存放位置等;文件的訪問權限信息,例如口令、保存時限、保護類別等。文件目錄是文件控制塊的有序集合,將系統中所有的文件控制塊按照某種規律組織起來以便于檢索,就形成了文件目錄,文件目錄也由文件組成。51.以下協議中屬于應用層協議的是(),該協議的報文封裝在(請作答此空)中傳送。A、TCPB、IPC、UDPD、ICMP答案:C解析:ARP和ICMP是網絡層協議,X.25是數據鏈路層協議,只有SNMP是應用層協議。SNMP協議的報文是封裝在UDP協議中傳送。52.假設磁盤塊與緩沖區大小相同,每個盤塊讀入緩沖區的時間為10μs,由緩沖區送至用戶區的時間是5μs,系統對每個磁盤塊數據的處理時間為2μs。若用戶需要將大小為10個磁盤塊的Doc1文件逐塊從磁盤讀入緩沖區,并送至用戶區進行處理,那么采用單緩沖區需要花費的時間為______μs。A、100B、107C、152D、170答案:C解析:對于單緩沖區,每個磁盤塊需要讀入緩沖區、送至用戶區、處理三個步驟,總時間為:$10μs+5μs+2μs=17μs$對于大小為10個磁盤塊的Doc1文件,需要讀入10次,每次讀入的時間為17μs,總時間為:$10\times17μs=170μs$因此,選項D為正確答案。53.以下關于文件系統的敘述,錯誤的是()。A、文件控制塊是文件系統中最重要的數據結構,但不是文件存在的唯一標志B、文件控制塊主要包括文件的標識信息、位置信息和文件的訪問權限信息等C、文件目錄將系統中所有的文件控制塊按照某種規律組織起來以便于檢索D、文件目錄也由文件組成答案:A解析:文件控制塊FCB就是文件存在的唯一標志,存放文件的一些基本信息,包括文件的標識信息(文件名、所有者、文件類型、最近修改時間等)、位置信息(文件長度、存放位置等)、訪問權限信息(口令、保存時限、保護類別)等。文件目錄是文件控制塊的有序集合,將系統中所有的FCB按照某種規律組織起來便于檢索,就形成了文件目錄,文件目錄也由文件組成。54.在TCP/IP網絡中,為各種公共服務保留的TCP端口號范圍是()。A、1~255B、1~1023C、1~1024D、1~65535答案:B解析:在TCP/IP網絡中,傳輸層的傳輸控制協議TCP和用戶數據包協議UDP的源端口、目的端口均占用16bit,其所能表達的端口號范圍達2^16=65536,但其中為各種公共服務保留的TCP/UDP端口號范圍是1~1023。55.分配給某公司網絡的地址塊是/20,該網絡可以被劃分為______個C類子網。A、4B、8C、16D、32答案:C解析:由于分配給公司網絡的地址塊是/20,留給子網掩碼的比特數只有4位,所以只能劃分為16個C類子網,這16個C類子網的子網號為11000000~11001111,即192~207,所以不屬于該公司的網絡地址。56.TCP使用的流量控制協議是______。A、固定大小的滑動窗口協議B、后退N幀的ARQ協議C、可變大小的滑動窗口協議D、停等協議答案:C解析:TCP的流量控制采用了可變大小的滑動窗口協議,由接收方指明接收緩沖區的大小(字節數),發送方發送了規定的字節數后等待接收方的下一次請求。固定大小的滑動窗口協議用在數據鏈路層的HDLC中。可變大小的滑動窗口協議可以應付長距離通信過程中線路延遲不確定的情況,而固定大小的滑動窗口協議則適合鏈路兩端點之間通信延遲固定的情況。57.下列關于任務上下文切換的描述中,不正確的是______。A.任務上下文是任務控制塊(TCA、的組成部分B、上下文切換是由一個特殊的任務完成C、上下文切換時間是影響RTOS性能的重要指標D、上下文切換由RTOS內部完成答案:B解析:本題考查嵌入式操作系統的基礎知識。在多任務系統中,上下文切換指的是當處理器的控制權由運行任務轉移到另外一個就緒任務時所執行的操作。任務的上下文是任務控制塊(TCB)的組成部分,記錄著任務的寄存器、狀態等信息。當運行的任務轉為就緒、掛起或刪除時,另外一個被選定的就緒任務就成為當前任務。上下文切換包括保存當前任務的狀態,決定哪一個任務運行,恢復將要運行的任務的狀態。保護和恢復上下文的操作是依賴特定的處理器的。上下文切換時間是影響嵌入式實時操作系統RTOS性能的一個重要指標。上下文切換是在RTOS內部完成的,上下文切換由一個特殊的任務完成的說法是錯誤的,故本題應選擇B。58.會導致進程從執行態變為就緒態的事件是()。A、執行P(wait)操作B、申請內存失敗C、啟動I/O設備D、被高優先級進程搶占答案:D解析:本題考查操作系統調度的基礎知識。進程切換是多任務多用戶操作系統所應具有的基本功能。操作系統為了控制進程的執行,必須有能力掛起正在CPU上運行的進程,并恢復以前掛起的某個進程的執行,這種行為被稱為進程切換,任務切換或上下文切換。或者說,進行進程切換就是從正在運行的進程中收回CPU,然后再使待運行進程來占用CPU。這里所說的從某個進程收回CPU,實質上就是把進程存放在CPU的寄存器中的中間數據找個地方存起來,從而把CPU的寄存器騰出來讓其他進程使用。進程在其生存期內可能處于如下三種基本狀態之一:(a)執行態(Run):進程占有CPU資源,正在運行。顯然,在單處理機系統中任一時刻只能有一個進程處于此種狀態;(b)就緒態(Ready):進程本身具備運行條件,但由于處理機的個數少于可運行進程的個數,暫未投入運行。即相當于等待CPU資源;(c)等待態(Wait):也稱掛起態(Suspended)、封鎖態(Blocked)、睡眠態(Sleep)。進程本身不具備運行條件,即使分給它處理機也不能運行。進程正等待某一個事件的發生,如等待某一資源被釋放,等待與該進程相關的I/O傳輸的完成信號等。進程的三個基本狀態之間是可以相互轉換的。具體地說,當一個就緒進程獲得CPU時,其狀態由就緒變為執行;當一個執行進程被剝奪CPU時,如用完系統分給它的時間片、出現更高優先級別的其他進程,其狀態由運行變為就緒;當一個執行進程因某事件受阻時,如所申請資源被占用、啟動I/o傳輸未完成,其狀態由運行變為等待;當所等待事件發生時,如得到申請資源、I/O傳輸完成,其狀態由等待變為就緒。59.在C程序中,語句“char*func(intx,inty);”表示的含義是()。A、對函數func的定義B、對函數func的調用C、對函數func返回值類型的說明D、對函數func的原型說明答案:D解析:函數的定義需要返回值、函數名、形參、函數體,這里缺少了函數體,并且后面加了分號表示一條語句,是函數的聲明,即函數的原型說明。60.分配到必要的資源并獲得處理機時的進程狀態是()。A、就緒狀態B、執行狀態C、阻塞狀態D、撤銷狀態答案:B解析:進程在分配到必要的資源并獲得處理機時,即進入執行狀態,開始執行其指定的任務。因此,答案為B。其他選項的解釋如下:A.就緒狀態:進程已經準備好運行,但還未獲得處理機的時間片。C.阻塞狀態:進程因為等待某些事件的發生而暫停運行,例如等待輸入輸出完成、等待資源分配等。D.撤銷狀態:進程被強制終止或自行退出,其占用的資源被釋放。61.以下關于層次化局域網模型中核心層的敘述,正確的是______。A、為了保障安全性,對分組要進行有效性檢查B、將分組從一個區域高速地轉發到另一個區域C、由多臺二、三層交換機組成D、提供多條路徑來緩解通信瓶頸答案:B解析:在層次化局域網模型中,核心層的主要功能是將分組從一個區域高速地轉發到另一個區域。核心層是因特網絡的高速骨干,由于其重要性,因此在設計中應該采用冗余組件設計,使其具備高可靠性,能快速適應變化。在設計核心層設備的功能時,應盡量避免使用數據包過濾、策略路由等降低數據包轉發處理的特性,以優化核心層獲得低延遲和良好的可管理性。匯聚層是核心層和接入層的分界點,應盡量將資源訪問控制、核心層流量的控制等都在匯聚層實施。匯聚層應向核心層隱藏接入層的詳細信息,匯聚層向核心層路由器進行路由宣告時,僅宣告多個子網地址匯聚而形成的一個網絡。另外,匯聚層也會對接入層屏蔽網絡其他部分的信息,匯聚層路由器可以不向接入路由器宣告其他網絡部分的路由,而僅僅向接入設備宣告自己為默認路由。接入層為用戶提供了在本地網段訪問應用系統的能力,接入層要解決相鄰用戶之間的互訪需要,并且為這些訪問提供足夠的帶寬。接入層還應該適當負責一些用戶管理功能,包括地址認證、用戶認證和計費管理等內容。接入層還負責一些信息的用戶信息收集工作,例如用戶的IP地址、MAC地址和訪問日志等信息。62.()主要用于Linux系統中進程間相互傳遞數據。A、FIFO文件B、設備文件C、鏈接文件D、目錄文件答案:A解析:本題考查的是Linux系統中進程間通信的方式,選項中只有FIFO文件是用于進程間相互傳遞數據的,因此答案為A。其他選項的作用如下:B.設備文件:用于訪問系統中的硬件設備。C.鏈接文件:用于創建文件的硬鏈接或符號鏈接。D.目錄文件:用于存儲文件和子目錄的容器。63.x是整型變量,pb是整型指針變量,如果將pb指向x,則正確的表達式是______。A、pb=&xB、pb=xC、*pb=&xD、*pb=*x答案:A解析:本題考查C語言方面的基礎知識。選項A將變量x的地址賦給指針變量pb,使pb指向x;選項B將x的值當作地址賦給指針pb;選項C將x的地址賦給指針pb指向的地址等于x的內存單元;選項D使pb指向一個地址等于x值的內存單元。根據題意,如果將pb指向x,則正確的表達式是pb=&x。因此正確答案為A。64.以下關于程序設計語言的敘述中,不正確的是()。A、腳本語言中不使用變量和函數B、標記語言常用于描述格式化和鏈接C、腳本語言采用解釋方式實現D、編譯型語言的執行效率更高答案:A解析:任何程序設計語言都要使變量和函數,這是基本組成,腳本語言中只是不需要定義就可以使用,高級程序設計語言需要先定義再使用。65.執行下面的一段C程序后,變量ret的值為()。charstr[20];intret=strlen(strcpy(str,”Hello_World”));A、0B、11C、12D、20答案:B解析:本題中,從最內層括號開始看起,將常量拷貝到str中,strcpy函數會在字符結束符\0時停止拷貝,因此只管Hello_World長度,strlen相當于strlen(str),字符串長度為11.66.操作系統中的Spooling技術,實質是將______轉化為共享設備的技術。A、虛擬設備B、獨占設備C、脫機設備D、塊設備答案:B解析:本題考查嵌入式操作系統的基礎知識。Spooling的意思是外部設備同時聯機操作,又稱為假脫機輸入/輸出操作,是操作系統中采用的一項將獨占設備改造成共享設備的技術。Spooling系統的組成包括三部分:輸入井和輸出井、輸入緩沖區和輸出緩沖區、輸入進程和輸出進程。為了解決CPU輸出數據的速度遠遠高于打印機的打印速度這一矛盾,在操作系統中一般采用Spooling技術。67.下面的一段C程序中,循環體語句______退出循環。unsignedcharn;inttotal;n=50;while(n-->=0)?{total+=n;}A、執行49次后B、執行50次后C、執行51次后D、死循環,不會答案:D解析:本題考查C語言編程的基本知識。在本題中考生需注意unsignedchar的用法,因為n為無符號整型,永遠不會為負數,所以循環語句會陷入死循環,不會退出循環。在實際的軟件編程中一定要小心判斷條件是否可達到。68.執行下面的一段C程序后,輸出結果變量應為______。sub(intx,inty,int*z){*z=y-x;}main(){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%d,%d,%d\n",a,b,c);}A、5,2,3B、-5,-12,-7C、-5,-12,-17D、5,-2,-7答案:B解析:首先看函數sub,它的作用是將y-x的值存入指針z所指向的變量中。在main函數中,先調用sub(10,5,&a),將5存入a中;然后調用sub(7,a,&b),將a(即5)與7相減得到-2,存入b中;最后調用sub(a,b,&c),將a(即5)與b(即-2)相減得到7,存入c中。因此,輸出結果應為-5,-12,-7,選項B正確。69.通過______可清除上網痕跡。A、禁用腳本B、禁止SSLC、清除CookieD、查看ActiveX控件答案:C解析:本題考查瀏覽器配置相關知識。禁用腳本是禁止本地瀏覽器解釋執行客戶端腳本;禁止SSL是禁止采用加密方式傳送網頁;Cookie中保存有用戶賬號等臨時信息,即上網之后留下的信息;ActiveX控件是本地可執行的插件。因此要清除上網痕跡,需清除Cookie。70.以下關于嵌入式微處理器中斷的敘述中,錯誤的是()。A、大多數系統可以使用輪詢方式讓多個設備共享一個中斷B、高優先級中斷可以搶占低優先級中斷,最高優先級中斷不可被搶占C、多個中斷源同時請求中斷時,系統只能響應一個中斷,其他中斷會被丟棄D、當中斷發生時,系統將自動備份當前程序狀態寄存器答案:C解析:A.大多數系統可以使用輪詢方式讓多個設備共享一個中斷。這個說法是正確的。在一些嵌入式系統中,由于中斷資源有限,需要多個設備共享一個中斷,這時可以使用輪詢方式,讓多個設備依次使用同一個中斷。B.高優先級中斷可以搶占低優先級中斷,最高優先級中斷不可被搶占。這個說法也是正確的。在嵌入式系統中,中斷的優先級是非常重要的,高優先級中斷可以打斷低優先級中斷的執行,最高優先級中斷不可被其他中斷打斷。C.多個中斷源同時請求中斷時,系統只能響應一個中斷,其他中斷會被丟棄。這個說法是錯誤的。當多個中斷源同時請求中斷時,系統會根據中斷的優先級來選擇響應其中一個中斷,其他中斷會被暫時掛起,等待下一次中斷響應。D.當中斷發生時,系統將自動備份當前程序狀態寄存器。這個說法是正確的。在中斷處理過程中,系統會自動備份當前程序狀態寄存器,以便在中斷處理完成后能夠正確地返回到原來的程序執行狀態。綜上所述,選項C是錯誤的。71.將高級語言源程序翻譯成機器語言程序的過程中,常引入中間代碼。以下關于中間代碼的敘述中,不正確的是______。A、中間代碼不依賴于具體的機器B、使用中間代碼可提高編譯程序的可移植性C、中間代碼可以用樹或圖表示D、中間代碼可以用棧和隊列表示答案:D解析:本題考查程序語言基礎知識。從原理上講,對源程序進行語義分析之后就可以直接生成目標代碼,但由于源程序與目標代碼的邏輯結構往往差別很大,特別是考慮到具體機器指令系統的特點,要使翻譯一次到位很困難,而且用語法制導方式機械生成的目標代碼往往是煩瑣和低效的,因此有必要設計一種中間代碼,將源程序首先翻譯成中間代碼表示形式,以利于進行與機器無關的優化處理。由于中間代碼實際上也起著編譯器前端和后端分水嶺的作用,所以使用中間代碼也有助于提高編譯程序的可移植性。常用的中間代碼有后綴式、三元式、四元式和樹(圖)等形式。72.在嵌入式操作系統中,兩個任務并發執行,一個任務要等待另外一個任務發來消息后再繼續執行,這種制約性合作關系被稱為任務的______。A、同步B、互斥C、調度D、等待答案:A解析:本題考查嵌入式操作系統的基礎知識。嵌入式操作系統是一種用途廣泛的系統軟件,通常包括與硬件相關的底層驅動軟件、系統內核、設備驅動接口、通信協議、圖形界面、標準化瀏覽器等。嵌入式操作系統負責嵌入式系統的全部軟、硬件資源的分配、任務調度,控制、協調并發活動。目前在嵌入式領域廣泛使用的操作系統有:嵌入式實時操作系統μC/OS-Ⅱ、嵌入式Linux、WindowsEmbedded、VxWorks等,以及應用在智能手機和平板電腦的Android、iOS等。在所有嵌入式操作系統中,同步和互斥都是常用的任務間通信機制。互斥指的是兩個或兩個以上的任務,不能同時進入關于同一組共享變量的臨界區域,否則可能發生與時間有關的錯誤,這種現象被稱作互斥。也就是說,一個任務正在訪問臨界資源,另一個要訪問該資源的進程必須等待。同步則是把異步環境下的一組并發任務因直接制約而互相發送消息、進行互相合作、互相等待,使得各任務按一定的速度執行的過程。具有同步關系的一組并發任務稱為合作任務,合作任務間互相發送的信號稱為消息或事件。用P、V原語操作實現同步的實例為:設任務A和B通過緩沖區隊列傳遞數據。A為發送任務、B為接收任務、A發送數據時調用發送過程,B接收數據時調用過程,且數據的發送和接收過程滿足如下條件:①在A至少送一塊數據入一個緩沖區之前,B不可能從緩沖區中取出數據;②A往緩沖隊列發送數據時,至少有一個緩沖區是空的;③由A發送的數據塊在緩沖隊列中按先進先出(FIFO)方式排列。73.在支持多線程的操作系統中,假設進程P創建了若干個線程,那么______是不能被這些線程共享的。A、該進程中打開的文件B、該進程的代碼段C、該進程中某線程的棧指針D、該進程的全局變量答案:C解析:在同一進程中的各個線程都可以共享該進程所擁有的資源,如訪問進程地址空間中的每一個虛地址;訪問進程所擁有的已打開文件、定時器、信號量等,但是不能共享進程中某線程的棧指針。74.gdb是一款GNU組織開發并發布的Linux程序調試工具,它使用戶能在程序運行時觀察程序的內部結構和內存的使用情況。以下不屬于gdb功能的是______。A、能監視程序中變量的值B、能設置斷點以使程序在指定的代碼行上停止執行C、能逐行的執行代碼D、能發現代碼中的語法錯誤答案:D解析:本題考查嵌入式軟件開發工具方面的基礎知識。gdb是GNU開源組織發布的一個強大的程序調試工具。一般來說,gdb的主要功能包括:1.執行程序。運行準備調試的程序,在命令后面可以跟隨發給該程序的任何參數。2.顯示數據。檢查各個變量的值,顯示被調試的語言中任何有效的表達式。3.斷點。用來在調試的程序中設置斷點,該命令有如下四種形式:使程序恰好在執行給定行之前停止;使程序恰好在進入指定的函數之前停止;如果條件是真,程序到達指定行或函數時停止;在指定例程的入口處設置斷點。4.斷點管理。包括顯示當前gdb的斷點信息、刪除指定的某個斷點、禁止使用某個斷點、允許使用某個斷點、清除源文件中某一代碼行上的所有斷點等。5.變量檢查賦值。識別數組或變量的類型,提供一個結構的定義,將值賦予變量。6.單步執行。包括不進入的單步執行、進入的單步執行。如果已經進入了某函數,退出該函數返回到它的調用函數中。7.函數調用。調用和執行一個函數。結束執行當前函數,顯示其返回值。8.機器語言工具。有一組專用的gdb變量可以用來檢查和修改計算機的通用寄存器。9.信號。gdb通常可以捕捉到發送給它的大多數信號,通過捕捉信號,它就可決定對于正在運行的進程要做些什么工作。代碼中的語法錯誤,可在編譯階段由編譯器檢查出來,不屬于調試器的功能。75.以下與文件系統相關的敘述中,不正確的是()。A、文件系統負責文件的組織、存儲、檢索、命名、共享和保護B、文件系統為用戶提供描述文件抽象的程序接口C、文件通常存儲在磁盤或其他非易失存儲介質上D、程序設計者需要關心文件存儲分配的細節答案:D解析:A選項正確,文件系統確實負責文件的組織、存儲、檢索、命名、共享和保護。B選項正確,文件系統為用戶提供描述文件抽象的程序接口,使得用戶可以方便地對文件進行操作。C選項正確,文件通常存儲在磁盤或其他非易失存儲介質上,以保證數據的長期保存。D選項不正確,程序設計者不需要關心文件存儲分配的細節,這是文件系統的職責。程序設計者只需要使用文件系統提供的接口來操作文件即可。綜上所述,選項D是不正確的。76.在某嵌入式系統中采用PowerPC處理器,若C語言代碼中定義了如下的數據類型變量X,則X所占用的內存字節數是()。A、8B、13C、16D、24答案:A解析:C語言中,union的使用與struct的用擇非常類似,主要區別在于union維護足夠的空間來置放多個數據成員中的“一種”,而不是為每一個數據成員配置空間,在union中所有的數據成員共用一個空間,同1時間只能儲存其中一個數據成員,所有的數據成員具有相同的起始地址。—個union只配置—個足夠大的空間以來容納最大長度的數據成員,以上例而言,最大長度是double型態,所以X的空間大小就是double數據類型的大小。Double為雙精度浮點數,占用8個字節空間。77.閱讀下面的C語言程序,請給出正確的輸出結果()。#include#defineN10#defines(x)x*x#definef(x)(x*x)#defineg(x)((x)*(x))main(){inti1,i2,i3,i4;i1=1000/s(N);i2=1000/f(N);i3=f(N+1);i4=g(N+1);printf(“i1=%d,i2=%d,i3=%d,i4=%d\n”,i1,i2,i3,i4);}A、i1=1000,i2=10,i3=21,i4=121B、i1=10,i2=10,i3=121,i4=121C、i1=1000,i2=1000,i3=21,i4=21D、i1=10,i2二1000,i3=121,i4=21答案:A解析:首先,宏定義中的s(x)表示x*x,f(x)表示(x*x),g(x)表示(x*x)。接著,程序中定義了四個整型變量i1、i2、i3、i4。i1=1000/s(N)表示i1的值為1000除以s(N),即1000除以N*N,由于N等于10,所以i1的值為1000/10*10=1000。i2=1000/f(N)表示i2的值為1000除以f(N),即1000除以N*N,由于N等于10,所以i2的值為1000/100=10。i3=f(N+1)表示i3的值為N+1的平方,即11的平方,所以i3的值為121。i4=g(N+1)表示i4的值為N+1的平方,即11的平方,所以i4的值為121。最后,使用printf函數輸出i1、i2、i3、i4的值,格式化輸出為“i1=%d,i2=%d,i3=%d,i4=%d\n”,其中%d表示輸出整型變量的值,\n表示換行。綜上所述,程序的正確輸出結果為A選項:i1=1000,i2=10,i3=21,i4=121。78.算法是為解決某個問題而設計的步驟和方法。以下關于算法的敘述中,不正確的是______。A、解決同一個問題,不同的人(甚至是同一個人)可能會寫出幾種不同的算法B、常用算法主要有迭代法、窮舉搜索法、遞推法、遞歸法、貪婪法、回溯法等C、遞推法是利用所解問題本身所具有的遞推關系來求得問題解的一種算法D、任何可以用遞推法解決的問題,亦可用遞歸法解決,反之亦然答案:D解析:A選項正確,因為算法的設計是有很大的靈活性的,不同的人可以根據自己的思路和經驗設計出不同的算法。B選項正確,因為這些算法都是常用的算法,可以用來解決很多問題。C選項正確,因為遞推法是一種常用的算法,可以利用問題本身的遞推關系來求解問題。D選項不正確,因為并非所有可以用遞推法解決的問題都可以用遞歸法解決,反之亦然。有些問題遞推法更加高效,有些問題遞歸法更加高效。因此,D選項是錯誤的。79.某個應用任務TaskA正在等待信號量到來從而執行,此時TaskA所處的狀態名稱為()。A、就緒態狀態B、執行狀態C、阻塞狀態D、結束狀態答案:C解析:進程基礎三態是阻塞、就緒、執行,題中任務沒有執行,也不僅僅缺CPU資源,還缺信號量資源,因此是阻塞狀態。80.共享內存通信機制的缺點是______。A、需要花費額外的內存空間B、需要使用額外的同步機制C、需要額外硬件支持D、通信過程中需要反復讀取內存,時間開銷大答案:B解析:本題考查任務間通信方面的基礎知識。共享內存指在多處理器的計算機系統中,可以被不同中央處理器(CPU)訪問的大容量內存。共享內存也可以是一個操作系統中的多進程之間的通信方法,這種方法通常用于一個程序的多進程間通信,實際上多個程序間也可以通過共享內存來傳遞信息。如下圖所示。共享內存相比其他通信方式有著更方便的數據控制能力,數據在讀寫過程中會更透明。當成功導入一塊共享內存后,它只是相當于一個字符串指針來指向一塊內存,在當前進程下用戶可以隨意的訪問。共享內存的一個缺點是:由于多個CPU需要快速訪問存儲器,這樣就要對存儲器進行緩存(Cache)。任何一個緩存的數據被更新后,由于其他處理器也可能要存取,共享內存就需要立即更新,否則不同的處理器可能用到不同的數據。另一個缺點是,數據寫入進程或數據讀出進程中,需要附加的數據結構控制。81.以下關于直接存儲器訪問(DMA)的敘述中,錯誤的是()。A、DMA是一種快速傳遞大數據的技術B、DMA將傳輸的數據從一個地址空間復制到另一個地址空間C、DMA數據傳送過程中,由CPU和DMA控制器共同控制D、在DMA控制器控制下,主存和外設之間直接交換數據答案:C解析:DMA直接在主存和外設之間建立一條數據傳輸通道,無需CPU來控制傳輸過程,是一種快速傳遞大數據塊的技術。82.若在一個32位字長的嵌入式微處理器上定義了1個int類型的常量a=0x8192F3A5,按大端存儲法存放于0x6000內存地址處,以下選項中能正確表達這種存放順序的是()。A、8192F3A5B、18293F5AC、A5F39281D、5A3F2918答案:A解析:大端字節順序存儲法是將高字節數據存放在低地址處,低字節數據存放在高地址處,因此選項A是答案。而小端字節順序存儲法是將低字節數據存放在低地址處,高字節數據存放在高地址處,例如選項C。83.相比于TCP,UDP的優勢為()。A、可靠傳輸B、開銷較小C、擁塞控制D、流量控制答案:B解析:UDP的優勢主要就是開銷小,一般用于視頻、音頻的傳輸。84.微內核操作系統在嵌入式系統中得到越來越廣泛的應用,以下關于微內核操作系統敘述中,錯誤的是()。A、微內核操作系統,就是一種基于微內核架構的操作系統B、微內核操作系統由一群盡可能將數量最小化的軟件程序組成C、微內核并非一個完整的操作系統,而只是操作系統中最基本的部分D、由于微內核不能有效的支持多處理機運行,所以不適用分布式系統環境答案:D解析:微內核操作系統的基本思想是盡可能的將操作系統核心縮小,僅僅實現核心基礎部分,如中斷、并行調度等與硬件有

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論