The kernel is a very odd place, and it's not an exaggeration that kernel programmers refer to all other types of programming to reside in "userland". I once spent a few years (incompetently) administering a mid-sized server farm for a search ads network. How does a program actually run? Welcome to Kernel Land: the strangest place on Earth. Broadly speaking the kernel does three-and-a-half things: manage processes, memory, and reading/writing data to devices. How it does these things has evolved enormously over the last 40 or 50 years. The and-a-half is the filesystem. Dance of the Segement Veils There are also other ways to do it, but in this article we'll concentrate on monolithic Unix-like kernels in general, and Linux in particular. You are not expected to understand this.