From aa1063071475bba15291bb1a05b747d5ed18931d Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Sat, 15 May 2010 18:13:05 -0300 Subject: [PATCH] Summary review for new course. --- 00summary/summary | 130 ++++++++++++++++++++++++++-------------------- 1 file changed, 75 insertions(+), 55 deletions(-) diff --git a/00summary/summary b/00summary/summary index 30d5d60..913a017 100644 --- a/00summary/summary +++ b/00summary/summary @@ -1,99 +1,116 @@ %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 @@ -101,21 +118,19 @@ * 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 @@ -133,3 +148,8 @@ * Reception * Interrupts and NAPI * Links, Addresses and Headers + +# Network Protocols + +* Registration +* Operations -- 2.20.1