Course plan/summary.
authorThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Mon, 7 Dec 2009 04:41:22 +0000 (02:41 -0200)
committerThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Mon, 7 Dec 2009 04:41:22 +0000 (02:41 -0200)
summary/Makefile [new file with mode: 0644]
summary/summary.xml [new file with mode: 0644]

diff --git a/summary/Makefile b/summary/Makefile
new file mode 100644 (file)
index 0000000..6421cde
--- /dev/null
@@ -0,0 +1,13 @@
+NAME = summary
+
+all: $(NAME).pdf
+
+%.pdf: %.tex
+       TEXINPUTS=.:..: pdflatex $<
+
+%.tex: %.xml ../beamer.xsl
+       xsltproc ../beamer.xsl $< > $@
+
+clean:
+       rm -f $(NAME).pdf $(NAME).tex $(NAME).aux $(NAME).log $(NAME).nav \
+               $(NAME).out $(NAME).snm $(NAME).toc $(NAME).vrb
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>