Booting Linux Kernel...

Linux Kernel Map

functionalities
layers
HUMAN
INTERFACES
SYSTEM
PROCESSING
MEMORY
STORAGE
NETWORKING
user space
interfaces
system calls • system libs
HI char
devices
cdev_add • register_chrdev
interfaces
core
sys_call_table • entry_SYSCALL
processes
fork • exec • task_struct
memory
access
sys_brk • sys_mmap • mprotect
files &
directories
access
zero-copy • Async I/O • fs/
socket
access
socket • bind • listen • accept
VIRTUAL
security
security_hooks • capability • selinux
Driver
Model
kobject • kset • device_create
threads
kernel_thread • pthread • clone
virtual
memory
vmmalloc • paging • page_table
Virtual File
System
inode • dentry • file_ops
address
families
AF_INET • AF_INET6 • AF_UNIX
cross-functional
modules
ipc • notification
debugging
sys_ptrace • kdb • kgdb
synchronization
spinlock • mutex • semaphore • RCU
memory
mapping
mmap • page_mapping • faulting
page cache
page_tree • radix_tree • writeback
swap
swap_info • do_swap_page
network
storage
NFS • iSCSI • CIFS
socket
splice
sock_sendpage • tcp_sendpage
functions
implementations
syscall dispatch • vfs ops
HI subsystems
ALSA • V4L2 • DVB
system run
boot_init • sys_shutdown • power_mgmt
Scheduler
task_struct • schedule • context_switch
logical
memory
kmalloc • vmalloc • slob/slab
logical file systems
ext4 • btrfs • xfs • f2fs
protocols
tcp_prot • udp_prot • icmp
drivers
device_register • device_add
abstract devices
and HID class
drivers
kbd • input • console
generic HW access
request_region • ioremap • outb/inb
interrupts core
IRQ handler • softirq • tasklet
Page
Allocator
get_page • free_page • buddy_system
block devices
bio • blk_queue • scheduler
network
interfaces
net_device • dev_queue_xmit • receive
drivers
registers &
interrupts
I/O ops • IRQ
HI peripherals
device drivers
psmouse • uvc_drivers • atkbd-drv
device access
and bus drivers
readw • pci_read • writew
CPU specific
entry_SYSCALL_64 • exception_handling • TSS
physical memory
operations
page_alloc • page_table_ops • pfn
storage drivers
NVMe • SCSI • SATA • SAS
network device drivers
e1000 • bnx2 • ixgbe • igb
ELECTRONICS
user peripherals
keyboard • mouse • printer • audio
I/O
I/O ports • ACPI • USB controller
CPU
registers • APIC • interrupt_ctrl
memory
RAM • DMA • MMU
storage
controllers
sd_driver • nvme_driver • ata
network
controllers
Ethernet • Wi-Fi • modem
-->