Aller au contenu
linux/internals
← Retour à la carte

read() — un appel système, du début à la fin

Un processus. Un octet demandé. On le suit depuis libc jusqu'au disque, et retour.

SYSCALL · ring 3 → ring 0HARDWAREYour programread(fd, buf, 4096)glibcsyscall(SYS_read, …) → SYSCALLSyscall entryentry_SYSCALL_64 → ksys_read()VFS / ext4f_op->read_iter → ext4_file_read_iterPage cachefilemap_get_pages()Block layersubmit_bio() → mq-deadlineNVMe deviceDMA → RAM
Étape 1 sur 6