課程目錄: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).

主站蜘蛛池模板: 日韩日韩日韩日韩日韩| 色综合久久91| 女人洗澡一级特黄毛片| 久青青在线观看视频国产| 一本色道久久综合一区| 精品xxxxxbbbb欧美中文| 国产成人福利精品视频| 久久亚洲高清观看| 欧美最猛性xxxxx69交| 国产成人精品一区二区三区| jyzzjyzz国产免费观看| 日本一道在线日本一道高清不卡免费| 免费观看国产网址你懂的| 97精品伊人久久大香线蕉| 无套后进式视频在线观看| 人善交video欧美| 人与禽交另类网站视频| 夫妇交换性3中文字幕k8| 久久人人爽人人爽人人片av高请| 欧美色图第三页| 动漫av在线播放| 67194成人手机在线| 日韩免费在线观看视频| 免费va人成视频网站全| 试看60边摸边吃奶边做| 大香伊蕉在人线国产75视频| 久久99精品视免费看| 热带雨电影无删减在线播放| 国产成人十八黄网片| 91亚洲国产成人精品下载| 手机在线观看你懂的| 亚洲欧美综合一区| 精品人妻少妇一区二区三区在线| 国产另类TS人妖一区二区| bl文库双性灌尿| 日本黄色一级视频| 人与禽交zozo| 精品乱码一区二区三区在线| 国产一级特黄高清免费下载| 国产精品久久自在自线观看| 国产精品莉莉欧美自在线线|