The Linux operating system is an extremely versatile Unix-like operating system, and has taken a clear lead in the High Performance Computing (HPC) and scientific computing community. Linux is a multi-user, preemptive multitasking operating system that provides a number of facilities including management of hardware resources, directories, and file systems, as well as the loading and execution of programs. A vast number of utilities and libraries have been developed (mostly free and open source as well) to accompany or extend Linux.

There are two major components of Linux, the kernel and the shell:

  1. The kernel is the core of the Linux operating system that schedules processes and interfaces directly with the hardware. It manages system and user I/O, processes, devices, files, and memory.
  2. The shell is a text-only interface to the kernel. Users input commands through the shell, and the kernel receives the tasks from the shell and performs them. The shell tends to do four jobs repeatedly: display a prompt, read a command, process the given command, then execute the command. After which it starts the process all over again.

It is important to note that users of a Linux system typically do not interact with the kernel directly. Rather, most user interaction is done through the shell or a desktop environment.

 
©   Cornell University  |  Center for Advanced Computing  |  Copyright Statement  |  Inclusivity Statement