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

   Embedded GNU/Linux Kernel Internals and Device Drivers培訓

 

 

 

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).

主站蜘蛛池模板: 人人狠狠综合88综合久久| 欧美亚洲日韩国产综合网| 亚洲欧洲日产国产综合网| 亚洲AV综合色区无码一区| 亚洲一区综合在线播放| 亚洲伊人色欲综合网| 午夜激情影院综合| 99久久国产综合精品网成人影院| 综合久久给合久久狠狠狠97色| 国产综合精品一区二区三区| 亚洲综合精品香蕉久久网| 青青草原综合久久大伊人精品| 一本色道久久综合狠狠躁| 亚洲色欲久久久综合网东京热| 国产成+人欧美+综合在线观看| 色综合久久久久综合99| 婷婷综合激情| 亚洲VA欧美va国产va综合| 日本一道综合色视频| 亚洲国产综合欧美在线不卡| 色老头综合免费视频| 色综合久久天天综线观看| 亚洲综合色视频在线观看| 一97日本道伊人久久综合影院| 久久婷婷成人综合色综合| 69国产成人综合久久精品| 国产成人综合亚洲欧美天堂| 中文网丁香综合网| 欧美综合区自拍亚洲综合天堂| 久久99精品综合国产首页| 人人狠狠综合久久亚洲88| 欧美亚洲综合另类成人| 欧美亚洲综合免费精品高清在线观看| 奇米综合四色77777久久| 亚洲国产成人久久综合碰碰动漫3d| 日韩欧美亚洲综合久久| 亚洲精品欧美综合在线| 色综合久久天天综合| 国产欧美视频综合二区| 婷婷五月综合激情| 国产欧美日韩综合一区在线播放|