IntroductionThe Evolution of LinuxLinux Kernel ArchitectureKernel ResponsibilitiesOrganization and ModulesUsing Kernel Services/proc File System—External Performance ViewMemory ManagementAddress SpacePhysical MemoryMemory MappingPagingSwappingProcess ManagementProcesses, Tasks, and Kernel ThreadsScheduling and Context SwitchingInterprocess CommunicationsSignalsPipesSystem V IPC MechanismsMessage QueuesSemaphoresShared MemoryThe Linux Symmetrical Multiprocessing (SMP) ModelTypes of MultiprocessingConcurrency and Data SerializationLocks, Lock Granularity, and Locking OverheadCache CoherencyProcessor AffinityFile SystemsVirtual File System (VFS)ext2fsLVM and RAIDVolume GroupsDevice Special FilesdevfsNew Features in Linux 2.6SummaryReferences