What is Software?

One way to describe the hardware of a computer system is that it provides
a framework for executing programs and storing files. The kinds of programs
 that run on Linux platforms vary widely in size and complexity, but tend to
 share certain common characteristics. Here is a list of useful facts
concerning Linux programs and files.

A file is a collection of data that is usually stored on disk, although some
files are stored on tape. Linux treats peripherals as special files, so that terminals,
 printers, and other devices are accessible in the same way as disk-based files.

A program is a collection of bytes representing code and data that are stored in a file.

When a program is started, it is loaded from disk into RAM actually, only parts of
it are loaded, but we'll come to that later. When a program is running it is called
 a process.

Most processes read and write data from files.

Processes and files have an owner and may be protected against unauthorized access.

Linux supports a hierarchical directory structure.

Files and processes have a "location" within the directory hierarchy.
A process may change its own location and/or the location of a file.

Linux provides services for the creation, modification, and destruction
of programs, processes, and files.