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