- 相關(guān)推薦
2017嵌入式系統(tǒng)開發(fā)工程師考試仿真題
1、簡答題。下面的題目必須全部答對才給分:(5分)
1、在UNIX環(huán)境中,編譯流程是什么?
2、ABI,ELF的英文全稱是什么
3、一般UNIX的程序有多少段,舉一個實際的例子說明。
4、如何在kernel二進制代碼中找一個字符串。
5、段地址F000:FFF0轉(zhuǎn)換為線形地址的值是多少(16進制表達)。
6、在一個UNIX文件系統(tǒng)中,文件的唯一性標(biāo)志是什么?
2、問答題。
1、———————————————————–
寫一些代碼。如何用文件實現(xiàn)信號燈?要求如果程序崩潰了,這個文件也將自動被刪除。
為什么可以這樣實現(xiàn)信號燈?(5分)
傳統(tǒng)的signal函數(shù)信號處理為什么是不可靠的,信號和系統(tǒng)調(diào)用有何關(guān)系?(5分)
在圖形庫系統(tǒng)中往往提供timer的功能,除了使用ALARM信號外,你還可以使用什么系統(tǒng)調(diào)用來實現(xiàn)timer?(5分)
2、———————————————————–
寫一些代碼,演示如何正確使用write系統(tǒng)調(diào)用。注意看好手冊再回答。(2分)
如果一個文件以rw模式打開,在進行read/write操作轉(zhuǎn)換時,需要進行什么操作。(2分)
3、———————————————————–
解釋終端結(jié)構(gòu)termios.c_cc的MIN/TIME數(shù)值變化的帶來read/write的特性。(5分)
如何理解終端、控制終端、虛擬終端、控制臺、tty等類同的概念?(5分)
4、———————————————————–
解釋計算機中Copy-On-Write的概念。(2分)
調(diào)用fork之后,子進程沒有繼承父進程的屬性有哪些?(5分)
解釋為什么每個程序在裝入執(zhí)行之后,總是已經(jīng)預(yù)先打開了stdout、stdin、stderr?(2分)
在fork之前,父進程打開了一個文件。在fork之后,如果子進程移動了文件指針,父進程的文件指針有什么變化;如果子進程關(guān)閉了文件,父進程有什么變化?為什么會這樣?(5分)
標(biāo)準(zhǔn)輸入、輸出和錯誤輸出分別是什么類型的緩沖,這些緩沖在用戶空間還是在核心空間?
怎樣關(guān)閉他們的緩沖?如果父進程關(guān)閉了緩沖,在fork之后建立的子進程是否也關(guān)閉了緩沖?(5分)
vfork和fork相比,有什么特色?(2分)
system函數(shù)是否等同于fork+exec?(2分)
wait系統(tǒng)調(diào)用有多少種條件可以退出?(2分)
5、———————————————————–
系統(tǒng)調(diào)用和庫函數(shù)調(diào)用有什么區(qū)別。(2分)
在linux2.4.x上的glibc和newlib(一種嵌入式C庫)的系統(tǒng)調(diào)用有什么不同?(2分)
在linux2.4.x上,對系統(tǒng)調(diào)用execve如果調(diào)用成功,它返回的值是多少。(2分)
6、———————————————————–
列出你所知道的2個內(nèi)存跟蹤庫。(2分)
設(shè)計一個內(nèi)存跟蹤方案,為什么選擇這個方案(5分)
3、分析題。
本題(各5分)。假設(shè)下面代碼中的變量都是合法變量,調(diào)用外部的函數(shù)都是正確的;卮饚讉問題:
這些代碼意圖要干什么?
是否有問題?
如果有問題,該如何修改,或者如何避免類似錯誤發(fā)生?
如果沒有問題,如果代碼有輸出,輸出是什么?
1、———————————————————–
int isvowel (char c)
{
return c==’a’’’’’’’’||c==’e’’’’’’’’||c==’i’’’’’’’’||c==’o’’’’’’’’||c==’u’’’’
}
2、———————————————————–
while (c==’\t’||c=’ ‘||c==’\n’)
c=getc(f);
3、———————————————————–
/* 當(dāng)x=2, y=3, z=? */
if (x==0)
if (y==0)
z=-1;
else
z=x+y;
4、———————————————————–
/* 處理網(wǎng)絡(luò)事件 */
void process_network_code(int x, int y)
{
/* 選擇modes_pointer資源 */
switch (line) {
case THING1:
/* 處理異常1#, 使用老的modes_pointer資源 */
doit1();
break;
case THING2:
/* 處理異常2#, 需要重新啟動服務(wù) */
if (x == STUFF) {
/* 重新申請modes_pointer資源,沒有初始化 */
do_first_stuff();
/* 在這種條件下,有些資源不用重新申請 */
if (y == OTHER_STUFF)
break;
/* 申請剩下的資源,并初始化 */
do_later_stuff();
}
/* 初始化modes_pointer資源 */
initialize_modes_pointer();
break;
default:
/* 處理普通事件, 使用老的modes_pointer資源 */
processing();
}
/* 使用modes_pointer資源,處理事件 */
use_modes_pointer();
}
5、———————————————————–
int is_gb2312_char(char c1, char c2)
{
if (c1 >= 0xa1 && c2 >= 0xa1)
return 1;
else
return 0;
}
【嵌入式系統(tǒng)開發(fā)工程師考試仿真題】相關(guān)文章:
嵌入式系統(tǒng)開發(fā)工程師考試考試要點09-03
2017嵌入式系統(tǒng)開發(fā)工程師綜合編程題07-26
嵌入式系統(tǒng)開發(fā)工程師考試知識點08-05
2017年嵌入式系統(tǒng)開發(fā)技術(shù)考試預(yù)測題及答案06-15
2024嵌入式系統(tǒng)開發(fā)工程師考試模擬試題10-22
2017咨詢工程師考試仿真題及答案09-06
2018咨詢工程師考試仿真題及答案10-17
2017造價工程師考試仿真題及答案09-14