課程目錄:Embedded GNU/Linux Kernel Internals and Device Drivers培訓(xùn)
4401 人關(guān)注
(78637/99817)
課程大綱:

  Embedded GNU/Linux Kernel Internals and Device Drivers培訓(xùn)

 

 

 

Introduction
quick history of GNU/Linux
licensing
kernel versioning
release cycle
kernel trees
mainline
kernel vs. user space
mechanism vs. policy
kernel driver alternatives
RTOS vs. Linux
Memory Management
Virtual memory vs. physical memory
memory allocation in kernel
pages
zones
API
slab
Kernel Patch
life cycle
git
kernel source
create patch
check patch
fix patch
ship patch
audited code
Kernel Modules
get kernel sources
configure/build/install
device drivers (statically linked, loaded at runtime)
init/exit
licensing
EXPORT SYMBOL GPL
out of tree makefile
module-init-tools
module in kernel tree
Kconfig
parameter passing
sparse
Char Drivers
architecture
user/kernel interface
I/O subsystem
VFS
sysfs (devices, bus, drivers, classes),
kobject/ktype/kset
linux kernel driver model
device files
char driver
initialization
registration
open, release
cdev, cdev add, cdev del,...
major/minor numbers
udev, udevmonitor, udevadm
Advanced Charachter Driver Operations
ioctl
unlocked ioctl
compat ioctl
user space API
kernel space API
process lifecycle
sleeping/blocking
sleeping/waking up
wait queue
thundering herd
poll/select
Kernel Debugging
bug
debugging
debugging the kernel
binary search with git
debug support from kernel
printk syslogd, klogd, loglevels, rate limit, debug levels, debug selective subsystems
debugging by querying debugfs
oops debugging, asserting oops
Magic SysRq Key
kgdb/kdb
JTAG
Tracing
gcov
lcov
oprofile
ftrace
nop tracer
function tracer
sched switch tracer
function graph tracer
dynamic tracer
trace-cmd/kernelshark
perf
LTTng
Interrupts
interrupts vs. polling
interrupt
program sections
reentrancy
events
interrupt handler
shared interrupt handler
interrupt flow
interrupt control
Deferring Work
top/bottom halves
softirqs
tasklets
work queues
threaded interrrupts
Concurrency
critical region/section
atomic
race condition
synchronization
locking
locking solutions
deadlock
contention
what to lock?
what can be used?
atomic operations
spin locks
reader-writer spin locks
semaphore
binary semaphore
mutex
reader-writer semaphore
completion variables
sequential locks
disable preemption
orderig and barriers
Time
HZ
Jiffies
big/small delays
kernel timers
Hardware I/O
I/O Ports
I/O Memory
How to deal with side effects accessing registers?
User-Kernel Communication
put(get)_user()
copy to(from)_user()
Kernel I/O
memory mapping
procfs
sysfs
debugfs
relayfs
netlink
ioctl
Portability
word size
opaque types
signed/unsigned char
data alignment
integral promotion
code reuse
endianess
system tick
page size
instruction ordering
SMP/preemption/high memory
Except where otherwise noted content and this course outline are licensed under Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).

主站蜘蛛池模板: 欧美成人综合视频| 色综合婷婷在线观看66| 亚洲国产综合久久天堂| 欧美日韩亚洲国内综合网| 久久久久亚洲AV综合波多野结衣| 日韩欧美色综合网站| 欧美日韩国产综合草草| 欧美αv日韩αv另类综合 | 色噜噜综合亚洲av中文无码| 丁香婷婷色五月激情综合深爱 | 色噜噜狠狠色综合日日| 中文字幕亚洲综合久久2| 色久综合网精品一区二区| 色天使亚洲综合在线观看| 一本色道久久88综合日韩精品| 91精品国产综合久久久久久| 国产亚洲综合色就色| 狠狠综合久久综合中文88| 亚洲欧美日韩综合在线观看不卡顿 | 中文字幕亚洲综合久久2| 婷婷久久综合九色综合绿巨人| 国产91久久综合| 日日AV色欲香天天综合网| 欧美综合区自拍亚洲综合天堂| 亚洲欧洲日产国产综合网| 亚洲伊人久久成综合人影院| 五月丁香综合缴情六月小说| 99久久综合狠狠综合久久止 | 人人狠狠综合久久亚洲88| 色综合视频一区二区三区| 一本一本久久a久久综合精品蜜桃 一本一道久久综合狠狠老 | 欧美在线观看综合国产| 91久久婷婷国产综合精品青草| 六月婷婷国产精品综合| 国产综合亚洲专区在线| 亚洲欧美日韩综合在线观看不卡顿| 国产成人综合洲欧美在线| 国产成+人+综合+亚洲欧美| 色欲综合久久中文字幕网| 精品综合久久久久久888蜜芽| 久久综合久久美利坚合众国|