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