嵌入式Linux軟件開發(fā)工程師職業(yè)資格認(rèn)證考試題.doc_第1頁
嵌入式Linux軟件開發(fā)工程師職業(yè)資格認(rèn)證考試題.doc_第2頁
嵌入式Linux軟件開發(fā)工程師職業(yè)資格認(rèn)證考試題.doc_第3頁
嵌入式Linux軟件開發(fā)工程師職業(yè)資格認(rèn)證考試題.doc_第4頁
嵌入式Linux軟件開發(fā)工程師職業(yè)資格認(rèn)證考試題.doc_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

精品文檔嵌入式Linux軟件開發(fā)工程師職業(yè)資格認(rèn)證考卷注: 普通教室 考試時(shí)間:120分鐘題 號(hào)一二三四五六七九十合 分評(píng)卷人應(yīng)得分201515102020實(shí)得分一、填空題(每小題1分,共20分)1、在linux系統(tǒng)中,以 文件 方式訪問設(shè)備。2、安裝linux系統(tǒng)對(duì)硬盤分區(qū)時(shí),必須有兩種分區(qū)類型:文件系統(tǒng)分區(qū)和 交換分區(qū) 。3、在Linux系統(tǒng)中,用來存放系統(tǒng)所需要的配置文件和子目錄的目錄是 /etc 。4、進(jìn)行遠(yuǎn)程登錄的命令是 telnet 。5、利用gdb進(jìn)行調(diào)試時(shí),可通過 step 或 next 命令進(jìn)行單步執(zhí)行。6、gcc的編譯可分為_預(yù)處理_、編譯、匯編和_ _鏈接 _等四個(gè)階段。7、卸載Linux內(nèi)核模塊使用命令_ rmmod _。8、 ARM處理器的中斷有兩種處理模式,分別為_快速中斷_ _模式和的_快速中斷_ _模式。9、 Linux文件的鏈接可分為符號(hào)鏈接和_ _硬鏈接_兩種。10、 Qt/Embedded使用_ 信號(hào) _和_ _插槽_ _的機(jī)制實(shí)現(xiàn)函數(shù)的回調(diào)。11、 ARM處理器有多種運(yùn)行模式,用戶程序運(yùn)行在其中的_ _用戶_模式。12、 Linux系統(tǒng)在啟動(dòng)init進(jìn)程時(shí)使用的配置文件是_ _/etc/inittab _。13、 交叉編譯是指_ 在一個(gè)平臺(tái)上生成可以在另一個(gè)平臺(tái)上執(zhí)行的代碼 _。14、 在linux系統(tǒng)中,以 文件 方式訪問設(shè)備。15、 利用gdb進(jìn)行調(diào)試時(shí),可通過step或 next 命令進(jìn)行單步執(zhí)行。16、 Qt/Embedded的底層圖形引擎基于 FrameBuffer 接口技術(shù)。17、 Linux操作系統(tǒng)的系統(tǒng)管理員(也就是超級(jí)用戶)帳號(hào)是 root 。18、 編寫的shell程序運(yùn)行前必須賦予該腳本文件 執(zhí)行 權(quán)限。19、 使用gcc編譯c程序生成可執(zhí)行文件有時(shí)似乎是一步完成的,但實(shí)際要經(jīng)歷如下四步:預(yù)處理、編譯、 匯編 和連接。20、 內(nèi)核分為進(jìn)程管理系統(tǒng)、內(nèi)存管理系統(tǒng)、 IO管理系統(tǒng) 和文件管理系統(tǒng)等四個(gè)子系統(tǒng)。二、單項(xiàng)選擇題。(每小題1分,共15分) 1、如下哪一個(gè)命令可以幫助你知道shell命令的用法( A)A. man B. pwd C. help D. more2、在大多數(shù)Linux發(fā)行版本中,以下哪個(gè)屬于塊設(shè)備 ( B )A. 串行口 B. 硬盤 C. 虛擬終端 D. 打印機(jī)3、在Linux系統(tǒng),默認(rèn)的shell是什么( A ) A.bash B.ash C.csh D.gnush4、LILO的配置文件是:( B )A. /etc/conf B. /etc/lilo.conf C. /proc/kcore D. /usr/local/5、Linux文件權(quán)限一共10位長度,分成四段,第三段表示的內(nèi)容是( D )A.文件類型 B.文件所有者的權(quán)限C.文件所有者所在組的權(quán)限 D.其他用戶的權(quán)限6、不是shell具有的功能和特點(diǎn)的是 ( A )A.管道 B.輸入輸出重定向 C.執(zhí)行后臺(tái)進(jìn)程 D.處理程序命令7、你用vi編輯器編寫了一個(gè)腳本文件shell.sh,你想將改文件名稱修改為shell2.sh,下列命令( B )可以實(shí)現(xiàn)。 A. cp shell.sh shell2.sh B. mv shell.sh shell2.sh C. ls shell.sh shell2.sh D. ll shell.sh shell2.sh8、字符設(shè)備文件類型的標(biāo)志是 ( B )A. p B. c C. s D. l9、( B )命令可更改一個(gè)文件的權(quán)限設(shè)置? A. attribB. chmod C. change D. file10、系統(tǒng)中有用戶user1和user2,同屬于users組。在user1用戶目錄下有一文件file1,它擁有644的權(quán)限,如果user2用戶想修改user1用戶目錄下的file1文件,應(yīng)擁有( B )權(quán)限。 A. 744 B. 664 C. 646 D. 74611、在CPU和物理內(nèi)存之間進(jìn)行地址轉(zhuǎn)換時(shí),( B )將地址從虛擬(邏輯)地址空間映射到物理地址空間。A、TCB B、MMU C、CACHED、DMA12、關(guān)于文件系統(tǒng)的安裝和卸載,下面描述正確的是( A )。 A. 如果光盤未經(jīng)卸載,光驅(qū)是打不開的 B. 安裝文件系統(tǒng)的安裝點(diǎn)只能是/mnt下 C. 不管光驅(qū)中是否有光盤,系統(tǒng)都可以安裝CD-ROM設(shè)備 D. mount /dev/fd0 /floppy 此命令中目錄/floppy是自動(dòng)生成的13、用下列( A )命令查看Linux使用了多少內(nèi)存A.cat /proc/meminfoB. cat /bin/meminfo C.vi /proc/meminfoD.vi /user/local/meminfo14、下列( D )設(shè)備是字符設(shè)備。A. hdc B. fd0 C. hda1 D. tty115、有如下的命令:$dd if=f1 of=f2。其中if=f1表示( A ) A. 以f1作為源文件,代替標(biāo)準(zhǔn)輸入 B. 以f1作為目標(biāo)文件,代替標(biāo)準(zhǔn)輸出 C. 當(dāng)條件滿足f1的時(shí)候,執(zhí)行真正的拷貝 D. 拷貝的過程中,不轉(zhuǎn)化文件三、多項(xiàng)選擇題。(每小題3分,共15分) 1.嵌入式操作系統(tǒng)不同于通用操作系統(tǒng)的功能是( BC )A、任務(wù)調(diào)度 B、可裁減性 C、 強(qiáng)實(shí)時(shí) D、設(shè)備管理 E、存儲(chǔ)器管理2.Linux系統(tǒng)中的設(shè)備文件通常有如下分類( BCD )A、虛擬設(shè)備 B、字符設(shè)備 C、網(wǎng)絡(luò)設(shè)備 D、塊設(shè)備 E、存儲(chǔ)設(shè)備3.常用的軟件開發(fā)模型有( BCD )A、結(jié)構(gòu)型 B、 原型模型 C、 迭代型 D、瀑布型 E、綜合型4.ARM處理器的工作模式中屬于異常模式的有( CDE )A、用戶模式usr B、系統(tǒng)模式sys C、 外部中斷模式irq D、中止模式abt E、快速中斷模式fiq5.芯片總線又稱元件級(jí)總線,它是指系統(tǒng)內(nèi)或插件板內(nèi)各元件之間所使用的總線,下列屬于芯片總線的有( ACD )A、I2C總線 B、ISA總線 C、SPI總線 D、SCI總線 E、PCI總線四、判斷題。(每小題1分,共10分) 1、在gdb調(diào)試過程中,不退出gdb也可以執(zhí)行UNIX shell命令。( 對(duì) )2、Linux文件系統(tǒng)的文件都按其作用分門別類地放在相關(guān)的目錄中,對(duì)于外部設(shè)備文件,一般應(yīng)將其放在/etc目錄中。( 錯(cuò) )3、 在Linux系統(tǒng)中,測試DNS服務(wù)器是否能夠正確解析域名的的客戶端命令,使用命令 nslookup 。( 對(duì) )4、 激活網(wǎng)卡需要編譯內(nèi)核。( 錯(cuò) )5、 在gdb調(diào)試過程中,用make命令可以不用退出gdb就可以重新產(chǎn)生可執(zhí)行文件。( 對(duì) )6、 在重新啟動(dòng)Linux系統(tǒng)的同時(shí)把內(nèi)存中的信息寫入硬盤,應(yīng)使用shutdown r now命令實(shí)現(xiàn)。( 對(duì) )7、 ARM處理器的運(yùn)行模式可通過中斷或異常處理改變。( 對(duì) )8、 BootLoader屬于嵌入式操作系統(tǒng)的一部分。( 錯(cuò) )9、 Busybox常用于替代桌面系統(tǒng)中的init和shell等程序,為嵌入式用戶提供使用環(huán)境。( 對(duì) )10、 在嵌入式系統(tǒng)中,整個(gè)系統(tǒng)的加載啟動(dòng)任務(wù)就完全由 Boot Loader 來完成。( 對(duì) )五、綜合題。(每小題5分,共20分) 1、已知C語言程序有主程序模塊prog.c,prog.h,其中調(diào)用了另一模塊subr.c, subr.h中的功能。試寫出一個(gè)可將這兩個(gè)模塊編譯成可執(zhí)行文件pr1的makefile。(5分)pr1: prog.o subr.ogcc o pr1 prog.o subr.oprog.o: prog.c prog.hgcc c o prog.o prog.csubr.o: subr.c subr.hgcc c o subr.o subr.c2、下面幾條宏定義語句的GPBCON 、GPBDAT、GPBUP地址分別是多少?#define GPIO_CTL_BASE0x56000000 #define bGPIO(p) _REG(GPIO_CTL_BASE + (p) #define GPBCON bGPIO(0x10) #define GPBDAT bGPIO(0x14) #define GPBUP bGPIO(0x18) GPBCON寄存器地址0X56000010GPBDAT寄存器地址0X56000014GPBUP 寄存器地址0X560000183、簡述說明字符設(shè)備注冊函數(shù)register_chrdev和注銷函數(shù)unregister_chrdev中參數(shù)的意義。int register_chrdev(unsigned int major, const char *name, struct file_ operations *fops);其中,major是為設(shè)備驅(qū)動(dòng)程序向系統(tǒng)申請(qǐng)的主設(shè)備號(hào),如果為0,則系統(tǒng)為此驅(qū)動(dòng)程序動(dòng)態(tài)分配一個(gè)主設(shè)備號(hào)。name是設(shè)備名,fops是對(duì)各個(gè)調(diào)用的入口點(diǎn)說明。此函數(shù)返回0時(shí)表示成功;返回-EINVAL,表示申請(qǐng)的主設(shè)備號(hào)非法。如果動(dòng)態(tài)分配主設(shè)備號(hào)成功,此函數(shù)將返回所分配的主設(shè)備號(hào)。如果register_chrdev()操作成功,設(shè)備名就會(huì)出現(xiàn)在/proc/dvices文件中。當(dāng)設(shè)備驅(qū)動(dòng)模塊從Linux內(nèi)核中卸載,對(duì)應(yīng)的主設(shè)備號(hào)必須被釋放。字符設(shè)備在cleanup_ module()函數(shù)中調(diào)用unregister_chrdev()來完成設(shè)備的注銷。unregister_chrdev()的定義為:int unregister_chrdev(unsigned int major, const char *name);此函數(shù)的參數(shù)為主設(shè)備號(hào)major和設(shè)備名name。Linux內(nèi)核把name和major在內(nèi)核注冊的名稱對(duì)比,如果不相等,卸載失敗,并返回-EINVAL;如果major大于最大的設(shè)備號(hào),也返回-EINVAL。4、Linux設(shè)備驅(qū)動(dòng)程序通過調(diào)用request_irq函數(shù)來申請(qǐng)中斷,通過free_irq來釋放中斷。它們在linux/sched.h中的定義如下:int request_irq(unsigned int irq, void (*handler)(int irq,void dev_id,struct pt_regs *regs),unsigned long flags, const char *device, void *dev_id );void free_irq(unsigned int irq, void *dev_id);試簡述request_irq函數(shù)。Linux設(shè)備驅(qū)動(dòng)程序通過調(diào)用request_irq函數(shù)來申請(qǐng)中斷,從request_irq函數(shù)返回的值為0時(shí),表示申請(qǐng)成功;負(fù)值表示出現(xiàn)錯(cuò)誤。該函數(shù)中的參數(shù)為:irq表示所要申請(qǐng)的硬件中斷號(hào)。handler為向系統(tǒng)登記的中斷處理子程序,中斷產(chǎn)生時(shí)由系統(tǒng)來調(diào)用,調(diào)用時(shí)所帶參數(shù)irq為中斷號(hào),dev_id為申請(qǐng)時(shí)告訴系統(tǒng)的設(shè)備標(biāo)識(shí),regs為中斷發(fā)生時(shí)寄存器內(nèi)容。device為設(shè)備名,將會(huì)出現(xiàn)在/proc/interrupts文件里。flag是申請(qǐng)時(shí)的選項(xiàng),它決定中斷處理程序的一些特性,其中最重要的是決定中斷處理程序是快速處理程序(flag里設(shè)置了SA_INTERRUPT)還是慢速處理程序(不設(shè)置SA_INTERRUPT)。六、應(yīng)用實(shí)踐題(每小題10分,共20分)1、Qt/Embedded對(duì)嵌入式GUI提供了強(qiáng)大的支持,信號(hào)和插槽機(jī)制是QT的核心機(jī)制,使用QT實(shí)現(xiàn)如下界面的登陸程序,其原代碼如下所示,請(qǐng)回答如下問題:1)什么是Qt中的信號(hào)插槽機(jī)制?(3分)2)應(yīng)用程序中用到了哪些控件,列舉2個(gè)并說明該控件的特點(diǎn)?(4分)3)根據(jù)注釋完成程序中相應(yīng)的語句?(4分)#include #include window.hCWinDlg:CWinDlg(QWidget* parent) : QDialog(parent)setWindowTitle(Example); /*設(shè)置窗口的標(biāo)題*/Edit1 = new QLineEdit; /*創(chuàng)建一個(gè)Edit1和一個(gè)Buttion1*/Button1 = new QPushButton(OK);Edit1-setEchoMode(QLineEdit:Password);QVBoxLayout* Layout1 = new QVBoxLayout; /*創(chuàng)建一個(gè)布局對(duì)像Layout1*/Layout1-addWidget(Edit1); /*把Edit1加入到Layout1*/Layout1-addWidget(Button1); /*把Button1加入到Layout1*/(1) ; /*應(yīng)用Layout1布局*/(2) ; /*建立Signal-Slot,使button1與function()相關(guān)聯(lián)*/CWinDlg:CWinDlg()delete Edit1; /*刪除Edit1與Button1對(duì)象*/delete Button1;void CWinDlg:function()if(Edit1-text() = example) /*如果Edit1輸入example*/ /*顯示Pass!消息框*/QMessageBox:warning(this, warning, Pass!, QMessageBox:Yes); else /*顯示Error!消息框*/QMessageBox:warning(this, warning, Error!, QMessageBox:Yes);#include #include window.hint main(int argc, char* argv)QApplication app(argc, argv); /*創(chuàng)建QT應(yīng)用程序*/CWinDlg dlg; /*創(chuàng)建窗口*/return dlg.exec();/*運(yùn)行程序*/1、參考答案:答案要點(diǎn):1)什么是Qt中的信號(hào)插槽機(jī)制?與回調(diào)函數(shù)機(jī)制有何不同?(3分) 答案要點(diǎn):回調(diào)函數(shù)機(jī)制是事先將一個(gè)回調(diào)函數(shù)指針傳遞給一個(gè)處理過程,當(dāng)這個(gè)處理過程得到執(zhí)行時(shí),回調(diào)預(yù)先定義好的回調(diào)函數(shù)以期實(shí)現(xiàn)激活其他處理程序的目的。不同與回調(diào)函數(shù)機(jī)制,Qt提供了信號(hào)和插槽機(jī)制,信號(hào)是一個(gè)特定的標(biāo)識(shí);一個(gè)槽就是一個(gè)函數(shù),與一般函數(shù)不同,槽函數(shù)既能和信號(hào)關(guān)聯(lián),當(dāng)某個(gè)事件出現(xiàn)時(shí),通過發(fā)送信號(hào),可以將與之相關(guān)聯(lián)的槽函數(shù)激活,執(zhí)行相應(yīng)代碼。2)應(yīng)用程序中用到了哪些控件,列舉2個(gè)并說明該控件的特點(diǎn)?(4分)答案要點(diǎn):應(yīng)用程序中用到的控件有(1)文本框控件Edit,文本框控件主要用來顯示或接收用戶的輸入信息。(2)按鈕控件Button,按鈕控件主要響應(yīng)用戶單擊功能。3)根據(jù)注釋完成程序中相應(yīng)的語句?(4分)(1)setLayout(Layout1); (2) connect(Button1, SIGNAL(clicked(), this, SLOT(function();2、假定你在目錄/home

溫馨提示

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

評(píng)論

0/150

提交評(píng)論