Linux has become one of the largest operating systems on the servers that run large websites, and hopefully, one day, it will be big in the desktop market too. Some of you may know how Linux as an operating system is structured, but have you ever wondered how the kernel itself is structured? Maybe you’ll find this colorful interactive map of the Linux kernel by [Costa Shulyupin] useful.
The interactive map depicts the major levels of abstraction and functionalities, dotted with over 400 prominent functions from the Linux kernel, which are also links to a cross-reference site so you can see all the definitions and usages. It divides the kernel into 7 rows and 7 columns containing domains with well-known terms like security and debugging, but also more obscure things like block devices and address families. These are also links, this time to the definition of the term in question. Finally, there are arrows flying everywhere, to show the relationships between all the many functions in the kernel.
Now, the great number of arrows is certainly impressive, but to some people, the word “kernel” means nothing. Typically, the kernel is the supervisor in an operating system: programs request resources like memory, files and processing time from the kernel, which decides whether the requests are permitted and how much of a resource to give.
This is a bit on the theoretical side. If you want something “practical”, how about running Linux on a Commodore 64?