%Summary %Thadeu Cascardo # 1st Day # Revision * Computer Organization * Operating Systems * Unix, POSIX, GNU and Linux * Free Software and GPL # Introduction to Linux * History * Development Model * Basic Tools * Source Tree * Code Browsing * Coding Standards * git * Configuring * Building * Booting # Hello World * Linux modules * Module skeleton * Headers * Building * printk * kmalloc/kfree # 2nd Day # Abstract Data Types * Macros * krefs * Endianness * Lists * Bitmaps * Trees/hashes * Other data types # Character Device * VFS * Device Numbers * Registering File Operations * Implementing File Operations # Debugging * printk * Proc Filesystem * Debug Filesystem * Other Mechanisms # Processes Introduction * Contexts * Interrupts * Bottom Halves and SoftIRQs * SMP * Interruption * Preemption # 3rd Day # Concurrency * Race conditions * Semaphores and Mutexes * Spinlocks * Atomic type * Per CPU variables * RCU * Others * Completion * Waitqueues # Time Management * Ticks, jiffies and the scheduler * Real Time * Busy Waiting * Scheduling # 4th Day # Time Management * Timers * Workqueues * High Resolution Timers # Memory Management * Memory Basics * Memory Bootstrap * kmalloc/kfree * Lookaside cache (slabs) * vmalloc # 5th Day # Memory Management * kmap * Memory Subsystem * User Space access # Interrupts * Hardware interrupts * Requesting and releasing * Interrupt Handler * tasklets # Memory Mapping * Memory Coherency * get\\_free\\_pages * struct page * scather/gather * VMA and mmap * DMA # 6th Day # Device Model * kobject * Devices, drivers, buses and classes * sysfs # I/O * I/O Ports and I/O Memory * Memory Barriers * Allocation * Access # 7th Day # Buses * PCI * USB * Other buses # Block devices * Block drivers and operations * struct gendisk * Requests and Queues * struct bio # Network subsystem * struct skb # 8th Day # Network devices * Allocation and Registration * Structures and methods * Starting/Stoping * Transmission * Reception * Interrupts and NAPI * Links, Addresses and Headers # Network Protocols * Registration * Operations