matrix SCI System calls system system system->system_ networking networking sysfs proc & sysfs file systems SCI->sysfs DM Device Model sysfs->DM log_sys system run, modules, generic HW access DM->log_sys bus_drv bus drivers log_sys->bus_drv H2 busess: PCI, USB ... bus_drv->H2 sock Sockets networking->networking_ storage storage prot_fam protocol families sock->prot_fam log_prot protocols: TCP, UDP, IP prot_fam->log_prot netif network interfaces and drivers log_prot->netif net_hw network: Ethernet, WiFi ... netif->net_hw NFS NFS NFS->log_prot FS files and directories storage->storage_ memory memory VFS Virtual File System FS->VFS VFS->NFS logFS logical filesystems: ext3, xfs ... VFS->logFS PC page cache VFS->PC mmap memory mapping VFS->mmap block Block devices and drivers logFS->block PA Page Allocator PC->PA SW Swap mmap->SW log_mem logical memory mmap->log_mem H4 storage devices: SCSI, NVMe ... block->H4 H5 MMU, RAM PA->H5 bottom © 2007-2020 Constantine Shulyupin http://www.MakeLinux.net/kernel/diagram SW->block proc Processes processing processing processing->processing_ HI human interface Tasks Tasks proc->Tasks sync synchronization Tasks->sync sched Scheduler sync->sched IRQ interrupts core, CPU arch sched->IRQ CPU CPU IRQ->CPU char char devices HI->HI_ input input subsystem char->input F7 HI class drivers input->F7 HID HI peripherals drivers F7->HID H7 display, keyboard, mouse, audio HID->H7 memory->memory_ functions functions functions->functions_ layers layers usr user space interfaces usr->usr_ virt virtual subsystems usr->virt MA memory access VM Virtual memory MA->VM virt->D0 bridges bridges virt->bridges VM->mmap bridges->E0 logical logical bridges->logical logical->F0 HWI hardware interfaces logical->HWI log_mem->PA HWI->G0 HW electronics, hardware HWI->HW HW->H0 layers->usr LKD Linux kernel diagram

graphviz source, comments