From: Thadeu Lima de Souza Cascardo Date: Mon, 7 Dec 2009 04:41:22 +0000 (-0200) Subject: Course plan/summary. X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fkernel%2Fold_slides%2F.git;a=commitdiff_plain;h=0ab5ad9d8d246bad947ca03d32d69abb58ac6b7e Course plan/summary. --- diff --git a/summary/Makefile b/summary/Makefile new file mode 100644 index 0000000..6421cde --- /dev/null +++ b/summary/Makefile @@ -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 index 0000000..39db6f3 --- /dev/null +++ b/summary/summary.xml @@ -0,0 +1,350 @@ + + + + + + +Summary +ThadeuCascardo + + + +Introduction + + +Linux + + +Device Drivers + + +Operating Systems + + + + + +Basics + + +Building Linux + + +Linux modules + + +printk + + + + + +Device Drivers Subsystem + + +POSIX devices + + +POSIX API Review + + +VFS + + +Linux Device Model + + + + + +Character Device + + +Device Numbers + + +Registering File Operations + + +Implementing File Operations + + + + + +Debugging + + +Proc Filesystem + + +Debug Filesystem + + +Linux Debugging Support + + + + + +Abstract Data Types + + +Lists + + +Bitmaps + + +Other data types + + + + + +Portability Issues + + +Endianness + + +Type Sizes + + +Processors and Memory Layout + + + + + +Process and Concurrency Management + + +Contexts + + +Interrupts + + +Bottom Halves and SoftIRQs + + +Timers, tasklets and workqueues + + + + + +Concurrency + + +Semaphores and Mutexes + + +Spinlocks + + +Completion + + +Waitqueues + + + + + +Time Management + + +Ticks and Jiffies + + +Real Time + + +Busy Waiting + + +Scheduling + + +Timers + + +Workqueues + + + + + +Memory Management + + +kmalloc/kfree + + +Memory Access + + +Lookaside cache (slabs) + + +vmalloc + + + + + +Advanced Character Device + + +ioctl + + +Blocking and Non-Blocking I/O + + +Polling + + + + + +I/O + + +I/O Ports and I/O Memory + + +Memory Barriers + + +Allocation + + +Access + + + + + +Interrupts + + +Requesting and releasing + + +Interrupt Handler + + +tasklets + + +Enabling and disabling interrupts + + + + + +Device Model + + +kobject + + +Devices, drivers, buses and classes + + +sysfs + + + + + +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 + + +struct gendisk + + +Requests and Queues + + +struct bio + + + + + +Network devices + + +Allocation and Registration + + +Structures and methods + + +Starting/Stoping + + +struct skb + + +Transmission + + +Reception + + +Interrupts and NAPI + + +Links, Addresses and Headers + + + + +