From f998d70db05ec6c74670995f2dc191e302e8f9e4 Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Sat, 15 May 2010 17:56:20 -0300 Subject: [PATCH] Markdown conversion from last LDD course summary. This should be updated to this specific course. --- 00summary/summary | 135 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 00summary/summary diff --git a/00summary/summary b/00summary/summary new file mode 100644 index 0000000..30d5d60 --- /dev/null +++ b/00summary/summary @@ -0,0 +1,135 @@ +%Summary +%Thadeu Cascardo + +# Introduction + +* Linux +* Device Drivers +* Operating Systems + +# Basics + +* Buildig 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 +* Memory Allocation and Concurrency + +# 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 + +# Memory Management + +* kmalloc/kfree +* Memory Access +* Lookaside cache (slabs) +* vmalloc + +# 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 + +# 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 -- 2.20.1