A small kernel solved a practical problem

In 1991, Linus Torvalds was a student building an operating-system kernel for his own computer. A kernel is the core software that manages a machine’s processor, memory, and devices, and lets programs use them. It is not a complete operating system by itself: people also need tools and applications to make a computer useful.

That narrow starting point helps explain why Linux could grow in directions its creator had not planned. The kernel’s job—coordinating hardware and software—was useful far beyond one student’s machine. As other programmers could inspect and modify its source code, they could adapt it to different hardware and contribute improvements rather than waiting for one company to do all the work.

Many systems, one shared core

Linux’s spread did not mean every user received the same finished product. Companies and communities assembled the kernel with other software into different systems, often called distributions. A server distribution could be configured for steady operation and remote administration; a research team could tune a system for a supercomputer’s many processors.

Android takes another route. It uses the Linux kernel to handle low-level tasks such as communicating with a phone’s hardware, while Android’s other software layers provide the environment apps and users interact with. The kernel is shared, but the surrounding system is built for a different purpose.

The hobby became infrastructure

Linux’s growth came from a useful combination: a core that could be adapted, and a development process in which people and organizations could contribute changes. That let the same underlying project serve machines with very different demands, from corporate servers to pocket-sized phones. The striking consequence is that a student’s personal software project became a common foundation—not because those devices are all alike, but because the kernel could be reshaped to serve them.