Course plan/summary.
[cascardo/kernel/old_slides/.git] / summary / summary.xml
diff --git a/summary/summary.xml b/summary/summary.xml
new file mode 100644 (file)
index 0000000..39db6f3
--- /dev/null
@@ -0,0 +1,350 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE slides SYSTEM "/usr/share/xml/docbook/custom/slides/3.3.1/schema/dtd/slides-full.dtd">
+
+<slides>
+
+<slidesinfo>
+<title>Summary</title>
+<author><firstname>Thadeu</firstname><surname>Cascardo</surname></author>
+</slidesinfo>
+
+<foil>
+<title>Introduction</title>
+<itemizedlist>
+<listitem>
+Linux
+</listitem>
+<listitem>
+Device Drivers
+</listitem>
+<listitem>
+Operating Systems
+</listitem>
+</itemizedlist>
+</foil>
+
+<foil>
+<title>Basics</title>
+<itemizedlist>
+<listitem>
+Building Linux
+</listitem>
+<listitem>
+Linux modules
+</listitem>
+<listitem>
+printk
+</listitem>
+</itemizedlist>
+</foil>
+
+<foil>
+<title>Device Drivers Subsystem</title>
+<itemizedlist>
+<listitem>
+POSIX devices
+</listitem>
+<listitem>
+POSIX API Review
+</listitem>
+<listitem>
+VFS
+</listitem>
+<listitem>
+Linux Device Model
+</listitem>
+</itemizedlist>
+</foil>
+
+<foil>
+<title>Character Device</title>
+<itemizedlist>
+<listitem>
+Device Numbers
+</listitem>
+<listitem>
+Registering File Operations
+</listitem>
+<listitem>
+Implementing File Operations
+</listitem>
+</itemizedlist>
+</foil>
+
+<foil>
+<title>Debugging</title>
+<itemizedlist>
+<listitem>
+Proc Filesystem
+</listitem>
+<listitem>
+Debug Filesystem
+</listitem>
+<listitem>
+Linux Debugging Support
+</listitem>
+</itemizedlist>
+</foil>
+
+<foil>
+<title>Abstract Data Types</title>
+<itemizedlist>
+<listitem>
+Lists
+</listitem>
+<listitem>
+Bitmaps
+</listitem>
+<listitem>
+Other data types
+</listitem>
+</itemizedlist>
+</foil>
+
+<foil>
+<title>Portability Issues</title>
+<itemizedlist>
+<listitem>
+Endianness
+</listitem>
+<listitem>
+Type Sizes
+</listitem>
+<listitem>
+Processors and Memory Layout
+</listitem>
+</itemizedlist>
+</foil>
+
+<foil>
+<title>Process and Concurrency Management</title>
+<itemizedlist>
+<listitem>
+Contexts
+</listitem>
+<listitem>
+Interrupts
+</listitem>
+<listitem>
+Bottom Halves and SoftIRQs
+</listitem>
+<listitem>
+Timers, tasklets and workqueues
+</listitem>
+</itemizedlist>
+</foil>
+
+<foil>
+<title>Concurrency</title>
+<itemizedlist>
+<listitem>
+Semaphores and Mutexes
+</listitem>
+<listitem>
+Spinlocks
+</listitem>
+<listitem>
+Completion
+</listitem>
+<listitem>
+Waitqueues
+</listitem>
+</itemizedlist>
+</foil>
+
+<foil>
+<title>Time Management</title>
+<itemizedlist>
+<listitem>
+Ticks and Jiffies
+</listitem>
+<listitem>
+Real Time
+</listitem>
+<listitem>
+Busy Waiting
+</listitem>
+<listitem>
+Scheduling
+</listitem>
+<listitem>
+Timers
+</listitem>
+<listitem>
+Workqueues
+</listitem>
+</itemizedlist>
+</foil>
+
+<foil>
+<title>Memory Management</title>
+<itemizedlist>
+<listitem>
+kmalloc/kfree
+</listitem>
+<listitem>
+Memory Access
+</listitem>
+<listitem>
+Lookaside cache (slabs)
+</listitem>
+<listitem>
+vmalloc
+</listitem>
+</itemizedlist>
+</foil>
+
+<foil>
+<title>Advanced Character Device</title>
+<itemizedlist>
+<listitem>
+ioctl
+</listitem>
+<listitem>
+Blocking and Non-Blocking I/O
+</listitem>
+<listitem>
+Polling
+</listitem>
+</itemizedlist>
+</foil>
+
+<foil>
+<title>I/O</title>
+<itemizedlist>
+<listitem>
+I/O Ports and I/O Memory
+</listitem>
+<listitem>
+Memory Barriers
+</listitem>
+<listitem>
+Allocation
+</listitem>
+<listitem>
+Access
+</listitem>
+</itemizedlist>
+</foil>
+
+<foil>
+<title>Interrupts</title>
+<itemizedlist>
+<listitem>
+Requesting and releasing
+</listitem>
+<listitem>
+Interrupt Handler
+</listitem>
+<listitem>
+tasklets
+</listitem>
+<listitem>
+Enabling and disabling interrupts
+</listitem>
+</itemizedlist>
+</foil>
+
+<foil>
+<title>Device Model</title>
+<itemizedlist>
+<listitem>
+kobject
+</listitem>
+<listitem>
+Devices, drivers, buses and classes
+</listitem>
+<listitem>
+sysfs
+</listitem>
+</itemizedlist>
+</foil>
+
+<foil>
+<title>Buses</title>
+<itemizedlist>
+<listitem>
+PCI
+</listitem>
+<listitem>
+USB
+</listitem>
+<listitem>
+Other buses
+</listitem>
+</itemizedlist>
+</foil>
+
+<foil>
+<title>Memory Mapping</title>
+<itemizedlist>
+<listitem>
+Memory Addresses
+</listitem>
+<listitem>
+get\_free\_pages
+</listitem>
+<listitem>
+struct page
+</listitem>
+<listitem>
+scather/gather
+</listitem>
+<listitem>
+VMA and mmap
+</listitem>
+<listitem>
+DMA
+</listitem>
+</itemizedlist>
+</foil>
+
+<foil>
+<title>Block devices</title>
+<itemizedlist>
+<listitem>
+Block drivers and operations
+</listitem>
+<listitem>
+struct gendisk
+</listitem>
+<listitem>
+Requests and Queues
+</listitem>
+<listitem>
+struct bio
+</listitem>
+</itemizedlist>
+</foil>
+
+<foil>
+<title>Network devices</title>
+<itemizedlist>
+<listitem>
+Allocation and Registration
+</listitem>
+<listitem>
+Structures and methods
+</listitem>
+<listitem>
+Starting/Stoping
+</listitem>
+<listitem>
+struct skb
+</listitem>
+<listitem>
+Transmission
+</listitem>
+<listitem>
+Reception
+</listitem>
+<listitem>
+Interrupts and NAPI
+</listitem>
+<listitem>
+Links, Addresses and Headers
+</listitem>
+</itemizedlist>
+</foil>
+
+</slides>