Summary review for new course.
authorThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Sat, 15 May 2010 21:13:05 +0000 (18:13 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Sat, 15 May 2010 21:13:05 +0000 (18:13 -0300)
00summary/summary

index 30d5d60..913a017 100644 (file)
 %Summary
 %Thadeu Cascardo
 
-# Introduction
+# Revision
 
-* Linux
-* Device Drivers
+* Computer Organization
 * Operating Systems
+* Unix, POSIX, GNU and Linux
+* Free Software and GPL
 
-# Basics
+# Introduction to Linux
+
+* History
+* Development Model
+* Basic Tools
+* Source Tree
+* Code Browsing
+* Coding Standards
+* git
+* Configuring
+* Building
+* Booting
+
+# Hello World
 
-* Buildig Linux
 * Linux modules
+* Module skeleton
+* Headers
+* Building
 * printk
+* kmalloc/kfree
 
-# Device Drivers Subsystem
+# Abstract Data Types
 
-* POSIX devices
-* POSIX API Review
-* VFS
-* Linux Device Model
+* Macros
+* krefs
+* Endianness
+* Lists
+* Bitmaps
+* Trees/hashes
+* Other data types
 
 # Character Device
 
+* VFS
 * Device Numbers
 * Registering File Operations
 * Implementing File Operations
-* Memory Allocation and Concurrency
 
 # Debugging
 
+* printk
 * Proc Filesystem
 * Debug Filesystem
-* Linux Debugging Support
-
-# Abstract Data Types
+* Other Mechanisms
 
-* Lists
-* Bitmaps
-* Other data types
-
-# Portability Issues
-
-* Endianness
-* Type Sizes
-* Processors and Memory Layout
-
-# Memory Management
-
-* kmalloc/kfree
-* Memory Access
-* Lookaside cache (slabs)
-* vmalloc
-
-# Process and Concurrency Management
+# Processes Introduction
 
 * Contexts
 * Interrupts
 * Bottom Halves and SoftIRQs
-* Timers, tasklets and workqueues
+* SMP
+* Interruption
+* Preemption
 
 # Concurrency
 
+* Race conditions
 * Semaphores and Mutexes
 * Spinlocks
+* Atomic type
+* Per CPU variables
+* RCU
+* Others
 * Completion
 * Waitqueues
 
 # Time Management
 
-* Ticks and Jiffies
+* Ticks, jiffies and the scheduler
 * Real Time
 * Busy Waiting
 * Scheduling
 * Timers
 * Workqueues
+* High Resolution Timers
 
-# Advanced Character Device
-
-* ioctl
-* Blocking and Non-Blocking I/O
-* Polling
-
-# I/O
+# Memory Management
 
-* I/O Ports and I/O Memory
-* Memory Barriers
-* Allocation
-* Access
+* Memory Basics
+* Memory Bootstrap
+* kmalloc/kfree
+* Lookaside cache (slabs)
+* vmalloc
+* kmap
+* Memory Subsystem
+* User Space access
 
 # Interrupts
 
+* Hardware interrupts
 * Requesting and releasing
 * Interrupt Handler
 * tasklets
-* Enabling and disabling interrupts
+
+# Memory Mapping
+
+* Memory Coherency
+* get\\_free\\_pages
+* struct page
+* scather/gather
+* VMA and mmap
+* DMA
 
 # Device Model
 
 * Devices, drivers, buses and classes
 * sysfs
 
+# I/O
+
+* I/O Ports and I/O Memory
+* Memory Barriers
+* Allocation
+* Access
+
 # Buses
 
 * PCI
 * USB
 * Other buses
 
-# Memory Mapping
-
-* Memory Addresses
-* get\\_free\\_pages
-* struct page
-* scather/gather
-* VMA and mmap
-* DMA
-
 # Block devices
 
 * Block drivers and operations
 * Reception
 * Interrupts and NAPI
 * Links, Addresses and Headers
+
+# Network Protocols
+
+* Registration
+* Operations