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

主站蜘蛛池模板: 色五月丁香六月欧美综合图片| 国产成人无码综合亚洲日韩| 天天干天天射综合网| 亚洲综合久久综合激情久久| 亚洲综合另类小说色区色噜噜| 亚洲啪啪综合AV一区| 亚洲国产综合欧美在线不卡| 欧美久久综合九色综合| 久久综合亚洲鲁鲁五月天| 亚洲综合第一页| 亚洲国产综合欧美在线不卡| 久久综合色之久久综合| 欧美激情综合网| 伊人色综合一区二区三区| 狠狠色丁香婷婷综合精品视频| 国产成人综合洲欧美在线| 色婷婷六月亚洲综合香蕉 | 2021精品国产综合久久| 91成人亚洲综合欧美日韩 | 色婷婷六月亚洲综合香蕉| 欧美精品色婷婷五月综合| 色欲香天天天综合网站| 伊人久久成人成综合网222| 狠狠色丁香久久婷婷综合五月 | 狠狠色狠狠色综合日日五| 亚洲成a人v欧美综合天堂| 婷婷成人丁香五月综合激情| 久久婷婷五月综合色奶水99啪| 欧美日韩综合一区在线观看| 欧美亚洲综合另类| 亚洲精品第一国产综合境外资源| 成人综合久久精品色婷婷| 一本色综合网久久| 久久综合伊人77777麻豆| 国产欧美日韩综合精品一区二区三区| 国产成人综合日韩精品无码不卡| 婷婷五月综合色视频| 欧美亚洲另类久久综合婷婷| 亚洲欧美成人综合久久久| 日本一道综合色视频| 五月丁香综合缴情六月小说|