First USB sketch.
[cascardo/kernel/slides/.git] / 000summary / summary
1 %Summary
2 %Thadeu Cascardo
3
4 # 1st Day
5
6 # Revision
7
8 * Computer Organization
9 * Operating Systems
10 * Unix, POSIX, GNU and Linux
11 * Free Software and GPL
12
13 # Introduction to Linux
14
15 * History
16 * Development Model
17 * Basic Tools
18 * Source Tree
19 * Code Browsing
20 * Coding Standards
21 * git
22 * Configuring
23 * Building
24 * Booting
25
26 # Hello World
27
28 * Linux modules
29 * Module skeleton
30 * Headers
31 * Building
32 * printk
33 * kmalloc/kfree
34
35 # 2nd Day
36
37 # Abstract Data Types
38
39 * Macros
40 * krefs
41 * Endianness
42 * Lists
43 * Bitmaps
44 * Trees/hashes
45 * Other data types
46
47 # Character Device
48
49 * VFS
50 * Device Numbers
51 * Registering File Operations
52 * Implementing File Operations
53
54 # Debugging
55
56 * printk
57 * Proc Filesystem
58 * Debug Filesystem
59 * Other Mechanisms
60
61 # Processes Introduction
62
63 * Contexts
64 * Interrupts
65 * Bottom Halves and SoftIRQs
66 * SMP
67 * Interruption
68 * Preemption
69
70 # 3rd Day
71
72 # Concurrency
73
74 * Race conditions
75 * Semaphores and Mutexes
76 * Spinlocks
77 * Atomic type
78 * Per CPU variables
79 * RCU
80 * Others
81 * Completion
82 * Waitqueues
83
84 # Time Management
85
86 * Ticks, jiffies and the scheduler
87 * Real Time
88 * Busy Waiting
89 * Scheduling
90
91 # 4th Day
92
93 # Time Management
94
95 * Timers
96 * Workqueues
97 * High Resolution Timers
98
99 # Memory Management
100
101 * Memory Basics
102 * Memory Bootstrap
103 * kmalloc/kfree
104 * Lookaside cache (slabs)
105 * vmalloc
106
107 # 5th Day
108
109 # Memory Management
110
111 * kmap
112 * Memory Subsystem
113 * User Space access
114
115 # Interrupts
116
117 * Hardware interrupts
118 * Requesting and releasing
119 * Interrupt Handler
120 * tasklets
121
122 # Memory Mapping
123
124 * Memory Coherency
125 * get\\_free\\_pages
126 * struct page
127 * scather/gather
128 * VMA and mmap
129 * DMA
130
131 # 6th Day
132
133 # Device Model
134
135 * kobject
136 * Devices, drivers, buses and classes
137 * sysfs
138
139 # I/O
140
141 * I/O Ports and I/O Memory
142 * Memory Barriers
143 * Allocation
144 * Access
145
146 # 7th Day
147
148 # Buses
149
150 * PCI
151 * USB
152 * Other buses
153
154 # Block devices
155
156 * Block drivers and operations
157 * struct gendisk
158 * Requests and Queues
159 * struct bio
160
161 # Network subsystem
162
163 * struct skb
164
165 # 8th Day
166
167 # Network devices
168
169 * Allocation and Registration
170 * Structures and methods
171 * Starting/Stoping
172 * Transmission
173 * Reception
174 * Interrupts and NAPI
175 * Links, Addresses and Headers
176
177 # Network Protocols
178
179 * Registration
180 * Operations