美國留學(xué)選擇什么專業(yè)好?留學(xué)美國熱門專業(yè)推薦
2019-06-26
更新時間:2024-08-09 22:29作者:小樂
許多人參加嵌入式計算機四級考試是為了找到更好的工作。從名字就可以看出,Embedded Level 4 并不簡單。嵌入式4級包含更多知識點。對編程開發(fā)感興趣的、對操作系統(tǒng)感興趣的都是難題類型。在此之間,我總結(jié)了一些嵌入式四級題,供參加計算機四級考試的人參考。
1、編程能力發(fā)展方向:
1、使用預(yù)處理指令#define聲明一個常量,表示一年有多少秒(忽略閏年問題);編寫一個“標準”宏MIN 函數(shù),它接受兩個參數(shù)并返回較小的一個。
2. 使用變量a給出以下定義:
(1)整數(shù);
(2) 指向整數(shù)的指針;
(3) 指向指針的指針,它指向的指針是一個整數(shù)(Apointertoapointertointeger);
(4) 10個整數(shù)的數(shù)組;
(5) 一個由10 個整數(shù)指針組成的數(shù)組;
(6) 指向10 個整數(shù)的數(shù)組的指針;
(7) 指向以整數(shù)作為參數(shù)的函數(shù)的指針返回整數(shù);
(8) 一個由10 個指針組成的數(shù)組,這些指針指向采用整數(shù)參數(shù)并返回整數(shù)的函數(shù);
3. 關(guān)鍵字volatile 的含義是什么并給出三個不同的例子。
4. 嵌入式系統(tǒng)總是要求用戶對變量或寄存器進行位操作。給定一個整型變量a,編寫兩段代碼。第一個設(shè)置a 的位3,第二個清除a 的位3。在上述操作過程中,保持其他位不變。
5. 嵌入式系統(tǒng)通常要求程序員訪問特定的內(nèi)存位置。在某項目中,需要設(shè)置一個絕對地址為0x67a9到0xaa66的整型變量的值。編譯器是純ANSI 編譯器,代碼是為了完成此任務(wù)而編寫的。
6.中斷是嵌入式系統(tǒng)的重要組成部分,這導(dǎo)致許多編譯器開發(fā)人員提供了擴展——,以允許標準C支持中斷。通常會生成一個新的關(guān)鍵字:__interrupt,下面的代碼是__interrupt用來定義一個中斷子程序(ISR)。請評論這段代碼的__interrupt。
雙compute_area(雙半徑){
雙倍面積=PI*半徑*半徑; print f(\'面積\'=%f,面積);返回區(qū); }
7、雖然不像非嵌入式計算機那么常見,但嵌入式系統(tǒng)仍然有從堆動態(tài)分配內(nèi)存的過程。那么嵌入式系統(tǒng)中動態(tài)分配內(nèi)存時可能會出現(xiàn)哪些問題呢?
8. 關(guān)鍵字static的作用是什么?
9. #include 和#include \'file.h\' 的區(qū)別10. 請告訴我const 與#define 相比有哪些優(yōu)點
2、嵌入式系統(tǒng)編程:
1.進程和線程有什么區(qū)別?
2、操作系統(tǒng)有哪些特點?主要特點是什么?虛擬內(nèi)存有什么特點?
它最本質(zhì)的特征是什么?
3、庫函數(shù)調(diào)用和系統(tǒng)調(diào)用的區(qū)別
4、Linux進程間的通信方式有哪些以及各自的特點?
5. Linux中的四層網(wǎng)絡(luò)模型各種類型的IP范圍
6、Linux系統(tǒng)死鎖的原因有哪些?
7、Linux網(wǎng)絡(luò)編程主要使用哪些API以及網(wǎng)絡(luò)服務(wù)器模型的類型? 8、簡述對Linux的認識(特點、優(yōu)點)。
3.嵌入式平臺開發(fā)
1.什么是引導(dǎo)加載程序?引導(dǎo)加載程序的stage1 和stage2 執(zhí)行哪些任務(wù)? 2.Linux內(nèi)核版本命名規(guī)則。 3. Linux設(shè)備文件有哪些類型?
4、Linux文件系統(tǒng)有哪些類型及其使用特點? 5、嵌入式系統(tǒng)移植的主要步驟是什么?
4、編程能力實戰(zhàn)測試
1、編寫一個C函數(shù),將“I am from shanghai”反轉(zhuǎn)為“shanghai from am I”,即反轉(zhuǎn)單詞在句子中的位置,而不改變單詞的內(nèi)部結(jié)構(gòu)。
2. 請編寫一個C 函數(shù),將整數(shù)轉(zhuǎn)換為任意字符串輸出。
5.操作系統(tǒng)方向
1、異步環(huán)境中的一組并發(fā)進程由于直接約束而相互發(fā)送消息,相互配合,相互等待,使得各個進程以一定的速度執(zhí)行。這個過程稱為進程間同步。
2.P、V操作可以實現(xiàn)進程同步、進程互斥、進程前驅(qū)關(guān)系。進程共享是進程之間交換大量信息。
3、在民航訂票系統(tǒng)中,各訂票點向客票服務(wù)器發(fā)起請求訂票流程。這些過程之間的關(guān)系是互斥的。
4、進程之間的相互約束如下:
相互認識程度相互作用一個流程對其他流程的影響潛在的控制問題
彼此不知情。競爭關(guān)系。一個進程的運行不會影響其他進程的結(jié)果。相互排斥、僵局、饑餓。
間接感知通過共享進行協(xié)作互斥、死鎖、饑餓、數(shù)據(jù)一致性
直接感知通過溝通進行協(xié)作
其中,間接感知、共享協(xié)作、進程死鎖、互斥、饑餓、數(shù)據(jù)一致性
5、不同用戶在同一游戲機上玩足球游戲時,既存在同步關(guān)系,又存在互斥關(guān)系。
6、使用P、V操作管理臨界區(qū)時,設(shè)置信號量互斥體的初始值為1,當互斥體的等待隊列中有k(k1)個進程時,信號量的值為-k
7、進程間通信時,如果郵槽已滿,發(fā)送進程無法申請互斥鎖。
8、共享內(nèi)存適合傳輸大量信息,效率很高。
9、對信號量的操作包括:初始化、等待信號、發(fā)出信號、清理
10、訪問前必須先調(diào)用入口區(qū)代碼,然后執(zhí)行臨界區(qū)代碼,最后執(zhí)行出口區(qū)代碼。
11.管道通信是同步的
12、信息緩沖區(qū)通信機制包括:信息緩沖區(qū)、消息隊列首地址、同步互斥信號量、發(fā)送和接收信息原語。
6.最重要的:計算機嵌入式四級考試易錯題
1、一個進程由多個線程組成。如果一個線程被調(diào)度程序選中并投入運行(占用CPU),則該進程就處于運行狀態(tài)。
2.pthread_join:等待特定線程退出。
pthread_yield:表示線程讓出CPU。 (讓步:讓步、退位)
pthread_mutex_init:創(chuàng)建互斥鎖。
pthread_create:創(chuàng)建線程后運行該線程。
pthread_exit:運行后自動退出。
當不調(diào)用這些函數(shù)時,沒有錯誤指令,線程執(zhí)行完指令后退出。
3、如果CPU資源白送了,可能不會發(fā)生調(diào)度,但是如果沒有CPU資源白送,進程肯定不會發(fā)生調(diào)度。
4、同步關(guān)系:異步環(huán)境中的一組并發(fā)進程相互發(fā)送消息,相互配合,由于直接約束而相互等待,從而使各個進程以一定的速度執(zhí)行(管道式,無競爭) ;競爭關(guān)系:公共資源,導(dǎo)致競爭。
5. mutex的等待隊列中有K個進程(初始為1)。目前有k+1個進程需要訪問臨界區(qū)。此時,mutex=-k。
6.p_v操作。
7、虛擬頁面存儲管理:不是在進程開始運行之前加載所有頁面,而是加載一個或零個頁面,然后根據(jù)進程的需要動態(tài)轉(zhuǎn)移其他頁面。當內(nèi)存空間滿了,需要加載新的頁面時,按照一定的算法替換頁面,加載新的頁面。
將內(nèi)存劃分為大小為2的冪次方的內(nèi)存塊,成為頁框。
系統(tǒng)將虛擬地址空間劃分為若干頁,頁的大小與頁框相同。
虛擬頁不需要在物理空間中連續(xù)存儲
硬件機制實現(xiàn)邏輯地址到物理地址的動態(tài)轉(zhuǎn)換
虛擬頁存儲技術(shù)的基本思想是利用大容量的外部存儲器來擴展內(nèi)存。 (使用交換技術(shù))
8.成功打開文件系統(tǒng)調(diào)用后,系統(tǒng)將返回一個文件描述符給用戶。
系統(tǒng)描述符在形式上是一個非負整數(shù)。 (其實就是一個索引值,指向內(nèi)核為每個進程維護的進程打開的文件記錄表)。當程序打開現(xiàn)有文件或創(chuàng)建新文件時,內(nèi)核將文件描述符返回給進程。 (文件描述符僅在UNIX和LINUX中提到)
9、指令流水線中,最大吞吐率是指流水線達到穩(wěn)定狀態(tài)后所能獲得的吞吐率。
指令流水線中的吞吐率是指單位時間內(nèi)在流水線上完成的指令或輸出結(jié)果的數(shù)量。
10、光磁記錄可重寫光盤的存取原理:熱磁效應(yīng)。
11、8086 CPU響應(yīng)INTR中斷時,為了獲得指向存儲中斷向量的內(nèi)存的實際物理地址,將I/O給出的中斷類型代碼乘以4。
中斷類型代碼中斷向量(左移)
中斷向量中斷類型代碼(右移)
其實,不只是這些,還有很多。這是我總結(jié)的一部分。正在參加計算機四級嵌入式考試的人都應(yīng)該過來看看,為以后的考試做好充分的準備。