曙海教學優勢
本課程以項目實現為導向,面向企事業項目實際需要,秉承二十一年積累的教學品質,老師將會與您分享設計的全流程以及工具的綜合使用經驗、技巧。線上/線下/上門皆可,課程可定制,熱線:4008699035。
曙海培訓的課程培養了大批受企業歡迎的工程師。曙海培訓的課程在業內有著響亮的知名度。大批企業和曙海
建立了良好的合作關系,合作企業30萬+。
課程簡介:
本課程詳解Linux內核的組成、編程環境搭建、調試方法,并深度剖析內核的進程調度、內存管理、文件系統等子系統,后深入分析內核編程的并發、同步、中斷、定時器、內存、DMA和cache等問題,最后結合實例講解Linux驅動架構、I/O模型以及底層BSP的開發。
? ?
?
? ? ? 課程內容:
模塊名稱 |
課程內容 |
進入Linux的精彩世界 |
·?Linux的特點、版本演進與發展方向 ·?GNU與GPL ·?Linux系統組成、啟動流程 ·?開發環境構建 ·?GNU工具鏈 ·?文件系統組成 |
Linux內核進程調度 |
·?進程生命周期 ·?進程調度算法 ·?進程調度時機 ·?Linux實時性 ·?SMP、CPU熱插拔與負載均衡 ·?Cgroups |
【實驗課】 |
·?【實驗課】 |
Linux內核內存管理 |
·?MMU系統 ·?page與zone ·?buddy系統 ·?slab、kmalloc ·?進程的內存消耗 ·?page cache與swap ·?內存泄露剖析 |
Linux內核文件系統 |
·?虛擬文件系統 ·?inode、dentry、file和superblock ·?文件系統與block層 |
【實驗課】 |
·?【實驗課】 |
內核編程主要API剖析 |
·?同步與并發 ·?等待隊列 ·?內核延時 ·?內存申請和釋放 ·?定時器與高精度定時器 ·?中斷頂底半部 ·? ·?軟中斷 ·?tasklet ·?工作隊列 ·?threaded_irq ·?中斷及軟中斷負載均衡 ·?Linux內核線程 ·?IO與內存訪問 ·?DMA與cache一致性 |
Linux內核模塊 |
·?內核模塊init和exit ·?輸入參數 ·?輸出參數 |
Linux內核調試方法 |
·?printk ·?Oops和panic ·?initcall_debug ·?suspend/resume debug ·?earlyprintk與low level debug ·?使用仿真器 ·?proc和sys ·?grabserial ·?soft和hard lockup |
Linux設備驅動模型 |
·?Linux設備分類 ·?Sys,總線,設備和驅動 ·?熱插拔 ·?電源管理 ·?udev |
【實驗課】 |
·?【實驗課】 |
設備驅動并發控制與I/O模型 |
·?Linux字符設備驅動結構 ·?Linux設備驅動中的并發控制 ·?Linux設備驅動中的阻塞與非阻塞I/O ·?Linux多路復用I/O ·?Signal IO與AIO ·?用戶空間I/O與多線程設計原則 ·?C10K問題 |
Linux復雜設備驅動 |
·?設備驅動分層框架 ·?platform驅動 ·?基于I2C/SPI/USB等總線的驅動 ·?塊設備驅動與塊I/O調度 ·?網絡設備驅動 |
將Linux移植到一個新的SoC |
·?early_printk ·?L2 cache ·?OS timer ·?clk tree ·?GPIO ·?pinmux ·?IRQ chip ·?DMA ·?MACH_INIT ·?設備樹(device tree) ·?社區維護 |
? |
·? |
?