Key Features

Key Features¶

A Unix system is composed of different pieces put together to form a whole. Unix is a complete system consisting of:

• a kernel that manages:

• the hardware (device drivers)
• the memory
• a file system loaded with inputs / outputs
• software libraries

• a development environment

• an associated documentation

Unix is essentially multi-task: at a given moment, several tasks can run logically in parallel.

It is also multi-user: to be able to work on a UNIX system, a user must register (through a connection) and several users can work at the same time (through sessions).

Task management is performed according to a time-sharing model: each task receives, in turn, a small amount of time during which it can work.

The inputs / outputs are commonplace: writing on a file, on a device, on a network, etc. is always done in the same way.

Differences are handled at the lowest kernel level. This allows a maximum simplification of the writing of the software.

Unix also provides an interface for the user in the form of a shell: a command interpreter.

There are a lot of them: sh, csh, tcsh, ksh, bash, ash, and so on.

A program written in shell is interpreted: each line of the program is analyzed and immediately executed.

A shell program is interpreted interactively or in detached mode: either the user's commands are typed directly on the keyboard and executed; or the commands are previously written to a file that is executed.