| PRECEDENT | SOMMAIRE | SUIVANT |
Dans cette section, nous présenterons quelques éléments introductifs à propos du système UNIX., sans rentrer dans les détails qui sont discutés dans les sections suivantes.
UNIX est un système d'exploitation d'ordinateurs. Il permet à une personne d'accéder et d'utiliser un ordinateur. Avec UNIX, plusieurs personnes peuvent utiliser un même ordinateur au même moment.

Fig-1, Machine UNIX avec Terminaux Connectés
Chaque utilisateur, peut effectuer un ensemble de tâches, et la machine partage son temps entre les différents utilisateurs qui y sont connectés. La connexion se fait généralement à travers un terminal constitué d'un clavier et d'un écran. Avec des terminaux graphiques, on peut avoir une connexion par fenêtre. UNIX est un système multi-utilisateurs, multi-tâches, et un même utilisateur peut lancer plusieurs travaux simultanément.
Une connexion (on dit login dans le jargon UNIX), ne peut se faire que si l'utilisateur est inscrit dans le système. Il y a aussi un mot de passe pour vérifier que c'est bien la bonne personne. La procédure standard est la suivante:
Sur un terminal disponible, UNIX affiche un invite (prompt) qui est
login:
L'utilisateur rentre alors son nom, après lequel UNIX demande un mot de passe (secret, il ne sera pas envoyé en écho et affiché)
passwd:
La connexion s'établit, des messages de bienvenue s'affichent et UNIX affiche son prompt caractéristique qui est:
$
Il indique par là qu'il est prêt à servir et exécuter les commandes tapées par l'utilisateur. Ce dernier dispose d'un répertoire de travail, où il peut stocker ses fichiers (documents, programmes etc...).
Exemple:
login:ali <-- nom utilisateur
passwd: <-- mot de passe ne s'affiche pas
Last login: Tue Mar 19 18:43:40 from shems2
SunOS Release 4.1.3_U1 (GENERIC) #1: Wed Oct 13 17:50:47 1993
Fortune du Jour:
I never fail to convince an audience that the best thing
they could do was to go away
You have mail
$
Si le mot de passe n'est pas exigé au début- c'est le cas parfois de la toute première connexion- l'utilisateur peut en introduire un avec la commande
$ passwd
S'il le désire, il peut aussi le changer avec cette même commande:
$ passwd
Changing password for ali
Old pasword: <--- vieux mot de passe
New password: <--- nouveau mot de passe
Verify: <--- confirmation
$
La procédure de changement de mot de passe est très délicate --les mots de passe tapés n'apparaissent pas-- et il faut bien prêter attention aux messages affichés et recommencer.
Remarque: Il existe aussi une notion de groupe (group) correspondant à une même équipe de recherche ou de projet etc... Cette notion sert pour accorder plus de privilèges entre membres d'un même groupe (voir [[section]] 1.5.)
Une installation UNIX est gérée par un administrateur dit super utilisateur (super user), qui a en charge le bon fonctionnement du système, la maintenance et la gestion des utilisateurs. On l'appelle aussi root.
L'utilisateur interagit avec le système en tapant des commandes. Plus précisément, c'est à travers un interprète de commandes que le système prend en charge un utilisateur. Une commande est généralement un nom de fichier exécutable. Par exemple:
$ vi
est une commande pour lancer l'éditeur de texte vi pour saisir un texte.
Une commande peut être paramétrée par des fichiers données.
$ vi monTexte
lance vi pour éditer le fichier monTexte.
Si le nom d'une commande est un fichier à exécuter, ce dernier est cherché sous le répertoire courant en générale, ensuite dans une liste de répertoires donnée par la variable d'environnement path (Voir section 2). En fait, le répertoire courant est en générale le premier de cette liste.
La commande
$ a.out
permer d'exécuter un programme C qu'on vient de compiler par
$ cc monProgramme.c
a.out est dans le répertoire courant et cc dans le répertoire /usr/bin/
Le système UNIX est presque entièrement écrit en C [1]. Ce qui a assuré son succès et sa portabilité. Il se compose:
UNIX offre un environnement de développement très efficace avec des commandes et des bibliothèques de programmes très élaborées. D'ailleurs Il a été crée dans le but de faciliter le travail de développement et la coopération entres groupes de chercheurs.

Fig-2, Architecture Fonctionnelle UNIX
Une propriété caractéristique du système UNIX, est le fait de pouvoir rajouter toutes sortes d'outils supplémentaires: il suffit de les programmer -- en langage C. C a la propriété de pouvoir appeler directement les fonctionnalités du noyau (fonctionnalités dites primitives). C permet en outre de s'échapper momentanément vers le mode interactif (pour exécuter des commandes) et de revenir au programme. L'instruction popen() suivante, par exemple, lance la commande shell ls (qui liste les fichiers d'un répertoire), et récupère le résultat qui sera rendu au programme.
FILE * f;
f = popen("ls","r");