UNIX

simple:Unix

UNIX est un système d'exploitation dit ouvert (open systems) créé en 1969 qui a donné naissance à toute une famille de systèmes, dont un des plus populaire en 2004 est GNU/Linux.

Aujourd'hui (2004), il ne subsiste que quelques grands constructeurs de stations de travail et de serveurs développant des dérivés d'UNIX. Ces UNIX ont généralement été conçus pour des processeurs spécifiques.

La philosophie des constructeurs de stations et serveurs UNIX est plus souvent de développer un système d'exploitation pour pouvoir vendre leurs machines, plutôt que de vendre des machines pour développer leurs systèmes d'exploitation. Cela explique que beaucoup de ces constructeurs proposent désormais le sytème GNU-Linux avec leurs serveurs.

Table of contents
1 Le système UNIX
2 Histoire
3 Le standard UNIX
4 Aspects techniques
5 Liens extenes

Le système UNIX

Le système UNIX est un système d'exploitation multi-utilisateurs, multi-tâches, ce qui signifie qu'il permet à un ordinateur mono ou multi-processeurs de faire exécuter simultanément plusieurs programmes par un ou plusieurs utilisateurs simultanément. Il possède un ou plusieurs interpréteurs de commandes (shell) ainsi qu'un grand nombre de commandes et de nombreux utilitaires (assembleur, compilateurs pour de nombreux langages, traitements de texte, messagerie électronique, ...). De plus il possède une grande portabilité, ce qui signifie qu'il est possible de mettre en œuvre un système UNIX sur quasiment toutes les plates-formes matérielles existantes.

De nos jours les systèmes UNIX restent très présents dans les milieux professionnels et universitaires grâce à un design qui s'est révélé très souple, leur grande stabilité, leur niveau de sécurité élevé et le respect des grands standards, notamment en matière de réseau.

Histoire

Le précurseur d'UNIX a été mis au point par Ken Thompson dans les laboratoires Bell AT&T, à Murray Hill, dans le New Jersey (USA). Un consortium composé du MIT (Massassuchetts Institute of Technology), de General Electric Co. et de Bell Lab était formé autour du projet de système d'exploitation à temps partagé Multics (MULTiplexed Information and Computing Service). Avec d'autres membres des laboratoires Bell tels que Dennis Ritchie et Joseph Ossanna, Ken Thompson fit partie des contributeurs. En avril 1969, déçus par les lenteurs du projet (Multics ne fut vraiment opérationnel que vers 1972), les responsables d'AT&T décidèrent le retrait, et d'utiliser le système GECOS (General Electric Comprehensive Operating System) en lieu et place de Multics. Cependant, en cette époque où la quasi-totalité des sites informatiques faisaient tourner des systèmes à traitement par lots, les ex-contributeurs ne voulaient pas perdre le bénéfice du temps partagé. Afin de faire tourner un jeu qu'il avait créé : space travel (une simulation du système solaire), Ken Thompson mit au point, sous GECOS, un système interactif simple destiné à fonctionner sur une petite machine, un DEC PDP-7, Programmed Data Processor) possédant seulement 4 Ko de mémoire vive pour faire fonctionner les programmes des utilisateurs. Ce travail ayant permis de maîtriser le développement sur PDP-7, Ken Thompson développa ensuite une première version entièrement en assembleur d'un système d'exploitation mono-utilisateur dont certains concepts sont inspirés de Multics, d'où son nom UNICS (UNiplexed Information and Computing Service), un jeu de mots attribué à Brian W. Kernighan. Par la suite, le nom fut contracté en UNIX. La date du 1er janvier 1970 est considérée comme étant la date de naissance du système UNIX, ce qui explique pourquoi toutes les horloges système des systèmes d'exploitation UNIX démarrent à partir de cette époque.

Afin de continuer ce qui n'était au départ qu'un projet personnel de Ken Thompson, ce dernier et Dennis Ritchie proposèrent à AT&T de développer un système de traitement de texte pour la division des brevets d'AT&T, en échange de l'achat d'une nouvelle machine. Après de longues négociations, ils obtinrent l'achat d'un PDP 11/20 sur lequel ils réécrivirent UNIX. En 1971, conscient de la difficulté que représente la maintenance d'un système écrit en assembleur, Ken Thompson songea à réécrire UNIX en FORTRAN ou bien en B, un langage qu'il a conçu en s'inspirant du langage BCPL. Cependant, les tentatives échouèrent. Dennis Ritchie, qui s'était entre-temps joint au projet de Thompson, mit au point le successeur du B, le langage C. En 1973, UNIX fut réécrit à 80% en langage C, et baptisé UNIX Time-Sharing System (UTS).

