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

主站蜘蛛池模板: 国产午夜无码视频免费网站| 114级毛片免费观看| 一区二区电影网| 中文字幕国产视频| 中文字幕av一区乱码| 中文字幕免费在线看线人动作大片| 亚洲va在线va天堂va不卡下载 | 国产凌凌漆国语| 国产偷亚洲偷欧美偷精品| 国产成人不卡亚洲精品91| 国产清纯91天堂在线观看| 国产成人片无码视频在线观看| 国产大尺度吃奶无遮无挡网| 国产无吗一区二区三区在线欢| 国产精品igao视频网| 国产成人av在线免播放观看| 国产毛片在线看| 国产孕妇孕交大片孕| 国产一级淫片a| 卡一卡二卡三在线入口免费| 公洗澡时强要了| 亚洲综合色婷婷在线观看| 亚洲精品人成电影网| 亚洲av无码专区在线观看下载 | 亚洲av熟妇高潮30p| 久久精品无码一区二区www| 丰满少妇弄高潮了www| 亚洲综合图片小说区热久久| 亚洲永久中文字幕在线| 亚洲人成人77777在线播放| 久久看免费视频| 一区二区三区国产最好的精华液| 99久久精品午夜一区二区| 18禁强伦姧人妻又大又| 黄网站色成年片大免费高清| 色五月五月丁香亚洲综合网| 破处视频在线观看| 污污在线免费观看| 最新精品国偷自产在线| 性色欲网站人妻丰满中文久久不卡 | 男男性彩漫漫画无遮挡|