Linux核心與驅動面試要點

2021-05-02 18:42:19 字數 1730 閱讀 5714

嵌入式linux核心與驅動面試要點:

1. 實際經驗:所開發驅動程式或核心模組的來龍去脈(需求、設計思想、實現方法、要點難點,特別是硬體除錯過程中所遇到的特殊情況),所修復bug的現象、除錯手段、原因分析和解決方案。

2. 驅動除錯:核心的除錯手段、應用程式的除錯手段(核心panic所dump的資訊以及panic的分析、應用程式core dump的分析)。

3. 驅動基礎:mknod與udev,module相關api,核心makefile的編寫,裝置編號的申請,裝置的註冊,簡單驅動的fops(open/read/write/ioctl/release),使用者空間和核心空間的資料交換,阻塞操作的實現、select/poll的支援,mmap的實現,dma機制及其注意事項。

4. 中斷機制:linux中斷機制的內在邏輯,中斷處理程式的實現要點,中斷共享機制,中斷上下文與程序上下文的區別(為什麼在中斷上下文中不能執行導致程序排程的函式),中斷與異常的區別,中斷的管理(開中斷與關中斷)。

5. 下半部:linux下半部機制的必要性,三種型別下半部(softirq/tasklet/work

queue)的區別與應用場景,三種下半部機制的api,中斷處理程式、下半部以及程序上下文之間的同步問題。

6. 核心同步:核心中競爭與同步機制的內在邏輯,核心同步方法(原子操作/spin lock/訊號量/讀寫鎖/完成變數completion

variable/seq_lock/read-copy-update/per-cpu變數/禁止核心搶占、中斷和下半部/記憶體屏障)的內在邏輯、區別與應用場景。

7. 記憶體分配:linux記憶體管理及分配機制(buddy system和slab等),

kmalloc的原理、應用場景及引數,alloc_pages物理頁面分配,高階記憶體對映,per-cpu資料,alloc_bootmem啟動時的記憶體分配。

8. 定時延時:核心定時、延時及等待機制(忙等待,核心定時器,schedule_timeout,等待佇列、程序的阻塞與喚醒)

9. 電源管理:linux核心的電源管理機制,驅動程式中電源管理的實現。

10. 驅動子系統:嵌入式系統中常用簡單匯流排介面(i2c/spi/uart/sdio)驅動子系統,重點外設模組(mtd及其檔案系統/microsd/lcd/camera/audio/網絡卡/wifi/bt/usb/鍵盤與觸屏)驅動子系統。

11. 硬體基礎:arm體系結構的基礎知識(暫存器、執行模式、mmu、cache、常用彙編指令),中斷控制器,dma控制器等,重點外設的硬體邏輯。

12. 程序管理:o(1)排程演算法和cfs排程演算法的思想與實現方法,優先順序反轉及其解決方法,核心搶占(禁止搶占、搶占時機),程序的管理(阻塞與喚醒、等待佇列、排程、放棄cpu等),程序與執行緒的區別、核心執行緒與普通程序的區別。

13. 系統啟動:核心啟動詳細順序(上電 -> bootloader -> start_kernel() -> 各核心子系統的啟動 ->

啟動新執行緒init用於啟動系統[...] -> 啟動新執行緒用於建立各核心

執行緒 ->

idle),模組init的實現機制(各種init巨集所標識的函式的呼叫時機)。

14. 檔案系統:linux虛擬檔案系統vfs的架構,檔案open的過程(普通檔案、字元裝置、塊裝置)、系統呼叫open和字元裝置驅動open函式的引數差異。

15. 其他知識:makefile的編寫/shell程式設計/busybox/gcc編譯過程及其優化/gdb命令/動態鏈結庫的鏈結方式/nptl之執行緒管理介面/elf/linux的log機制/變數在記憶體中的儲存/daemon程序/孤兒程序...

招聘與面試的核心

三個重要問題 公司招聘季再次來臨。面試官或許早已習以為常,激情不再了。但還是別忘了問下面三個最重要的問題。高管培訓師特里 r 培根曾經歷過讓人痛苦的面試過程。但有時,表現一塌糊塗的反倒是面試官,而不是求職者。其中,有一位工程師兼專案經理,我們暫且叫他吉姆。他加入了公司的招聘委員會,平生第一次面試未來...

面試的評分角度與要點一

一 儀表儀態風度的評分角度與要點 這是指應試者的體格外貌,穿著舉止以及精神狀態等。對國家公務員來說,儀表儀態風度則相對比較重要。一般應五官端正,衣著整潔,舉止文明 精力充沛 身體健康。這一方面可給人以外在的好感,樹立公司形象,另一方面這幾類人員工作高度緊張而繁忙,只有精力充沛 身體健康才能承受大工作...

面試指南招聘面試要會抓核心與面試三大關鍵

面試指南 招聘面試要會抓核心高管培訓師特里 r 培根曾經歷過讓人痛苦的面試過程。但有時,表現一塌糊塗的反倒是面試官,而不是求職者。其中,有一位工程師兼專案經理,我們暫且叫他吉姆。他加入了公司的招聘委員會,平生第一次面試未來的員工。他忐忑不安,不知道該說什麼,本應該由他問的問題,他也跟不上。最後,委員...