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