The name "Linux" is used to refer to three similar yet slightly different things, which can be confusing to all but the hardcore geek. The three usages vary by how much of a complete software system the speaker is talking about.
At the lowest level, every Linux system is based on the Linux kernel — the very low-level software that manages your computer hardware, multi-tasks the many programs that are running at any given time, and other such essential things. These low-level functions are used by other programs, so their authors can focus on the specific functionality they want to provide. Without the kernel, your computer is a very expensive doorstop. It has all of the features of a modern operating system: true multitasking, threads, virtual memory, shared libraries, demand loading, shared, copy-on-write executables, proper memory management, loadable device driver modules, video frame buffering, and TCP/IP networking.
Most often, the name "Linux" is used to refer to the Linux Operating System. An OS includes the kernel, but also adds various utilities — the kinds of programs you need to get anything done. For example, it includes a shell (the program that provides a command prompt and lets you run programs), a program to copy files, a program to delete files, and many other odds and ends. Some people honor the request of Richard Stallman and the GNU Project, and call the Linux OS GNU/Linux, because a good number of these utility programs were written by the GNU folks.
|