
教學(xué)優(yōu)勢(shì)
曙海教育的課程培養(yǎng)了大批受企業(yè)歡迎的工程師。大批企業(yè)和曙海
建立了良好的合作關(guān)系。曙海集團(tuán)的課程在業(yè)內(nèi)有著廣泛的美譽(yù)度和響亮的知名度。
秉承二十幾年積累的教學(xué)品質(zhì),本課程以真實(shí)項(xiàng)目實(shí)戰(zhàn)為導(dǎo)向,授課工程師將會(huì)與您分享設(shè)計(jì)的全流程及工具的綜合使用技巧、經(jīng)驗(yàn)。
課程簡(jiǎn)介:
本課程詳解Linux內(nèi)核的組成、編程環(huán)境搭建、調(diào)試方法,并深度剖析內(nèi)核的進(jìn)程調(diào)度、內(nèi)存管理、文件系統(tǒng)等子系統(tǒng),后深入分析內(nèi)核編程的并發(fā)、同步、中斷、定時(shí)器、內(nèi)存、DMA和cache等問(wèn)題,最后結(jié)合實(shí)例講解Linux驅(qū)動(dòng)架構(gòu)、I/O模型以及底層BSP的開(kāi)發(fā)。
? ?
?
? ? ? 課程內(nèi)容:
|
模塊名稱 |
課程內(nèi)容 |
|
進(jìn)入Linux的精彩世界 |
·?Linux的特點(diǎn)、版本演進(jìn)與發(fā)展方向 ·?GNU與GPL ·?Linux系統(tǒng)組成、啟動(dòng)流程 ·?開(kāi)發(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)度時(shí)機(jī) ·?Linux實(shí)時(shí)性 ·?SMP、CPU熱插拔與負(fù)載均衡 ·?Cgroups |
|
【實(shí)驗(yàn)課】 |
·?【實(shí)驗(yàn)課】 |
|
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層 |
|
【實(shí)驗(yàn)課】 |
·?【實(shí)驗(yàn)課】 |
|
內(nèi)核編程主要API剖析 |
·?同步與并發(fā) ·?等待隊(duì)列 ·?內(nèi)核延時(shí) ·?內(nèi)存申請(qǐng)和釋放 ·?定時(shí)器與高精度定時(shí)器 ·?中斷頂?shù)装氩?/span> ·? ·?軟中斷 ·?tasklet ·?工作隊(duì)列 ·?threaded_irq ·?中斷及軟中斷負(fù)載均衡 ·?Linux內(nèi)核線程 ·?IO與內(nèi)存訪問(wèn) ·?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ū)動(dòng)模型 |
·?Linux設(shè)備分類 ·?Sys,總線,設(shè)備和驅(qū)動(dòng) ·?熱插拔 ·?電源管理 ·?udev |
|
【實(shí)驗(yàn)課】 |
·?【實(shí)驗(yàn)課】 |
|
設(shè)備驅(qū)動(dòng)并發(fā)控制與I/O模型 |
·?Linux字符設(shè)備驅(qū)動(dòng)結(jié)構(gòu) ·?Linux設(shè)備驅(qū)動(dòng)中的并發(fā)控制 ·?Linux設(shè)備驅(qū)動(dòng)中的阻塞與非阻塞I/O ·?Linux多路復(fù)用I/O ·?Signal IO與AIO ·?用戶空間I/O與多線程設(shè)計(jì)原則 ·?C10K問(wèn)題 |
|
Linux復(fù)雜設(shè)備驅(qū)動(dòng) |
·?設(shè)備驅(qū)動(dòng)分層框架 ·?platform驅(qū)動(dòng) ·?基于I2C/SPI/USB等總線的驅(qū)動(dòng) ·?塊設(shè)備驅(qū)動(dòng)與塊I/O調(diào)度 ·?網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng) |
|
將Linux移植到一個(gè)新的SoC |
·?early_printk ·?L2 cache ·?OS timer ·?clk tree ·?GPIO ·?pinmux ·?IRQ chip ·?DMA ·?MACH_INIT ·?設(shè)備樹(shù)(device tree) ·?社區(qū)維護(hù) |
|
? |
·? |
?