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.