En 1975, à partir de la version 6 du système, UNIX fut diffusé hors des laboratoires Bell. Et lorsque le système passa à la version 7 en 1979, l'évolution s'accompagna de nombreuses modifications notables telles que la suppression de limitations sur la taille des fichiers, l'ajout de plusieurs utilitaires, et surtout la portabilité du système. C'est à cette époque que le premier grand portage d'UNIX, la version 32/V, fut réalisé, sur un VAX 11/780.

Un décret datant de 1956 empêchait l'entreprise AT&T, dont dépendait Bell Labs, de commercialiser autre chose que des équipements téléphoniques ou télégraphiques. C'est la raison pour laquelle la décision fût prise en 1973 de distribuer le système UNIX complet avec son code source dans les universités à des fins éducatives, moyennant l'acquisition d'une licence pour un prix modique. Dès la fin de l'année 1977, des chercheurs de l'Université de Californie apportèrent de nombreuses améliorations au système UNIX fourni par AT&T, et le baptisèrent BSD pour Berkeley Software Developpement. Ainsi par exemple, BSD fut le premier système UNIX à exploiter pleinement le mécanisme de mémoire virtuelle paginée du VAX 11/780.

Trois branches de développement des sources virent le jour :

On notera que ces branches se sont mutuellement empruntées du code et/ou des concepts :

Dès 1977 AT&T mit les sources d'UNIX à la disposition des autres entreprises, si bien qu'un grand nombre de dérivés d'UNIX furent développés :

En 1982, AT&T annonça le support de son produit, la version System III qui constitue de ce fait la première version commerciale d'UNIX. En 1983 suivit la version System V.

En 1985, un professeur américain domicilié aux Pays-Bas, Andrew Tannenbaum, développa un système d'exploitation minimal, baptisé Minix, afin d'enseigner les concepts des systèmes d'exploitation à ses étudiants. En 1991 un étudiant finlandais, Linus Torvalds, décida de concevoir, sur le modèle Minix, un système d'exploitation capable de fonctionner sur les architectures à base de processeur i386 d'Intel. Il baptisa ce système d'exploitation Linux et posta le message suivant sur le groupe de discussion comp.os.minix :

«Hello everybody out there using minix - I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.»

Il est à noter que Linux ne contient pas de code provenant d'UNIX mais que c'est un système inspiré de Minix et complètement réécrit. D'autre part, Linux est un logiciel libre.

Voici un schéma non exhaustif retraçant globalement l'apparition des principaux systèmes de type UNIX :

L'incompatibilité grandissante entre les nombreuses variantes d'UNIX proposées par les différents éditeurs pour les différentes machines a fini par porter atteinte à la popularité d'UNIX. De nos jours, les systèmes UNIX propriétaires, longtemps majoritaires dans l'industrie et l'éducation, sont de moins en moins utilisés. En revanche, trois systèmes de type UNIX basés sur BSD (FreeBSD, NetBSD et OpenBSD) d'une part, et le système GNU/Linux, compatible UNIX, d'autre part, ainsi que Mac OS X (basé sur le micro-noyau Mach), occupent une part de marché de plus en plus importante.

Le standard UNIX

Etant donné le grand nombre de systèmes UNIX développés sur la base du System V de AT&T ou bien de BSD, la question d'un standard UNIX s'est posée dès 1981 parmi les membres du groupe d'utilisateurs /etc/group, afin d'assurer une portabilité maximale entre les différents systèmes :

Aspects techniques

UNIX est bâti sur trois concepts élémentaires : les fichiers, les processus, et les IPC (communications inter-processus) :


Voir aussi : Informatique, Linux, GNU, Commandes UNIX, Mac OS X
Certains passages de cet article, ou d'une version antérieure de cet article, sont basés sur l'article Introduction aux systèmes UNIX [1] du site Web Comment ça marche ? [1]. L'article d'origine porte la notice de copyright suivante : « © Copyright 2003 Jean-François Pillou - Hébergé par Web-solutions.fr. Ce document issu de CommentCaMarche.net est soumis à la licence GNU FDL. Vous pouvez copier, modifier des copies de cette page tant que cette note apparaît clairement. ».

Liens extenes