嵌入式助理工程師認證考試題庫
嵌入式認證考試就要開始了,為幫助同學們更好復習軟件嵌入式助理工程師考試內容,yjbys小編為大家帶來最新軟件助理工程師認證考試題庫,歡迎參考學習!
一、單項選擇題
1、如下哪一個命令可以幫助你知道shell命令的用法( A )
A. man B. pwd C. help D. more
2、在大多數Linux發行版本中,以下哪個屬于塊設備 ( B )
A. 串行口 B. 硬盤 C. 虛擬終端 D. 打印機
3、下面哪個命令行可用來馬上重新啟動正在運行的Linux系統?( D )
A. restart --delay=0 B. reboot -w
C. halt -p D. shutdown -r now
4、在Linux系統,默認的shell是什么( A )
A.bash B.ash C.csh D.gnush
5、下面哪條命令可用來確保文件“myfile”存在( B )
A. cp myfile /dev/null B. touch myfile
C. create myfile D. mkfile myfile
6、 LILO的配置文件是:( B )
A. /etc/conf B. /etc/lilo.conf
C. /proc/kcore D. /usr/local/
7、用“useradd jerry”命令添加一個用戶,這個用戶的主目錄是什么( A )
A./home/jerry B./bin/jerry
C./var/jerry D./etc/jerry
8、Linux文件權限一共10位長度,分成四段,第三段表示的內容是( D )
A.文件類型 B.文件所有者的權限
C.文件所有者所在組的權限 D.其他用戶的權限
9、在ARM系統結構中,MMU映射最小的單元空間是_D___
A、64KB B、16KB C、4KB D、1KB
10、某文件的組外成員的權限為只讀;所有者有全部權限;組內的權限為讀與寫,則該文件的權限為( D )
A.467 B.674 C.476 D.764
11、不是shell具有的功能和特點的是 ( A )
A.管道 B.輸入輸出重定向
C.執行后臺進程 D.處理程序命令
12、在ARM處理器的各種工作模式中,( A )模式無法訪問一些被保護的系統資源。20100626年徐遠超
A. 用戶模式(user) B.系統模式(system) C. 中斷模式(IRQ) D.終止模式(Abort)
13、如何從當前系統中卸載一個已裝載的文件系統( A )
A. umount B. dismount
C. mount –u D. 從 /etc/fstab 中刪除這個文件系統項
14、你用vi編輯器編寫了一個腳本文件shell.sh,你想將改文件名稱修改為shell2.sh,下列命令( B )可以實現。
A. cp shell.sh shell2.sh B. mv shell.sh shell2.sh
C. ls shell.sh >shell2.sh D. ll shell.sh >shell2.sh
15、在/home/stud1/wang目錄下有一文件file,使用( D )可實現在后臺執行命令,此命令將file文件中的內容輸出到file.copy文件中。
A. cat file >file.copy B. cat file file.copy
C. &cat file file.copy D. &cat file >file.copy
16、字符設備文件類型的標志是 ( B )
A. p B. c C. s D. l
17、刪除文件命令為( D )
A. mkdir B. rmdir C. mv D. rm
18、( B )命令可更改一個文件的權限設置?
A. attrib B. chmod C. change D. file
19、用命令ls -al顯示出文件ff的描述如下所示,由此可知文件ff的類型為( A )。
-rwxr-xr-- 1 root root 599 Cec 10 17:12 ff
A. 普通文件 B. 硬鏈接 C. 目錄 D. 符號鏈接
20、系統中有用戶user1和user2,同屬于users組。在user1用戶目錄下有一文件file1,它擁有644的權限,如果user2用戶想修改user1用戶目錄下的file1文件,應擁有( B )權限。
A. 744 B. 664 C. 646 D. 746
21、在指令系統的各種尋址方式中,獲取操作數最快的方式是( 1 -B );若操作數的地址包含在指令中,則屬于( 2-A )方式。
(1) A、直接尋址 B、立即尋址 C、寄存器尋址 D、間接尋址
(2) A、直接尋址 B、立即尋址 C、寄存器尋址 D、間接尋址
22、在CPU和物理內存之間進行地址轉換時,( B )將地址從虛擬(邏輯)地址空間映射到物理地址空間。
A、TCB B、MMU C、CACHE D、DMA
23、Linux將存儲設備和輸入/輸出設備均看做文件來操作,(C)不是以文件的形式出現。
A. 目錄 B. 軟鏈接
C. i節點表 D. 網絡適配器
24、關于文件系統的安裝和卸載,下面描述正確的是(A)。
A. 如果光盤未經卸載,光驅是打不開的
B. 安裝文件系統的安裝點只能是/mnt下
C. 不管光驅中是否有光盤,系統都可以安裝CD-ROM設備
D. mount /dev/fd0 /floppy 此命令中目錄/floppy是自動生成的
25、為了查看Linux啟動信息,可以用(B)命令
A. cat /etc/lilo.conf B.dmesg
C. cat/proc/cpuinfo D.lilo
26、用下列(A)命令查看Linux使用了多少內存
A.cat /proc/meminfo B. cat /bin/meminfo
C.vi /proc/meminfo D.vi /user/local/meminfo
27、下列(D)設備是字符設備。
A. hdc B. fd0 C. hda1 D. tty1
28、下列說法正確的是(D)
A. ln -s a.txt b.txt,作用是制作文件b.txt的符號鏈接,其名稱為a.txt
B. df命令可以查看當前目錄占用磁盤空間的大小
C. comm命令打印兩個文本文件中的相同的內容
D. rm命令可以用來刪除目錄
29、有如下的命令:$dd if=f1 of=f2。其中if=f1表示(A)
A. 以f1作為源文件,代替標準輸入
B. 以f1作為目標文件,代替標準輸出
C. 當條件滿足f1的時候,執行真正的拷貝
D. 拷貝的過程中,不轉化文件
30、為了查找出當前用戶運行的所有進程的信息,我們可以使用(B)命令:
A. ps -a B. ps -u C. ls -a D. ls –l
31、為保證在啟動服務器時自動啟動DHCP進程,應對( B )文件進行編輯。
A、 /etc/rc.d/rc.inet2 B、/etc/rc.d/rc.inet1
C、/etc/dhcpd.conf D、/etc/rc.d/rc.S
32、文件exer1的訪問權限為rw-r--r--,現要增加所有用戶的執行權限和同組用戶的寫權限,下列命令正確的是( A )。
A 、chmod a+x g+w exer1 B 、chmod 765 exer1
C 、chmod o+x exer1 D 、chmod g+w exer1
33、刪除當前目錄abc以及下面的所有子目錄和文件,并不要求提示任何確認信息的命令是(B)
A. del abc\*.* B. rm –rf abc C. rmdir abc D. rm –r abc\ *.*
34、如果忘記了ls命令的用法,可以采用( C )命令獲得幫助
a. ?ls b.help ls c.man ls d.get ls
35、在安裝開始前,用光盤啟動系統,想要進入字符界面安裝,需要輸入的命令是( C )
a.linux doc b.linux c.linux text d.linux note
36、要給文件file1加上其他人可執行屬性的命令是( C )
a.chmod a+x b.chown a+x c.chmod o+x d.chown o+x
37、怎樣新建一個新文件:( A )
a.touch hello.c b.mk hello.c c.rm hello.c d.new hello.c
38、在bash命令中,當用( B )參數時,表示bash是交互的。
A、-c B、-i C、-s D、-d
39、重定向的符號“>"表示:( C )
A、輸出追加 B、輸入追加 C、輸出重定向,原來的文件會被改寫 D、管道
40、linux系統能夠直接讀取的分區類型是( D )
a.ntfs b.fat16 c.fat32 d.ext3
41、 下列提法中,屬于ifconfig命令作用范圍的是( B )。
A、編譯源程序 B、配置網卡的IP地址
C、配置系統內核 D、加載網卡到內核中
42、下列對shell變量FRUIT操作,正確的是( C )
A、為變量賦值:$FRUIT=apple B、顯示變量的值:fruit=apple
C、顯示變量的值:echo $FRUIT D、判斷變量是否有值:[ -f “$FRUIT” ]
43、一般可以用( C )實現自動編譯。
A、gcc B、gdb * C、make D、 vi
44、處理機主要由處理器、存儲器和總線組成,總線包括( D )。
A、數據總線、串行總線、邏輯總線、物理總線
B、并行總線、地址總線、邏輯總線、物理總線
C、并行總線、串行總線、全雙工總線
D、數據總線、地址總線、控制總線
45、假設當前目錄下有文件Makefile,下面是其內容:
pr1: prog.o subr.o
gcc –o pr1 prog.o subr.o
prog.o: prog.c prog.h
gcc –c –l prog.o prog.c
subr.o: subr.c
gcc –c –o subr.o subr.c
clear:
rm –f pr1*.o
現在執行命令make clear,實際執行的命令是( A ):
A. rm –f pr1*.o
B. gcc –c –l prog.o prog.c
C. gcc –c –o subr.o subr.c
D. 都執行
46、可加載模塊一般位于系統的(B)目錄下:
A. /lib/modules
B. /lib/modules/x.y.z(x.y.z是內核的版本號)
C. /usr/lib
D. /usr/local/lib
47、Linux分區默認的文件系統的類型是:( B )
A. vfat B. ext2/ext3 C. swap D. dos
48. 文件之間可以建立兩種鏈接關系:軟鏈接和硬鏈接,硬鏈接的特點是(C)
A. 等同于文件復制操作
B. 類似于文件復制,但新的鏈接文件并不占用文件磁盤存儲空間
C. 刪除源文件,將使其他鏈接文件失效
D. 可以對目錄文件名建立硬鏈接
49. 下面哪一個選項不是linux系統的進程類型(D)
A. 交互進程
B. 批處理進程
C. 守護進程
D. 就緒進程
50、下面( B )特性不符合嵌入式操作系統特點。
A、實時性 B、不可定制
C、微型化 D、易移植
51、下面關于C語言程序的描述,正確的是( C )。
A、總是從第一個定義的函數開始執行
B、要調用的函數必須在main()函數中定義
C、總是從main()函數開始執行
D、main()函數必須放在程序的開始
52、在FTP協議中,控制連接是由( B )主動建立的。
A、服務器端 B、客戶端
C、操作系統 D、服務提供商
53、嵌入式系統由硬件部分和軟件部分構成,以下不屬于嵌入式系統軟件的是C。
A) 系統內核 B) 驅動程序 C) FPGA編程軟件 D)嵌入式中
54、當我們與某遠程網絡連接不上時,就需要跟蹤路由查看,以便了解在網絡的什么位置出現了問題,滿足該目的的命令是( C )。
A、ping B、ifconfig
C、traceroute D、netstat
55. 下列哪種文件系統的寫入是LINUX所不支持的:D
A. FAT B. UFS C. JFS D. NTFS
56. LINUX支持網絡文件系統NFS,下列哪個命令實現了將位于 192.168.1.4機器上的 /opt/sirnfs 目錄掛載到本機/mnt/sirnfs下: A
A.mount -t nfs 192.168.1.4:/opt/sirnfs /mnt/sirnfs
B.mount -t nfs /mnt/sirnfs 192.168.1.4:/opt/sirnfs
C.mount nfs –t 192.168.1.4:/opt/sirnfs /mnt/sirnfs
D.mount nfs –t /mnt/sirnfs 192.168.1.4:/opt/sirnfs
57、同CISC相比,下面哪一項不屬于RISC處理器的特征_ D
A、采用固定長度的指令格式,指令規整、簡單、基本尋址方式有2~3種。
B、減少指令數和尋址方式,使控制部件簡化,加快執行速度。
C、數據處理指令只對寄存器進行操作,只有加載/存儲指令可以訪問存儲器,以提高指令的執行效率,同時簡化處理器的設計。
D、RISC處理器都采用哈佛結構
58、在下列ARM處理器的各種模式中,__D___模式有自己獨立的R8-R14寄存器。
A、系統模式(System)、
B、終止模式(Abort)
C、中斷模式(IRQ)
D、快中斷模式(FIQ)
59、按照ARM過程調用標準(APCS),棧指針使用_B___寄存器,
A、R0 B、R13 C、R14 D、R15
60、在ARM體系結構中,_C___寄存器作為連接寄存器,當進入子程序時或者處理器響應異常的時候,用來保存PC的返回值;_C___寄存器作為處理器的程序計數器指針。
A、R0,R14 B、R13,R15 C、R14,R15 D、R14,R0
61、在ARM體系結構中,要從主動用戶模式(User)切換到超級用戶模式(Supervisor),應采用何種方法?C
A、直接修改CPU狀態寄存器(CPSR)對應的模式
B、先修改程序狀態備份寄存器(SPSR)到對應的模式,再更新CPU狀態
C、使用軟件中斷指令(SWI)
D、讓處理器執行未定義指令
62、下面關于MMU和Linux描述錯誤的是:C
A、MMU是內存管理單元Memory Management Unit的縮寫
B、uClinux可以運行在有MMU的處理器上
C、Linux內核功能強大,內存管理功能豐富,即使在沒有MMU的處理器上,也可以通過軟件實現地址映射。
D、Linux系統正是利用MMU,才能使得各個進程有獨立的尋址空間
63、DNS域名系統主要負責主機名和( A )之間的解析。
A、IP地址 B、MAC地址
C、網絡地址 D、主機別名
64、在vi編輯器中的命令模式下,重復上一次對編輯的文本進行的操作,可使用( C )命令。
A、上箭頭 B、下箭頭 C、<.> D、<*>
65、進程有三種狀態:( C )。
A 、準備態、執行態和退出態 B 、精確態、模糊態和隨機態
C 、運行態、就緒態和等待態 D 、手工態、自動態和自由態
66、下列變量名中有效的shell變量名是( C )。
A、-1-time B、_2$3
C、bo_chuang_1 D、2009file
67、文件系統的主要功能是( A )。
A、實現對文件的按名存取 B、實現虛擬存儲
C、 提高外存的讀寫速度 D、用于保存系統文檔
68、在ARM Linux體系中,用來處理外設中斷的異常模式是__C____
A、軟件中斷(SWI) B、未定義的指令異常
C、中斷請求(IRQ) D、快速中斷請求(FIQ)
69、在Linux系統中,驅動程序注冊中斷處理程序的函數是_B____
A、trap_init B、request_irq
C、enable_irq D、register_irq
70、在ARM Linux系統中,中斷處理程序進入C代碼以后,ARM的處于__A__工作模式
A、超級用戶(SVC) B、中斷(IRQ)
C、快速中斷(IRQ) D、和進入中斷之前的狀態有關系
71、在ARM體系構建的嵌入式系統中,由電平模式觸發的中斷,其對應的中斷標準應該在何時被清除?A
A、當中斷處理程序結束以后,才可以清除
B、進入相應的中斷處理程序,即可以清除
C、產生IRQ中斷的時候,處理器自動清除
D、任何時候都可以清除
72、在操作系統中,Spooling技術是用一類物理設備模擬另一類物理設備的技術,實現這種技術的功能模塊稱做( B )。
A、可林斯系統 B、斯普林系統
C、圖靈機系統 D、虛擬存儲系統
73、通過修改下面文件哪個文件 ,可以設定開機時候自動安裝的文件系統(C )
A. /etc/mta B. /etc/fastboot
C. /etc/fstab D. /etc/inetd.conf
74、下面關于Shell的說法,不正確的是: (D)
A. 操作系統的外殼
B. 用戶與Linux內核之間的接口程序
C. 一個命令語言解釋器
D. 一種和C類似的程序語言
75、init可執行文件通常存放在( C )目錄中。
A./etc B./boot
C./sbin D./root
76、假設root用戶執行“init 0”命令,系統將會( B )。
A.暫停 B.關機 C.重新啟動 D.初始化
77、嵌入式系統應用軟件一般在宿主機上開發,在目標機上運行,因此需要一個( B )環境。
A、交互操作系統 B、交叉編譯
C、交互平臺 D、分布式計算
78、已知有變量data1定義如下:C
union data
{ int i;
char ch;
float f;
} data1;
則變量data1所占的內存存儲空間可表示為。
A、sizeof(int) B、sizeof(char)
C、sizeof(float) D、sizeof(int)+sizeof(char)+sizeof(float)
79、軟件開發模型給出了軟件開發活動各階段之間的關系,( D )不是軟件開發模型。
A、瀑布模型 B、螺旋模型
C、原型模型 D、程序模型
80、實時操作系統(RTOS)內核與應用程序之間的接口稱為( C )。
A、輸入/輸出接口 B、文件系統
C、API D、圖形用戶接口
81、在操作系統中,除賦初值外,對信號量僅能操作的兩種原語是( C )。
A、存操作、取操作 B、讀操作、寫操作
C、P操作、V操作 D、輸入操作、輸出操作
82、在下列ARM處理器的各種模式中,只有__A___模式不可以自由地改變處理器的工作模式。
A、用戶模式(User) B、系統模式(System)
C、終止模式(Abort) D、中斷模式(IRQ)
83、32位體系結構的ARM處理器有_B___種不同的處理器工作模式,和__B__個主要用來標識CPU的工作狀態和程序的運行狀態的狀態寄存器。
A、7、7 B、7、6 C、6、6 D、6、7
84、已知Linux系統中的唯一一塊硬盤是第一個IDE接口的master設備,該硬盤按順序有3個主分區和一個擴展分區,這個擴展分區又劃分了3個邏輯分區,則該硬盤上的第二個邏輯分區在Linux中的設備名稱是( D )
A. /dev/hda2 B. /dev/hda3
C. /dev/hda5 D. /dev/hda6
85、下列軟件中,不屬于BootLoader的是( B )。
A、vivi B、busybox C、uboot D、blob
86、某文件的組外成員的權限為只寫;所有者有讀寫權限;組內的權限為只讀,則該文件的權限為( B )
A 467 B 642 C 476 D 764
87、關閉linux系統(不重新啟動)可使用命令 B 。
A) Ctrl+Alt+Del B) halt C) shutdown -r now D) reboot
88、在vi編輯器中的命令模式下,鍵入 B 可在光標當前所在行下添加一新行。
A) “a” B) “o” C) “I” D) A
89、重定向的符號“>>"表示:( A )
A、輸出追加 B、輸入追加 C、輸出重定向,原來的文件被改寫 D、管道
90、WWW服務器是在Internet上使用最為廣泛,它采用的是 B 結構。
A) 服務器/工作站 B) B/S C) 集中式 D )分布式
91、NFS是 C 系統。
A) 文件 B) 磁盤 C) 網絡文件 D) 操作
92、在日常管理中,通常CPU會影響系統性能的情況是: A 。
A) CPU已滿負荷地運轉 B) CPU的運行效率為30%
C) CPU的運行效率為50% D) CPU的運行效率為80%
93、在使用GCC編譯器的過程中,以下(B)選項可用來指定生成的目標文件名
A.-c B.-o C.-S D.-E
94、下面哪一個選項不是linux系統的調度策略(D)
A. SCHED_NORMAL
B. SCHED_FIFO
C. SCHED_RR
D. SCHED_LRU
95、為了使用生成的目標文件能夠用于gdb調試,在編譯時GCC應使用(C)選項。
A.-c B.-w C.-g D.-o
96、存盤并退出vi的指令是( D )。
A、q B、q! C、w D、wq
97. 下列關于/etc/fstab文件描述,正確的是( D )。
A. fstab文件只能描述屬于linux的文件系統
B. CD_ROM和軟盤必須是自動加載的
C. fstab文件中描述的文件系統不能被卸載
D 啟動時按fstab文件描述內容加載文件系統
98. ARM嵌入式系統中,PC指向的是正在(C )的指令地址。
A 執行 B 譯碼 C 取指 D 都不是
99. ARM系統處理16-bit數據時,對應的數據類型是( B )。
A Byte B Halfword C Word D 三者都不是
100. 實時系統是指( B )
A 響應快的系統 B 時間約束的系統 C 單任務系統 D 內核小的系統
101. 下面屬于blob運行過程第一階段的是(C)
A 外圍的硬件初始化(串口,USB等);
B 根據用戶選擇,進入命令行模塊或啟動kernel。
C 寄存器的初始化
D 堆棧的初始化
答案:C第一階段的代碼在start.s中定義,大小為1KB,它包括從系統上電后在0x00000000地址開始執行的部分。這部分代碼運行在Flash中,它包括對S3C44B0的一些寄存器的初始化和將Blob第二階段代碼從Flash拷貝到SDRAM中。
102.下列幾種流行的嵌入式GUI中,沒有采用分層設計的一種是: B
A.MiniGUI B. Qt/Embedded C. Nano-X Window D. OpenGUI
103. Qt/Embedded的底層圖形引擎基于一下哪種接口技術: A
A.framebuffer B.GAL C.IAL D.GFX
104.在Linux使用GCC編譯器時有如下命令:Gcc–g test.c –o test,其中參數-g的作用是(D)
A .生成目標文件test.o B.生成匯編文件test.s C .進行預編譯 D .包含調試信息
105、下列提法中,不屬于ifconfig命令作用范圍的是 D 。
A) 配置本地回環地址 B) 配置網卡的IP地址
C) 激活網絡適配器 D) 加載網卡到內核中
106、為了得到所有的命令行輸入的參數,我們可以使用變量: B
A) $# B) $@ C) $0 D) $!
107、32位數0x12345678用小端格式表示,則在AXD調試器下觀察數據在內存中分布的情況是(B)
A 12 34 56 78 B 78 56 34 12 C 21 43 65 87 D 87 65 43 21
108、RISC是指(C)
A 復雜指令計算機 B 并行機 C 精簡指令計算機 D 多處理器計算機
109、NFS服務器通過調用/etc/rc.d/init.d中的portmap和nfs腳本啟動,啟動后它將通過尋找本地服務器的 D 文件,向網絡上的子機提供NFS文件共享服務
A) /etc/hosts B) /etc/inittab
C) /etc/inet.d D) /etc/exports
110、在vi編輯器的命令模式中,刪除一行的命令是( B )
a.yy b.dd c.pp d.xx
111、表達式A⊕B實現的功能是(C)
A 邏輯與 B 邏輯非 C 邏輯異或 D邏輯或
112、嵌入式系統的開發通常是在交叉開發環境實現的,交叉開發環境是指( A )
A 在宿主機上開發,在目標機上運行 B在目標機上開發,在宿主機上運行
C 在宿主機上開發,在宿主機上運行 D在目標機上開發,在目標機上運行
113、對于所有用戶都只能讀的文件權限是( B )
a.777 b.444 c.644 d.640
114、在ARM Linux啟動的過程中,開啟MMU的時候,如何實現從實地址空間到虛擬地址空間的過度?D
A、開啟MMU,在內存中創建頁表(映射內核到3G以上的虛擬地址空間)并繼續運行。
B、開啟MMU,在內存中創建頁表(映射內核到3G以上的虛擬地址空間),跳轉到虛擬地址空間繼續運行。
C、在內存中創建頁表(映射內核到3G以上的虛擬地址空間),開啟MMU,跳轉到虛擬地址空間繼續運行。
D、在內存中創建頁表(映射內核到3G以上的虛擬地址空間,同時把內核所在的前1MB空間到和其實地址相同的虛擬地址空間),開啟MMU,跳轉到虛擬地址空間繼續運行。
115、在ARM體系中,MMU的第一級描述符有___項,每個描述符占用____字節
A、1024,32 B、4096,4
C、4096,4 D、1024,32
答案:C(B和C一樣的,A和D是一樣的)
116、在ARM體系中,下面MMU的一級描述符中,是節描述符的是_A___
A、0xA0000C0E B、0xA0000C0F
C、0x00000000 D、0xC0000C01
117、init進程是內核在完成核內引導以后加載的,它是系統所有進程的起點,進程號為1,在執行過程中,首先會讀取( C )文件。20100626徐遠超
A. /etc/init B. /etc/fstab
C. /etc/inittab D. /etc/rc.sysinit
118 、指令ADD R2,R1,R1,LSR #2中,LSR的含義是(B)。
A 邏輯左移 B 邏輯右移 C 算術右移 D循環右移
119、以下ARM異常中,優先級最高的是(D )。
A Data abort B FIQ C IRQ D Reset
120、指令LDR R0,[R4]對源操作數的尋址方式是( A )
A 寄存器間接尋址 B寄存器尋址 C立即數尋址 D 相對尋址
121、在Linux 2.4或者2.6內核中,和ARM體系結構相關的中斷處理程序的C代碼在源碼樹的__B_文件中
A、kernerl/irq.c
B、arch/arm/kernel/irq.c
C、arch/arm/mach/irq.c
D、arch/arm/kernel/entry-armv.S
122、以下關于init進程,描述不正確的是:(A)
A. 一個通用進程
B. 可以產生新的進程
C. 在某些程序退出的時候能重起它們
D. 負責在系統啟動的時候運行一系列程序和腳本文件
123、哈佛結構和馮諾依曼結構的區別是( A)
A 指令和數據分開存儲 B 不需要程序計數器 C 統一編址 D 單一數據總線
124、fstab文件存放在(A)目錄中。
A./etc B./boot
C./sbin D./root
125、Linux系統運行級別5工作在(D)狀態。
A.單用戶字符模式 B.多用戶字符模式
C.單用戶圖形模式 D.多用戶圖形模式
126、Linux文件權限一共10位長度,分成四段,第二段表示的內容是( B )
A.文件類型 B .文件所有者的權限
C. 文件所有者所在組的權限 D. 其他用戶的權限
127、啟動init進程前,不需要經過(D)步驟。
A.加載內核 B.檢測內存
C.加載文件系統 D.啟動網絡支持
128、哪條命令可以顯示文件系統使用硬盤空間的情況?(B)20100616徐遠超
A.ls B.df C.du D.Mount
129、能在Linux下,用mkfs.jffs2命令創建JFFS2文件系統(基本上是使用JFFS2的Ramdisk),關于mkfs.jffs2下列說法錯誤的是: (C)
A.-e 選項確定閃存的擦除扇區大小(通常是 64 千字節)
B.-p 選項用來在映像的剩余空間用零填充。
C.-f 選項用于輸出文件,通常是 JFFS2 文件系統映像
D.一旦創建了 JFFS2 文件系統,它就被裝入閃存中適當的位置(引導裝載程序告知內核查找文件系統的地址)以便內核能掛裝它。
130、波特率9600bps是指數據每秒傳輸( B )
A 9600個字節 B 9600個比特 C 9600個字 D 9600個字符
131、ARM9和ARM7的重要區別是(A )
A ARM9帶有MMU功能 B ARM9支持Thumb指令集
C ARM9帶有Cache功能 D ARM9是哈佛結構
132、在使用文件通配符對文件名操作時?號表示(A)
A. 只與一個任意的字符匹配
B. 只與一個任意的字母匹配
C. 只與一個任意的數字匹配
D. 匹配于任意字符的組合
133、 在安裝Linux的過程中的第五步是讓用戶選擇安裝方式,如果用戶希望安裝部分組件(軟件程序),并在選擇好后讓系統自動安裝,應該選擇的選項是 D 。
A) full B) expert C) newbie D) menu
134、當系統工作負載增加時,CPU的 A 將占很大比重
A) 用戶時間 B)系統時間 C)空閑時間、 D) 進程時間
135、fsck對文件系統的檢查最先是從文件系統的 C 開始的
A) MBR B) 磁盤塊 C) 超級塊 D) 塊鏈表
136、關于RISC指令系統描述不正確的是( A )。
A、指令條數多 B、指令長度固定
C、指令格式種類少 D、尋址方式種類少
137、對ARM7微處理器說法不正確的是( D )。
A、兼容16位的Thumb指令集 B、集成式RISC內核
C、集成了ICE-RT邏輯 D、哈佛體系結構
138、在寄存器間接尋址方式中,指定寄存器中存放的是 ( B )。
A、操作數 B、操作數地址
C、轉移地址 D、地址偏移量
139、Samba服務器的進程由B 兩部分組成 。
A) named和sendmail B) smbd和nmbd C) bootp和dhcpd D) httpd和squid
140、如果數據的存儲格式是大端模式,32bit寬的數0x12345678在大端模式下的CPU內存中的存放(假設從地址0x4000開始)。內存地址為0x4001的內容是(A )。
A、 0x34 B、0x56
C、 0x23 D、0x78
141、在配置代理服務器時,若設置代理服務器的工作緩存為64MB,配置行應為 D 。
A ) cache 64MB B) cache_dir ufs /usr/local/squid/cache 10000 16 256
C) cache_ mgr 64MB D) cache_ mem 64MB
142、安全管理涉及的問題包括保證網絡管理工作可靠進行的安全問題和保護網絡用戶及網絡管理對象問題。 C 屬于安全管理的內容。
A) 配置設備的工作參數 B) 收集與網絡性能有關的數據
C) 控制和維護訪問權限 D) 監測故障
143、 B 命令是在vi編輯器中執行存盤退出。
A ) q B ) wq C) q! D) WQ
144、下列哪個命令以文本菜單方式界面配置內核選項: A
A Make menuconfig B make xconfig C make config D make mrproper
145、切換用戶登錄的命令是: ( B )
A. ps B. su C. kill D. changeuser
146、已知有如下程序:
#include
void main(){
int a[5]={1,2,3,4,5};
int * p = (int *)(&a+1);
printf(“%d”,p[-1]);
}
那么,輸出結果為(B )
A、該程序不可執行,無輸出結果 B、 5
C、1 D、不確定的隨機值
147、終止一個前臺進程可能用到的命令和操作是(B )。
A、kill B、
C、shut down D、halt
148、 B 目錄存放著Linux的源代碼。
A) /etc B) /usr/src C) /usr D) /home
149、如果要將文件名file1修改為file2,下列命令( B )可以實現。
A. cp file1 file2
B. mv file1 file2
C. ls file1 >file2
D. ll file1 >file2
150、不存盤退出vi的指令是( B )。
A、q B、q! C、w D、wq
151、有關歸檔和壓縮命令,下面描述正確的是 C 。
A) 用uncompress命令解壓縮由compress命令生成的后綴為.zip的壓縮文件
B) unzip命令和gzip命令可以解壓縮相同類型的文件
C) tar歸檔且壓縮的文件可以由gzip命令解壓縮
D) tar命令歸檔后的文件也是一種壓縮文件
152、未定義指令異常的C處理函數在(C)文件中定義。
A、arch/arm/kernel/traps.c B、arch/arm/mm/fault.c
C、arch/arm/mm/irq.c D、arch/arm/calls.S
153、僅當前一個命令執行出錯時才執行后一條命令,需要采取的操作是:(C)
A. command1 && command2
B. command1 XOR command2
C. command1 || command2
D. command1 << command2
154、具有很多C語言的功能,又稱過濾器的是 C 。
A) csh B) tcsh C) awk D) sed
155、局域網的網絡地址192.168.1.0/24,局域網絡連接其它網絡的網關地址是192.168.1.1。主機192.168.1.20訪問172.16.1.0/24網絡時,其路由設置正確的是 B 。
A) route add –net 192.168.1.0 gw 192.168.1.1 netmask 255.255.255.0 metric 1
B) route add –net 172.16.1.0 gw 192.168.1.1 netmask 255.255.255.255 metric 1
C) route add –net 172.16.1.0 gw 172.16.1.1 netmask 255.255.255.0 metric 1
D) route add default 192.168.1.0 netmask 172.168.1.1 metric 1
156、不需要編譯內核的情況是 D 。
A) 刪除系統不用的設備驅動程序時 B) 升級內核時 C) 添加新硬件時 D)將網卡激活
157、 內核不包括的子系統是 D 。
A) 進程管理系統 B) 內存管理系統 C) I/O管理系統 D)硬件管理系統
158、請選擇正確的命令( B),完成加載 NFS Server "svr.server.net"的 /home/nfs 到 /home2。
A、 mount -t nfs svr.server.net:/home/nfs /home2
B.、mount -t -s nfs svr.server.net /home/nfs /home2
C.、nfsmount svr.server.net:/home/nfs /home2
D、 nfsmount -s svr.server.net /home/nfs /home2
159、下面(D )命令可以列出當前動態加載的模塊清單,會把當前插入的所有內核模塊都列出來。
A、insmod B、rmmod
C、dmesg D、lsmod
160、下面對于Bootloader的描述不正確的是(C)
A、是上電后運行的第一個程序 B、改變系統時鐘
C、Bootloader的兩種模式對開發人員沒有意義 D、向內核傳遞啟動參數
161、符號“|"在shell命令中表示:( D )
A、輸出追加 B、輸入追加 C、輸出重定向,原來的文件被改寫 D、管道
162、通常所說的32位微處理器是指 C 。
A) 地址總線的寬度為32位 B) 處理的數據長度只能為32位
C) CPU 字長為32位 D) 通用寄存器數目為32個
163、在32位處理器上,假設棧頂指針寄存器的當前值為0x00FFFFE8,那么在執行完指令“push eax”(eax為32位寄存器)后,棧指針的當前值應為A
A) 0x00FFFFE4 B) 0x00FFFFE6 C) 0x00FFFFEA D) 0x00FFFFEC
164、有若干并發進程均將一個共享變量count 中的值加1 一次,那么有關count 中的值說法正確的是:______ 。(C )
A、肯定有不正確的結果
B、肯定有正確的結果
C、若控制這些并發進程互斥執行count 加1 操作,count 中的值正確
D、A,B,C 均不對
165、使用Vim作為文本編輯器,在指令模式下要將光標移動到文檔的最后一行的命令是(C)。
A、0 B、$
C、G D、GG
166、已知某用戶stud1,其用戶目錄為/home/stud1。如果當前目錄為/home,進入目錄/home/stud1/test的命令是 ()。
A 、cd test B、cd /stud1/test
C、 cd stud1/test D、cd home
167.如果想配置一臺匿名ftp服務器,應修改 C 文件。
A) /etc/gateway B) /etc/ftpservers
C) /etc/ftpusers D) /etc/inetd.conf
168.要配置NFS服務器,在服務器端主要配置 C 文件。
A) /etc/rc.d/rc.inet1 B) /etc/rc.d/rc.M
C) /etc/exports D) /etc/rc.d/rc.S
169、 Boot Loader 的stage2通常使用C語言實現,以完成復雜的功能,并增加可讀性和可移植性,以下哪一步驟屬于stage2的內容:__D____
A . 為加載 Boot Loader 的 stage2 準備 RAM 空間
B . 設置好堆棧
C . 硬件設備初始化
D . 將 kernel 映像和根文件系統映像從 flash 上讀到 RAM 空間中
170、執行以下程序段
MOV SP, #3AH
MOV A, #20H
MOV B, #30H
PUSH ACC
PUSH B
POP ACC
POP B
后,A和B的內容是(B )
A、20H,30H B、30H,20H
C、3AH,30H D、3AH,3AH
171、一個文件名字為rr.Z,可以用來解壓縮的命令是: D 。
A) tar B) gzip C) compress D) uncompress
172、在使用ln建立鏈接時,為了跨越不同的文件系統,需要使用(B )。
A.普通鏈接 B.硬鏈接
C.特殊鏈接 D.軟鏈接
173、( B )不是進程和程序的區別。
A. 程序是一組有序的靜態指令,進程是一次程序的執行過程
B. 程序只能在前臺運行,而進程可以在前臺或后臺運行
C. 程序可以長期保存,進程是暫時的
D. 程序沒有狀態,而進程是有狀態的
174、PV操作是在(D )上的操作。
A、臨界區 B、進程
C、緩沖區 D、信號量
175.在TCP/IP模型中,應用層包含了所有的高層協議,在下列的一些應用協議中, B 是能夠實現本地與遠程主機之間的文件傳輸工作。
A) telnet B) FTP C) SNMP D) NFS
176、中斷向量是指(C ) 。
A、中斷斷點的地址 B、中斷向量表起始地址
C、中斷處理程序入口地址 D、中斷返回地址
177、 如果Boot Loader、內核、啟動參數以及其他的系統映像四部分在固態存儲設備上分別獨立存放,則其存儲結構的分配順序應當是:_D____。
A . 文件系統、內核、啟動參數、Bootloader
B . 啟動參數、Bootloader、內核、文件系統
C . Bootloader、內核、啟動參數、文件系統
D . Bootloader、啟動參數、內核、文件系統
178、關于Qt說法不正確的是(C )
A、是跨平臺的C++圖形用戶界面庫 B、Qt Embedded(Qtopia)基于Framebuffer
C、Qt的各元件通信是基于callback的 D、可以同幾種Java虛擬機集成
179、暫停當前(前臺)任務并放到后臺去的命令是(A)。
A、
C、
180、關于RISC指令系統描述不正確的是( C )。
A、優先選取使用頻率最高的一些指令 B、避免使用復雜指令
C、不需要一個復雜的編譯器 D、尋址方式種類少
181、啟動samba服務器進程,可以有兩種方式:獨立啟動方式和父進程啟動方式,其中前者是在 C 文件中以獨立進程方式啟動。
A) /usr/sbin/smbd B) /usr/sbin/nmbd C) rc.samba D) /etc/inetd.conf
182、Linux系統中的設備可分為三類:字符設備、塊設備和網絡設備,其中不是基于文件系統訪問的設備是 ( C) 。
A. 字符設備 B. 塊設備
C. 網絡設備 D. 字符和塊設備
183、Samba服務器的配置文件是 D 。
A) httpd.conf B) inetd.conf C) rc.samba D) smb.conf
184、在給定文件中查找與設定條件相符字符串命令為(A )
A、grep B、gzip
C、find D、sort
185、下列變量名中有效的shell變量名是: C 。
A) -2-time B) _2$3 C )trust_no_1 D ) 2004file
186、以下敘述中正確的是 C 。
A) 宿主機與目標機之間只需要建立邏輯連接即可
B) 在嵌入式系統中,調試器與被調試程序一般位于同一臺機器上
C) 在嵌入式系統開發中,通常采用的是交叉編譯器
D) 宿主機與目標機之間的通信方式只有串口和并口兩種
187、在使用GCC編譯器的過程中,如果只想生成目標文件而不進行連接,需要使用選項( C )
A.-S B.-o C.-c D.-E
188、以下做法不利于嵌入式應用軟件的移植的是 D 。
A) 在軟件設計上,采用層次化設計和模塊化設計
B) 在軟件體系結構上,在操作系統和應用軟件之間引入一個虛擬機層,把一些通用的、共性的操作系統API接口函數封裝起來
C) 將不可移植的部分局域化,集中在某幾個特定的文件之中
D) 在數據類型上,盡量直接使用C語言的數據類型
189、對ARM處理器說法不正確的是( D )。
A、小體積、低功耗、低成本、高性能
B、支持Thumb(16位)/ARM(32位)雙指令集
C、只有Load/Store指令可以訪問存儲器
D、尋址方式多而復雜
190、嵌入式微控制器相比嵌入式微處理器的的最大特點(B )。
A、體積大大減小 B、單片化
C、功耗低 D、成本高
191.c-shell中變量名ignoreeof表示 C
A)執行之前顯示每一條命令 B)使文件名結束
C)必須用logout注銷而不是^D D)禁止文件名擴展
192.在某嵌入式操作系統中,若P、V操作的信號量S的初值為2,當前值為-1,則表示等待信號量S的任務個數為 B 。
A ) 0 B) 1 C) 2 D) 3
193、在字符界面環境下注銷LINUX,可用( C )命令。
A. exit或quit
B. quit或ctrl+D
C. exit或ctrl+D
D. 以上都可
194、Linux文件權限一共10位長度,分成四段,第一段表示的內容是( A )
A 文件類型 B 文件所有者的權限
C 文件所有者所在組的權限 D 其他用戶的權限
195、對于所有用戶具有讀的文件權限,而文件主同時具有執行權限的文件權限是( B )
a.655 b.544 c.644 d.540
196、下面哪條命令可用來確保文件“file1”存在( B )
A. cp file1 /dev/null
B. touch file1
C. create file1
D. mkfile file1
197、操作系統中同時存在著多個進程,它們(C )
A、不能共享系統資源 B、不能調用同一段程序代碼
C、可以共享所有的系統資源 D、可以共享允許共享的系統資源
198、在變址尋址方式中,操作數的有效地址等于(C)
A、變址寄存器內容+形式地址(位移量)
B、程序計數器內容+形式地址
C、基址寄存器內容+形式地址
D、堆棧指示器內容+形式地址
199、下列文件系統中,采用了inode來標識文件的是( D )
a.ntfs
b.fat16
c.fat32
d.ext3
200、如果我們需要設置一個文件,使它們作為可執行文件運行時,該進程是作為文件所有者的權限,此時我們需要額外設置該文件的 C
A ) seg-GID位 B ) 粘滯位 C) set-UID位 D) UMASK
二、多項選擇題
1. 嵌入式操作系統不同于通用操作系統的功能是( B C )
A、任務調度 B、可裁減性 C、 強實時 D、設備管理 E、存儲器管理
2. linux操作系統支持的文件系統有( A B C D E )
A、EXT2 B、VFAT C、NFS D、ISO9660 E、JFFS
3. Linux系統中的設備文件通常有如下分類(B C D )
A、虛擬設備 B、字符設備 C、網絡設備 D、塊設備 E、存儲設備
4. 片內總線是大規模集成電路(Large Scale Integrated Circuit:LSI)和超大規模集成電路(VLSI)內部各寄存器或功能單元之間的信息交換通道,它由生產廠家決定,下列屬于片內總線的有(A B D )。
A、AHB總線 B、APB總線 C、USB總線 D、ASB 總線 E、1394總線
5. 下列能改變ARM處理器工作狀態的指令有( C D)
A、B指令 B、SUB指令 C、BX指令 D、BLX指令 E、BL指令
6. 常用的軟件開發模型有(B C D )
A、結構型 B、 原型模型 C、 迭代型 D、瀑布型 E、綜合型
7. ARM處理器的工作模式中屬于異常模式的有( C D E )
A、用戶模式usr B、系統模式sys C、 外部中斷模式irq D、中止模式abt E、快速中斷模式fiq
8. 芯片總線又稱元件級總線,它是指系統內或插件板內各元件之間所使用的總線,下列屬于芯片總線的有( A C D )
A、I2C總線 B、ISA總線 C、SPI總線 D、SCI總線 E、PCI總線
9. 在ARM匯編語言程序設計中主程序和子程序參數的傳遞需要滿足ATPCS規則,ATPCS規則中用來傳遞參數的寄存器是(A B C D )
A、R0 B、R1 C、R2 D、R3 E、R4
三、填空題
1、 在linux系統中,以 文件 方式訪問設備 。
2、 前臺起動的進程使用 ctrl+c 終止。
3、 安裝linux系統對硬盤分區時,必須有兩種分區類型: 文件系統分區 和 交換分區 。
4、 利用gdb進行調試時,可通過step或next命令進行單步執行。
5、 DHCP可以實現動態 IP 地址分配。
6、 Ping命令可以測試網絡中本機系統是否能到達一臺遠程主機 ,所以常常用于測試網絡的 連通性 。
7、 vi編輯器具有兩種工作模式: 命令模式 和 輸入模式 。
8、 在使用ls命令時,用八進制形式顯示非打印字符應使用參數 -b 。
9、 在shell編程時,使用方括號表示測試條件的規則是:方括號兩邊必須有 空格 。
10、 在Windows9.x環境下共享Unix/Linux中的用戶目錄的一個工具是 Samba服務器。
11、 編寫的shell程序運行前必須賦予該腳本文件 執行 權限。
12、 在Linux系統中,用來存放系統所需要的配置文件和子目錄的目錄是 /etc 。
13、 結束后臺進程的命令是 kill 。
14、 進行遠程登錄的命令是 telnet 。
15、 在用vi編輯文件時,將文件內容存入test.txt文件中,應在命令模式下鍵入 :w test.txt 。
16、 在Linux系統下,第二個IDE通道的硬盤(從盤)被標識為 hdb 。
17、 在CPU和物理內存之間進行地址轉換時,MMU將地址從虛擬(邏輯)地址空間映射到 物理地址空間 。
18、 使用gcc編譯c程序生成可執行文件有時似乎是一步完成的,但實際要經歷如下四步: 預處理、編譯、匯編和連接 。
19、 利用gdb進行調試時,可通過step或next命令進行單步執行。
20、 內核分為 進程管理系統 、 內存管理系統 、 i/o管理系統 和文件管理系統等四個子系統。
21、 gcc的編譯可分為__預處理____、編譯、匯編和___鏈接___等四個階段。
22、 在Linux多線程編程時,需要包含頭文件___pthread.h___。
23、 卸載Linux內核模塊使用命令___rmmod___。
24、 ARM處理器有多種運行模式,用戶程序運行在其中的___用戶___模式。
25、 ARM處理器的中斷有兩種處理模式,分別為___快速中斷___模式和的___外部中斷___模式。
26、 Linux系統中,普通用戶使用的命令通常保存在___/bin___目錄中。
27、 setenv命令的功能是___設置環境變量___。
28、 Linux文件的鏈接可分為符號鏈接和___硬鏈接___兩種。
29、 在shell編程時,要把一個用戶的輸入賦值給一個變量,使用__read_______命令。
30、 Qt/Embedded使用___信號___和___插槽___的機制實現函數的回調。
31、 加載Linux內核模塊使用命令___insmod___。
32、 ARM處理器有多種運行模式,用戶程序運行在其中的___用戶___模式。
33、 Linux系統在啟動init進程時使用的配置文件是_/etc/inittab_____。
34、 VI編輯器有三種工作模式:命令模式、插入模式和___末行模式___。
35、 交叉編譯是指___在一個平臺上生成可以在另一個平臺上執行的代碼___。
36、 setenv命令的功能是___設置環境變量___。
37、 在linux系統中,以 文件 方式訪問設備 。
38、 利用gdb進行調試時,可通過step或 next 命令進行單步執行。
39、 Qt/Embedded的底層圖形引擎基于 FrameBuffer 接口技術。
40、 Linux操作系統的系統管理員(也就是超級用戶)帳號是root 。
41、 編寫的shell程序運行前必須賦予該腳本文件 執行 權限 。
42、 使用gcc編譯c程序生成可執行文件有時似乎是一步完成的,但實際要經歷如下四步:預處理、編譯、 匯編 和連接。
43、 內核分為 進程管理系統 、 內存管理系統 、 IO管理系統 和文件管理系統 等四個子系統。
44、 嵌入式系統中按照總線所傳送的信息類型,可以分為數據總線、地址總線和 控制總線 等幾種。
45、 嵌入式linux系統中,設備類型分為字符設備、塊設備 和 網絡設備 等三種。
46、 Linux中所有用戶的信息保存于__ /etc/passwd _和__/etc/shadow __文件。
47、 鏈接分為__軟連接 __和__硬鏈接 ____鏈接 。
48、
49、 某文件的權限位:d-rw-_r--_r--,用數值形式表示該權限,則該八進制數為_644 ,該文件屬性是__目錄 _。
50、 嵌入式Linux系統從軟件的角度看通?梢苑譃樗膫層次:引導加載程序、__ Linux內核___、__文件系統_、用戶應用程序。
51、 進程從產生到終止進程可以具有的基本狀態為: _運行態__ 、 _就緒態__ 和 等待態(阻塞態)。
四、判斷題
1、 在gdb調試過程中,不退出gdb也可以執行UNIX shell命令。(對)
2、 退出交互模式的shell,應鍵入quit。(錯)
3、 Linux文件系統的文件都按其作用分門別類地放在相關的目錄中,對于外部設備文件,一般應將其放在/etc目錄中。(錯)
4、 命令fdisk /mbr的作用是安裝系統引導程序到主分區。(錯)
5、 在Linux系統中,測試DNS服務器是否能夠正確解析域名的的客戶端命令,使用命令 nslookup 。(對)
6、 命令mount /dev/hdc /mnt/cdrom是將光盤CD-ROM(hdc)安裝到文件系統的/mnt/cdrom目錄下。(對)
7、 /home/src目錄存放著Linux的源代碼。( 錯)
8、 uCOS-II操作系統屬于順序執行系統 。(錯 )
9、 Linux 文件名的長度不得超256個字符。(對 )
10、 在vi編輯器中的命令模式下,刪除當前光標處的字符使用d命令。( 錯 )
11、 基于ARM架構的指令都是32位的。(錯)
12、 激活網卡需要編譯內核。( 錯)
13、 可用ctrl+C強行結束后臺進程。(錯 )
14、 寫回Cache是指CPU在執行寫操作時,必須把數據同時寫入Cache和主存。(×)
15、
16、 文件系統的主要功能是實現虛擬存儲。(錯)
17、 進程有三種狀態是準備態、執行態和退出態。(錯)
18、 Samba服務器的進程由smbd和nmbd兩部分組成。(對)
19、 shell命令的第一個按鍵必須是字符、數字或者空格(錯)
20、 Linux 文件名的長度不得超256個字符。(對)
21、 在gdb調試過程中,用make命令可以不用退出gdb就可以重新產生可執行文件。(對)
22、 若一臺計算機的內存為128MB,則交換分區的大小通常是64M。(錯)
23、 在重新啟動Linux系統的同時把內存中的信息寫入硬盤,應使用shutdown –r now命令實現。(對)
24、 在vi編輯器中的命令模式下,刪除當前光標處的字符使用d命令。(錯)
25、 Samba服務器的進程由smbd和nmbd兩部分組成。(對)
26、 從后臺啟動進程,應在命令的結尾加上符號@。(錯)
27、 網絡管理的重要任務是: 控制 和 監控 。(對)
28、 函數的標量參數通過傳值的方式進行傳遞,而數組名參數則具有傳址調用的語義。( √ )
29、 (X)根文件系統是具有操作系統的嵌入式系統必須的組成部分。
30、 (V)一個shell腳本運行時可以看成是一個Linux作業,它可能由多個進程完成。
31、 (V)在2.6內核中加入的搶占點提高了Linux的可搶占性,但Linux仍不能看作實時系統。
32、 (X)目前的ARM處理器采用的是哈佛體系結構。
33、 (V)ARM處理器的運行模式可通過中斷或異常處理改變。
34、 (X)C語言中的棧的壓入和彈出是由操作系統管理的。
35、 (X)BootLoader屬于嵌入式操作系統的一部分。
36、 (X)chmod命令可用來修改處理器的運行模式。
37、 (X)CGI程序由Web服務器解釋運行。
38、 (V)Linux系統中的目錄可以看作是一種特殊的文件。
39、 (X)shell環境變量主要用于腳本的執行過程,不會作用于腳本之外的程序。
40、 (V)Busybox常用于替代桌面系統中的init和shell等程序,為嵌入式用戶提供使用環境。
41、 (V)LINUX是一個真正的多用戶、多任務操作系統,允許多個用戶在相同的機器上一次運行很多程序,并能保證相互之間的共享和安全。
42、 在嵌入式系統中,整個系統的加載啟動任務就完全由 Boot Loader 來完成。( √ )
43、 在LINUX系統中,所有的內容被表示成文件,組織文件的各種方法便稱為不同的文件系統。( √ )
44、 Linux系統是一個多用戶多任務的分時操作系統,允許多個用戶在相同的機器上一次運行很多程序。( √ )
45、 Linux 中的 ls 命令的功能是變換工作目錄到目標指定目錄。( × )
46、 ARM包含32個通用寄存器。( × )
47、 Qt Embedded的API同Qt/X11和Qt/Windows的相同,但它并不是基于X11庫。( √ )
48、 kmalloc和vmalloc的區別在于,前者申請到的是物理地址連續的內存空間,而后者則是虛擬地址連續的內存空間,不能用在中斷時間。( √ )
49、 LINUX是一個真正的多任務和分時操作系統,允許多個用戶在相同的機器上一次運行很多程序。( √ )
50、 (X)Linux采用線程調度程序選擇線程占用CPU運行。
51、 (V)在單機系統中可采用關中斷的方式保證操作的原子性。
52、 (X)根文件系統是系統啟動時首先加載的文件系統,因此需要快速加載的內容應放置于其中,以加快系統的運行速度。
53、 (X)線程切換成本小于進程,因此Linux系統中的多線程程序的調度開銷要小于多進程程序。
54、 (X)守護進程的主要任務是完成與用戶的交互,以保證系統的響應性能。
55、 (X)Linux內存管理采用了Slab機制,因此,無需硬件支持,Linux能夠很好地支持虛擬存儲。
56、 (X)模塊程序運行于內核模式,因此,它們能夠訪問內核中的所有函數。
57、 (X)根文件系統所在的分區越大約好,因為根分區越大,Linux啟動速度越快。
58、 (V)一個shell腳本的第一行是:#! /bin/csh它的作用是注釋,表示下面腳本是csh腳本。
59、 (X)目前Linux平臺上的各種線程庫使得Linux能夠在內核空間能夠支持多線程。
60、 (V)Linux允許內核以NFS的形式連接根文件系統
61、 (V)EXT3文件系統是一種日志型的文件系統。
62、 (V)BootLoader是嵌入式系統運行的第一個程序。
63、 (X)自旋鎖可以用在單機系統中來保證內核相關操作的原子性。
64、 (X)Samba服務器在Linux平臺上常用作Web服務器。
65、 在vi編輯器中的命令模式下,重復上一次對編輯的文本進行的操作,可使用下箭頭命令。(錯 )
66、 進程有三種狀態是準備態、執行態和退出態。( 錯 )
67、 觸摸屏是一種輸入設備。(√)
68、 VHDL是一種硬件描述語言,用于設計硬件電子系統。(√)
69、 二極管具有單向導通性。(√)
70、 CISC機器多采用Load/Store結構(×)
71、 GDB是一個用來調試C和C++程序的調試器。(√)
72、 DSP是專門用于數字信號處理方面的處理器。(√)
73、 Nand Flash的特點是應用程序可以直接在閃存中運行,不需要把代碼讀到系統RAM中。(×)
74、 LCD是一種輸出設備。(√)
五、簡答題
1、簡述嵌入式系統中非占先式與占先式調度法的區別有哪些。
答:
非占先式調度法也稱作合作型多任務(cooperative multitasking),各個任務彼此合作共享一個CPU。中斷服務可以使一個高優先級的任務由掛起狀態變為就緒狀態。(1分)但中斷服務以后控制權還是回到原來被中斷了的那個任務,直到該任務主動放棄CPU的使用權時,那個高優先級的任務才能獲得CPU的使用權。(2分)
當系統響應時間很重要時,要使用占先式(preemptive)內核。(1分)最高優先級的任務一旦就緒,總能得到CPU的控制權。當一個運行著的任務使一個比它優先級高的任務進入了就緒態,當前任務的CPU使用權就被剝奪了,或者說被掛起了,那個高優先級的任務立刻得到了CPU的控制權。(2分)
2、什么是硬實時操作系統、軟實時操作系統以及二者的區別?
答:
在實時系統中,如果系統在指定的時間內未能實現某個確定的任務,會導致系統的全面失敗,這樣的系統被稱為強實時系統或硬實時系統。(1分)強實時系統響應時間一般在毫秒或微秒級。(1分)
在弱實時系統中,雖然響應時間同樣重要,但是超時卻不會發生致命的錯誤。(1分)
其系統響應時間在毫秒至秒的數量級上,(1分)其實時性的要求比強實時系統要差一些。(2分)
3、介紹一下嵌入式系統的設計步驟有哪些?各部分主要工作是什么?
答:
(1)需求分析階段,羅列出用戶的需求;(1分)
(2)體系結構設計階段,描述系統的功能如何實現;(1分)
(3)詳細設計階段,進行硬件系統與軟件系統的分類劃分,以決定哪些功能用硬件實現,哪些用軟件實現;(1分)
(4)系統集成,把系統的軟件、硬件和執行裝置集成在一起,(1分)進行調試,發現并改進在設計過程中的錯誤;(1分)
(5)系統測試,對設計好的系統進行測試,看其是否滿足給定的要求。(1分)
4、ARM支持哪兩種數據存儲格式,簡單描述各自特點。
答:
分為大端格式和小端格式。(2分)
大端格式:被存放字數據的高字節存儲在存儲系統的低地址中,而被存放的字數據的低字節則存放在存儲系統的高地址中。(2分)
小端格式:與大端存儲格式相反,在小端存儲格式中,存儲系統的低地址中存放的是被放字數據中的低字節內容,存儲系統的高地址存放的是被存字數據中的高字節內容。(2分)
5、什么是BootLoader?主要有幾種工作模式及主要功能是什么?
答:
簡單說來,Bootloader就是操作系統內核運行的一段小程序,完成進行初始化系統硬件設置的任務,包括CPU、SDRRAM、Flash、串口等初始化,時鐘的設置、存儲器的映射。(2分)
分為啟動加載模式和下載模式。
(1) 啟動加載模式
啟動加載(Boot laoding)模式又稱為“自主”(Autonomous)模式,是指 Bootloader 從目標機上的某個固態存儲設備上將操作系統加載到 RAM 中運行,整個過程并沒有用戶的介入。(2分)
(2) 下載模式
在下載模式下,目標機上的 Bootloader 將先通過串口連接或網絡連接等通信手段從宿主機下載文件。(2分)
6、 簡述Bootloader有何作用?
答案要點:(1)首先,bootloader是在特定硬件平臺運行的程序,嚴重依賴于硬件平臺,需要移植;(2)是系統上電之后,第一個運行的程序,系統在上電或復位時通常都從地址 0x0 處開始執行,而在這個地址處安排的通常就是系統的 Boot Loader 程序;(3)bootloader程序的設計目標是啟動嵌入式操作系統,嵌入式操作系統的啟動需要一定的條件,這些條件由bootloader來滿足;(4)Bootloader一般具有對存儲器和網絡接口操作的功能;如擦除、讀寫Flash,通過USB、串口下載文件等
7、 程序、進程、線程有何區別?
答案要點:程序是編譯后形成的可執行代碼,是靜止的。進程是程序的一次執行,是活動的。線程是進程的可執行單元,同一進程的不同線程共享進程的資源和地址空間。
8、 簡述嵌入式系統的幾個重要特征?
答案要點:系統內核小 ;專用性強 ;系統精簡 ;高實時性的系統軟件;多任務的操作系統 ;需要專用的開發工具和環境。 答出上述4個并適當闡述的即可給滿分。
9、 什么是程序的局部性原理?
答案要點:程序的局部性原理是指程序在執行過程中的一個較短時期內,它所執行的指令和訪問的存儲空間分別局限在一定的區域內。具體表現在時間局部性和空間局部性。時間局部性是指一條指令的一次執行和下一次執行、一個數據的一次訪問和下一次訪問,都集中在一個較短的時間內?臻g局部性是指程序執行了某條指令,則它相鄰的幾條指令也可能馬上執行。
10、Linux作為嵌入式操作系統的優勢?
答:
Linux作為嵌入式操作系統的優勢主要有以下幾點:
1. 可應用于多種硬件平臺。Linux已經被移植到多種硬件平臺,這對于經費,時間受限制的研究與開發項目是很有吸引力的。原型可以在標準平臺上開發后移植到具體的硬件上,加快了軟件與硬件的開發過程。Linux采用一個統一的框架對硬件進行管理,從一個硬件平臺到另一個硬件平臺的改動與上層應用無關。(1分)
2. Linux的高度模塊化使添加部件非常容易。本身內置網絡支持,而目前嵌入式系統對網絡支持要求越來越高。(1分)
3. Linux是一個和Unix相似、以內核為基礎的、具有完全的內存訪問控制,支持大量硬件(包括X86,Alpha、ARM和Motorola等現有的大 部分芯片)等特性的一種通用操作系統。(1分)
4. Linux可以隨意地配置,不需要任何的許可證或商家的合作關系。其程序源碼全部公開,任何人可以修改并在GUN通用公共許可證(GNU General Public License)下發行。這樣,開發人員可以對操作系統進行定制,適應其特殊需要。(1分)
5. Linux帶有Unix用戶熟悉的完善的開發工具,幾乎所有的Unix系統的應用軟件都已移植到了Linux上。其強大的語言編譯器GCC,C++等也可以很容易得到,不但成熟完善,而且使用方便。(分)
11、簡述網絡文件系統NFS,并說明其作用。
答:
NFS即網絡文件系統,是主機通過網絡進行文件共享的協議(2分)。通常用于UNIX或類UNIX系統中。NFS服務器的共享目錄可以被NFS客戶端作為文件系統掛載到本地中(1分)。它的作用是通常用于局域網中用于文件共享(1分)。它的特點是不想http和ftp要把文件下載到本地才能夠被訪問,NFS不需要下載到本地即可訪問(1分)。
12、簡述Boot Loader 的兩種操作模式 (Operation Mode)?
答:
啟動加載(Boot loading)模式:這種模式也稱為"自主"(Autonomous)模式。也即 Boot Loader 從目標機上的某個固態存儲設備上將操作系統加載到 RAM 中運行,整個過程并沒有用戶的介入。這種模式是 Boot Loader 的正常工作模式,因此在嵌入式產品發布的時侯,Boot Loader 顯然必須工作在這種模式下。 (2.5分)
下載(Downloading)模式:在這種模式下,目標機上的 Boot Loader 將通過串口連接或網絡連接等通信手段從主機(Host)下載文件,比如:下載內核映像和根文件系統映像等。從主機下載的文件通常首先被 Boot Loader 保存到目標機的 RAM 中,然后再被 Boot Loader 寫到目標機上的FLASH 類固態存儲設備中。Boot Loader 的這種模式通常在第一次安裝內核與根文件系統時被使用;此外,以后的系統更新也會使用 Boot Loader 的這種工作模式。工作于這種模式下的 Boot Loader 通常都會向它的終端用戶提供一個簡單的命令行接口。(2.5分)
13、簡述嵌入式系統設計過程。
答;每條1分
(1)需求分析 (4)設計硬件構件和軟件構件
(2)規格說明 (5)系統集成
(3)體系結構設計 (6)系統測試
14、ARM啟動代碼是系統加電后運行的第一段軟件代碼,由于這類代碼直接面對處理器內核和硬件控制器進行編程,一般都是用匯編語言。一般通用的內容主要包括?
答:每條1分
中斷向量表
初始化存儲器系統
初始化堆棧
初始化有特殊要求的斷口,設備
初始化用戶程序執行環境
改變處理器模式
呼叫主應用程序
15、什么是符號鏈接,什么是硬鏈接?符號鏈接與硬鏈接的區別是什么?
答:
鏈接分硬鏈接和符號鏈接。
符號鏈接可以建立對于文件和目錄的鏈接。符號鏈接可以跨文件系統,即可以跨磁盤分區。符號鏈接的文件類型位是l,鏈接文件具有新的i節點。
硬鏈接不可以跨文件系統。它只能建立對文件的鏈接,硬鏈接的文件類型位是-,且硬鏈接文件的i節點同被鏈接文件的i節點相同。
16、進程的查看和調度分別使用什么命令?
答:
進程查看的命令是ps和top。
進程調度的命令有at,crontab,batch,kill。
17、簡述嵌入式系統中非占先式與占先式調度法的區別有哪些。
答:
非占先式調度法也稱作合作型多任務(cooperative multitasking),各個任務彼此合作共享一個CPU。中斷服務可以使一個高優先級的任務由掛起狀態變為就緒狀態。(1分)但中斷服務以后控制權還是回到原來被中斷了的那個任務,直到該任務主動放棄CPU的使用權時,那個高優先級的任務才能獲得CPU的使用權。(2分)
當系統響應時間很重要時,要使用占先式(preemptive)內核。(1分)最高優先級的任務一旦就緒,總能得到CPU的控制權。當一個運行著的任務使一個比它優先級高的任務進入了就緒態,當前任務的CPU使用權就被剝奪了,或者說被掛起了,那個高優先級的任務立刻得到了CPU的控制權。(2分)
18、什么是BootLoader,其主要功能是什么?
答:Boot Loader相當于普通pc機的BIOS,是在系統復位后執行的第一段代碼。因此,整個系統的加載啟動任務就完全由Boot Loader來完成。它首先完成系統硬件的初始化,包括時鐘的設置、存儲器的映射等。并設置堆棧指針,然后跳轉到操作系統內核入口,如系統在加電或復位時通常從地址0x00000000處開始執行,而在這個地址處安排的通常就是系統的Boot Loader程序。這樣,將系統的軟硬件環境帶到一個合適的狀態,以便為最終調用操作系統內核準備好正確的環境。在此之后,系統的運行在操作系統的控制下了。通常,Boot Loader 是嚴重地依賴于硬件而實現的,特別是在嵌入式世界。因此,在嵌入式世界里建立一個通用的 Boot Loader 幾乎是不可能的。盡管如此,我們仍然可以對 Boot Loader 歸納出一些通用的概念來,以指導用戶特定的 Boot Loader 設計與實現。
不同的嵌入式系統其Boot Loader一般是不同的。從操作系統的角度來看, Boot Loader的總目標就是正確地調用內核來執行。
另外,由于大多數Boot Loader都分為階段1和階段2兩部分。依賴于CPU的體系結構的代碼,比如設備初始化代碼等,通常都放在階段1中,而且通常用匯編語言來實現,以達到短小精悍的目的。而階段2通常用C語言來實現,這樣可以實現一些復雜的功能,而且代碼會具有更好的可讀性和移植性。
19、什么是硬實時操作系統、軟實時操作系統以及二者的區別?
答:
在實時系統中,如果系統在指定的時間內未能實現某個確定的任務,會導致系統的全面失敗,這樣的系統被稱為強實時系統或硬實時系統。(1分)強實時系統響應時間一般在毫秒或微秒級。(1分)
在弱實時系統中,雖然響應時間同樣重要,但是超時卻不會發生致命的錯誤。(1分)
其系統響應時間在毫秒至秒的數量級上,(1分)其實時性的要求比強實時系統要差一些。(2分)
20、多線程有幾種實現方法,線程間同步有幾種實現方法,都是什么?
答:
兩種實現方法,一種是繼承Thread,另外一種是實現接口Runnable。
同步的實現方法有兩種,分別是synchronized, wait與notify。用synchronized可以對一段代碼、一個對象及一個方法進行加鎖。用wait與notify可以使對象處于等待及喚醒方式導致同步,因為每個對象都直接或間接的繼承了Object類。
21、介紹一下嵌入式系統的設計步驟有哪些?各部分主要工作是什么?
答:
(1)需求分析階段,羅列出用戶的需求;(1分)
(2)體系結構設計階段,描述系統的功能如何實現;(1分)
(3)詳細設計階段,進行硬件系統與軟件系統的分類劃分,以決定哪些功能用硬件實現,哪些用軟件實現;(1分)
(4)系統集成,把系統的軟件、硬件和執行裝置集成在一起,(1分)進行調試,發現并改進在設計過程中的錯誤;(1分)
(5)系統測試,對設計好的系統進行測試,看其是否滿足給定的要求。(1分)
22、某/etc/fstab文件中的某行如下:
/dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2
請解釋其含義。
答:
(1)第一列:將被加載的文件系統名;
(2)第二列:該文件系統的安裝點;
(3)第三列:文件系統的類型;
(4)第四列:設置參數;
(5)第五列:供備份程序確定上次備份距現在的天數;
(6)第六列:在系統引導時檢測文件系統的順序。
23、ARM支持哪兩種數據存儲格式,簡單描述各自特點。
答:
分為大端格式和小端格式。(2分)
大端格式:被存放字數據的高字節存儲在存儲系統的低地址中,而被存放的字數據的低字節則存放在存儲系統的高地址中。(2分)
小端格式:與大端存儲格式相反,在小端存儲格式中,存儲系統的低地址中存放的是被放字數據中的低字節內容,存儲系統的高地址存放的是被存字數據中的高字節內容。(2分)
25、什么是BootLoader?主要有幾種工作模式及主要功能是什么?
答:
簡單說來,Bootloader就是操作系統內核運行的一段小程序,完成進行初始化系統硬件設置的任務,包括CPU、SDRRAM、Flash、串口等初始化,時鐘的設置、存儲器的映射。(2分)
分為啟動加載模式和下載模式。
(3) 啟動加載模式
啟動加載(Boot laoding)模式又稱為“自主”(Autonomous)模式,是指 Bootloader 從目標機上的某個固態存儲設備上將操作系統加載到 RAM 中運行,整個過程并沒有用戶的介入。(2分)
(4) 下載模式
在下載模式下,目標機上的 Bootloader 將先通過串口連接或網絡連接等通信手段從宿主機下載文件。(2分)
26、簡述進程的啟動方式。
答:
在Linux中啟動一個進程有手工啟動和調度啟動兩種方式:
(1)手工啟動
用戶在輸入端發出命令,直接啟動一個進程的啟動方式。可以分為:
、偾芭_啟動:直接在SHELL中輸入命令進行啟動。
、诤笈_啟動:啟動一個目前并不緊急的進程,如打印進程。
(2)調度啟動
系統管理員根據系統資源和進程占用資源的情況,事先進行調度安排,指定任務運行的時間和場合,到時候系統會自動完成該任務。
27、簡述Bootloader有何作用?
答案要點:(1)首先,bootloader是在特定硬件平臺運行的程序,嚴重依賴于硬件平臺,需要移植;(2)是系統上電之后,第一個運行的程序,系統在上電或復位時通常都從地址 0x0 處開始執行,而在這個地址處安排的通常就是系統的 Boot Loader 程序;(3)bootloader程序的設計目標是啟動嵌入式操作系統,嵌入式操作系統的啟動需要一定的條件,這些條件由bootloader來滿足;(4)Bootloader一般具有對存儲器和網絡接口操作的功能;如擦除、讀寫Flash,通過USB、串口下載文件等
28、ARM處理器中,引起異常的原因是什么?
答:(1)、指令執行引起的異常
軟件中斷、未定義指令(包括所要求的協處理器不存在是的協處理器指令)、預取址中止(存儲器故障)、數據中止。
(2)、外部產生的中斷
復位、FIQ、IRQ。
29、程序、進程、線程有何區別?
答案要點:程序是編譯后形成的可執行代碼,是靜止的。進程是程序的一次執行,是活動的。線程是進程的可執行單元,同一進程的不同線程共享進程的資源和地址空間。
30、Linux系統中線程的同步方式有互斥量、信號量和條件變量等。假設現在需要設計一個多線程的應用程序,試分析一下以上幾種同步方式分別可在什么場合下使用(6分)。
參考答案:
Mutex互斥量,用于操作某個臨界資源時對該資源上鎖,以實現互斥地對獨占資源的使用(2分)
Semophore信號燈,信號燈內有一計數器,可以用于對多個同類資源的分配。當資源用完時,申請資源的線程會在信號量上睡眠,有線程釋放資源時,再將該線程喚醒繼續運行。(2分)
Condition條件變量,條件變量用于等待信號。當一個線程需要等待某個信號時,就可到條件變量上等待,當信號具備時,系統會喚醒該線程繼續運行。(2分)
31、簡述嵌入式系統的幾個重要特征?
答案要點:系統內核小;專用性強 ;系統精簡 ;高實時性的系統軟件 ;多任務的操作系統 ;需要專用的開發工具和環境。 答出上述4個并適當闡述的即可給滿分。
32、什么是程序的局部性原理?
答案要點:程序的局部性原理是指程序在執行過程中的一個較短時期內,它所執行的指令和訪問的存儲空間分別局限在一定的區域內。具體表現在時間局部性和空間局部性。時間局部性是指一條指令的一次執行和下一次執行、一個數據的一次訪問和下一次訪問,都集中在一個較短的時間內?臻g局部性是指程序執行了某條指令,則它相鄰的幾條指令也可能馬上執行。
33、簡述Busybox的工作原理。(4分)
參考答案:Busybox是通過一個程序去實現原來Linux的眾多命令程序。這樣可使原來3.5MB左右的工具包壓縮大約200KB大小一個程序,這對嵌入式系統非常重要(2分)。
為了使用的方便,Busybox通過創建其原文件的符號連接來達到傳遞具體執行命令的目的。例如,創建一個mv的符號連接,當用戶鍵入mv后,mv實際上會以C語言中的argv[0]傳遞給Busybox的主程序。這樣Busybox就可據此跳轉到相應的代碼去執行。(2分)
34、Linux作為嵌入式操作系統的優勢?
答:
Linux作為嵌入式操作系統的優勢主要有以下幾點:
1. 可應用于多種硬件平臺。Linux已經被移植到多種硬件平臺,這對于經費,時間受限制的研究與開發項目是很有吸引力的。原型可以在標準平臺上開發后移植到具體的硬件上,加快了軟件與硬件的開發過程。Linux采用一個統一的框架對硬件進行管理,從一個硬件平臺到另一個硬件平臺的改動與上層應用無關。(1分)
2. Linux的高度模塊化使添加部件非常容易。本身內置網絡支持,而目前嵌入式系統對網絡支持要求越來越高。(1分)
3. Linux是一個和Unix相似、以內核為基礎的、具有完全的內存訪問控制,支持大量硬件(包括X86,Alpha、ARM和Motorola等現有的大 部分芯片)等特性的一種通用操作系統。(1分)
4. Linux可以隨意地配置,不需要任何的許可證或商家的合作關系。其程序源碼全部公開,任何人可以修改并在GUN通用公共許可證(GNU General Public License)下發行。這樣,開發人員可以對操作系統進行定制,適應其特殊需要。(1分)
5. Linux帶有Unix用戶熟悉的完善的開發工具,幾乎所有的Unix系統的應用軟件都已移植到了Linux上。其強大的語言編譯器GCC,C++等也可以很容易得到,不但成熟完善,而且使用方便。(分)
35、簡述Linux需要進行進程調度的時機(6分)
參考答案:(每小點1分)
Linux執行進程調度一般是在以下情況發生的:
(1)正在執行的進程運行完畢;
(2)正在執行的進程調用阻塞原語將自己阻塞起來進入等待狀態;
(3)正在執行的進程調用了P原語操作,從而因資源不足而被阻塞;或調用了V原語操作激活了等待資源的進程隊列;
(4)執行中的進程提出I/O請求后被阻塞;
(5)系統分配的時間片已經用完;
以上都是CPU為不可剝奪方式下的引起進程調度的原因。在CPU方式是可剝奪時,還有下面的原因:
(6)就緒隊列中的某個進程的優先級變得高于當前運行進程的優先級,從而也將引起進程調度。
37、什么是符號鏈接,什么是硬鏈接?符號鏈接與硬鏈接的區別是什么?(6分)
參考答案:
鏈接分硬鏈接和符號鏈接。
符號鏈接可以建立對于文件和目錄的鏈接。符號鏈接可以跨文件系統,即可以跨磁盤分區。符號鏈接的文件類型位是l,鏈接文件具有新的i節點。(3分)
硬鏈接不可以跨文件系統。它只能建立對文件的鏈接,硬鏈接的文件類型位是-,且硬鏈接文件的i節點同被鏈接文件的i節點相同。(3分)
38、簡述Boot Loader 的兩種操作模式 (Operation Mode)?
答:
啟動加載(Boot loading)模式:這種模式也稱為"自主"(Autonomous)模式。也即 Boot Loader 從目標機上的某個固態存儲設備上將操作系統加載到 RAM 中運行,整個過程并沒有用戶的介入。這種模式是 Boot Loader 的正常工作模式,因此在嵌入式產品發布的時侯,Boot Loader 顯然必須工作在這種模式下。 (2.5分)
下載(Downloading)模式:在這種模式下,目標機上的 Boot Loader 將通過串口連接或網絡連接等通信手段從主機(Host)下載文件,比如:下載內核映像和根文件系統映像等。從主機下載的文件通常首先被 Boot Loader 保存到目標機的 RAM 中,然后再被 Boot Loader 寫到目標機上的FLASH 類固態存儲設備中。Boot Loader 的這種模式通常在第一次安裝內核與根文件系統時被使用;此外,以后的系統更新也會使用 Boot Loader 的這種工作模式。工作于這種模式下的 Boot Loader 通常都會向它的終端用戶提供一個簡單的命令行接口。(2.5分)
39、模塊的編程和普通程序的編程有哪些區別?(6分)
參考答案:
主要區別為:
(1)因為內核模塊運行在內核態,所以包含的頭文件是內核程序相關的頭文件,而普通程序則包含的是glibc的頭文件(1分)
(2)模塊程序沒有main函數,而是通過init_module函數在加載后初始化。(2分)
(3)模塊程序內可直接調用內核函數,而普通程序則只能通過系統調用使用內核函數。(2分)
(4)普通用戶程序可運行多次,而內核函數通常則只能加載1次(1分)。
41、 已知C語言程序有主程序模塊prog.c,prog.h,其中調用了另一模塊subr.c, subr.h中的功能。試寫出一個可將這兩個模塊編譯成可執行文件pr1的makefile。(5分)
參考答案:
[每行1分]
pr1: prog.o subr.o
gcc –o pr1 prog.o subr.o
prog.o: prog.c prog.h
gcc –c –o prog.o prog.c
subr.o: subr.c subr.h
gcc –c –o subr.o subr.c
43、簡述Linux的VFS機制及其特點?(5分)
參考答案:
VFS是一種抽象的文件機制,內核中對文件系統的相關操作系統實際上都通過操作VFS實現,也就是說VFS是對各具體文件系統的抽象。(3分)
VFS使得內核其他部分無須關心不同文件系統之間的差異,使得Linux可以支持多種類型的文件系統。當然,因為增加了抽象層,會有類型轉換的開銷。(2分)
44、模塊的編程和普通程序的編程有哪些區別?(5分)
參考答案:
主要區別為:
(1)因為內核模塊運行在內核態,所以包含的頭文件是內核程序相關的頭文件,而普通程序則包含的是glibc的頭文件(1分)
(2)模塊程序沒有main函數,而是通過init_module函數在加載后初始化。(2分)
(3)模塊程序內可直接調用內核函數,而普通程序則只能通過系統調用使用內核函數。(2分)
45、BootLoader有哪幾種工作模式?各有什么特點(5分)
參考答案:啟動加載模式和下模式(2分)。前者“自主”,不需要用戶干預,后者可響應用戶的交互請求。(3分)
46、簡述嵌入式系統調試有哪幾種方式(5分)
參考答案:
模擬器方式(1分)、在線仿真器方式(1分)、監控器方式(1分)、在線調試器方式,如JTAG(2分)。
47、Qt/Embedded的主要特點是什么?(5分)
參考答案:
是一個專門為嵌入式系統設計的圖形用戶界面的工具包(1分)。支持UNIX和Windows平臺(1分)。采用面向對象的思想開發(1分),開發接口與桌面的Qt相同,因此桌面應用程序可方便的移植到Qt/E(1分)。不分層的架構使得其他運行速度很快(1分)。
48、簡述嵌入式系統的開發流程。
參考答案:
需求分析階段(1分)
體系結構設計(1分)
硬件/軟件設計(1分)
系統集成(1分)
代碼固化(1分)
49、簡述C語言中數組和指針的異同點。
參考答案:
相同點:(1)表達式中的數組名被編譯器當作一個指向該數組第一個元素的指針(1分)
(2)下標總是與指針偏移量相同(1分)
(3)在函數參數的聲明中,數組被編譯器當作一個指向該數組第一個元素的指針(1分)
不同點:(1)指針用于保存數據的地址,而數組用于保存數據(1分)
(2)指針是間接訪問而數組是直接訪問方式(1分)
50、什么是交叉編譯?為什么要采用交叉編譯(5分)
參考答案:所謂交叉編譯,是指在一個平臺上編譯生成在另一個平臺上運行的可執行程序。(3分)。之所以采用交叉編譯,是因為目標平臺上不具備直接運行開發環境的條件。(2分)
。
51、什么是符號鏈接,什么是硬鏈接?符號鏈接與硬鏈接的區別是什么?
參考答案:
鏈接分硬鏈接和符號鏈接。
符號鏈接可以建立對于文件和目錄的鏈接。符號鏈接可以跨文件系統,即可以跨磁盤分區。符號鏈接的文件類型位是l,鏈接文件具有新的i節點。(3分)
硬鏈接不可以跨文件系統。它只能建立對文件的鏈接,硬鏈接的文件類型位是-,且硬鏈接文件的i節點同被鏈接文件的i節點相同。(2分)
52、簡述Boot Loader的主要功能。
參考答案:
基本硬件設備初始化。(1分)
設置好堆棧。 (1分)
檢測系統內存映射(memory map)。 (1分)
將 kernel 映像和根文件系統映像從 flash 上讀到 RAM 空間中。(1分)
為內核設置啟動參數,調用內核。(1分)
53、嵌入式Linux系統的根文件系統通常應該包括哪個內容?
參考答案:
通常包括:init、libc庫、驅動模塊、必需的應用程序和系統配置腳本。(各1分)
54、
55、回答下面問題:
a) 對于整形變量A=0x12345678,請畫出在little endian及big endian的方式下在內存中是如何存儲的。
b) 在ARM系統中,函數調用的時候,參數是通過哪種方式傳遞的?
c) 中斷(interrupt,如鍵盤中斷)與異常(exception,如除零異常)有何區別?
答:
a) 0x12345678
little endian big endian 剛好反過來
高地址--〉 0x12 低地址--〉 0x12
0x34 0x34
0x56 0x56
低地址--〉 0x78 高地址--〉 0x78
b)
答:應用程序中使用中間寄存器及數據棧來傳遞參數。
在arm匯編中,如果第1~4個參數通過r0 -r3寄存器來傳遞,超過4個的使用數據棧進行傳遞,輸出函數由r0傳遞。
c)所謂中斷應該是指外部硬件產生的一個電信號,從cpu的中斷引腳進入,打斷cpu當前的運行;
所謂異常,是指軟件運行中發生了一些必須作出處理的事件,cpu自動產生一個陷入來打斷當前運行,轉入異常處理流程。
56、某Linux主機的/etc/rc.d/rc.inet1文件中有如下語句,請修正錯誤,并解釋其內容。
/etc/rc.d/rc.inet1:
……
ROUTE add –net default gw 192.168.0.101 netmask 255.255.0.0 metric 1
ROUTE add –net 192.168.1.0 gw 192.168.0.250 netmask 255.255.0.0 metric 1
答:修正錯誤:
(1)ROUTE應改為小寫:route;(2)netmask 255.255.0.0應改為:netmask 255.255.255.0;
(3)缺省路由的子網掩碼應改為:netmask 0.0.0.0;
(4)缺省路由必須在最后設定,否則其后的路由將無效。
解釋內容:
(1)route:建立靜態路由表的命令;(2)add:增加一條新路由;
(3)-net 192.168.1.0:到達一個目標網絡的網絡地址;
(4)default:建立一條缺省路由;(5)gw 192.168.0.101:網關地址;
(6)metric 1:到達目標網絡經過的路由器數(跳數)。
6.下述代碼取自u-boot,請對其加以逐行注釋和分析。
typedef int (init_fnc_t) (void);
init_fnc_t *init_sequence[] = {
cpu_init,
board_init,
env_init,
serial_init,
display_banner,
NULL,
};
init_fnc_t **init_fnc_ptr;
for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr)
{
if ((*init_fnc_ptr)() != 0) {
hang ();
}
}
4.簡述2.4與2.6內核模塊機制的改變對編寫設備驅動程序的影響?
答:2.4內核中,模塊的編譯只需內核源碼頭文件;需要在包含linux/modules.h之前定義MODULE;編譯、連接后生成的內核模塊后綴為.o。2.6內核中,模塊的編譯需要配置過的內核源碼;編譯、連接后生成的內核模塊后綴為.ko;
在2.6 內核中,內核模塊必須調用宏module_init 與module_exit() 去注冊初始化與退 出函數。在2.4內核中,如果初始化函數命名為init_module()、退出函數命名為cleanup_module()。
2.4內核中,模塊自身通過MOD_INC_USE_COUNT、MOD_DEC_USE_COUNT宏來管理自己被使用的計數。2.6內核提供了更健壯、靈活的模塊計數管理接口try_module_get(&module)及module_put (& module)取代2.4中的模塊使用計數管理宏;模塊的使用計數不必由自身管理,而且在管理模塊使用計數時考慮到SMP與 PREEMPT機制的影響。
2.4 內核下,缺省情況時模塊中的非靜態全局變量及函數在模塊加載后會輸出到內核空間。2.6內核下,缺省情況時模塊中的非靜態全局變量及函數在模塊加載后不會輸出到內核空間,需要顯式調用宏EXPORT_SYMBOL。
57、論述一下問題
(1) ARM中引起異常的原因
(2) 在ARM體系中,異常中斷向量表的大小是多少,其中每個異常中斷占據多少字節
(3) 異常中斷的處理、返回過程。
答:(1)原因主要:
a.指令執行引起的異常
軟件中斷、未定義指令(包括所要求的協處理器不存在是的協處理器指令)、預取址中止(存儲器故障)、數據中止。
b.外部產生的中斷
復位、FIQ、IRQ。
(2)在ARM體系中,異常中斷向量表的大小為32字節,其中每個異常中斷占據4個字節大小,保留了4個字節空間。
(3)ARM處理器對異常中斷的響應過程是首先保存處理器當前狀態、中斷屏蔽位及CPSR寄存器中的各個條件標志位。這是通過將當前程序狀態寄存器CPSR的內容保存到將要執行的異常中斷對應的SPSR寄存器中實現的。其次設置當前程序狀態寄存器CPSR中相應的位。再次將寄存器LR_mode(R14_mode)設置成返回地址。最后將PC設置成該異常中斷的中斷向量地址,從而跳轉到對應的中斷處理程序處執行。
ARM處理器從異常中斷程序中返回的過程:首先恢復被中斷程序的處理器狀態,也就是將SPSR_mode 內容復制到CPSR。然后返回到發生異常中斷指令的下一條指令處執行,即將LR_mode(R14_mode)寄存器的內容復制到PC中。
58、在linux中如何編譯C程序,使之成為可執行文件(3分)?如何調試(3分)?
答案:
[問題1](3分)
1)檢查程序中.h文件所在的目錄,將其加入系統PATH中;
2)執行C編譯:#gcc [源文件名] -o [目標文件名]
3)改變目標文件為可執行文件:#chmod +x [目標文件名]
4)如需將多個可執行文件連續執行,可用vi生成批處理文件,最后記得將該批處理文件屬性改為可執行(同上一步)
[問題2](3分)
調試:在編譯時使用-g參數,就可以使用gdb進行調試。
59、時間片的大小對系統有什么影響?(3分)在選取時間片是應考慮哪些因素?(3分)
參考答案:
[問題1](3分)
在輪轉法中,時間片長度的選取非常重要,將直接影響系統開銷和響應時間。如果時間片長度很小,則調度程序剝奪處理機的次數頻繁,加重系統開銷;反之,如果時間片長度選擇過長,比方說一個時間片就能保證就緒隊列中所有進程都執行完畢,則輪轉法就退化成先進先出算法。
[問題2](3分)
影響時間片大小的主要因素有:系統響應時間、就緒進程數目和計算機處理能力
60、模塊的編程和普通程序的編程有哪些區別?(6分)
參考答案:
主要區別為:
(1)因為內核模塊運行在內核態,所以包含的頭文件是內核程序相關的頭文件,而普通程序則包含的是glibc的頭文件(1分)
(2)模塊程序沒有main函數,而是通過init_module函數在加載后初始化。(2分)
(3)模塊程序內可直接調用內核函數,而普通程序則只能通過系統調用使用內核函數。(2分)
(4)普通用戶程序可運行多次,而內核函數通常則只能加載1次(1分)。
【嵌入式助理工程師認證考試題庫】相關文章:
嵌入式助理工程師認證考試題庫及答案01-23
2016年Adobe認證考試Photoshop題庫07-13
Photoshop認證考試題庫11-02
Oracle OCP認證考試題庫12-31
Linux認證考試題庫及答案10-26