Utilisateur:MattF/Brouillons/Unix

Unix, officiellement UNIX (parfois écrit « Unix », avec des petites capitales), est un système d'exploitation multitâche et multi-utilisateur créé en 1969, conceptuellement ouvert et fondé sur une approche par laquelle il offre de nombreux petits outils, chacun doté d'une mission spécifique.

Particulièrement répandu dans les milieux académiques au début des années 1980, il a été utilisé par beaucoup de start-ups fondées par des jeunes entrepreneurs à cette époque et a donné naissance à une famille de systèmes, dont les plus populaires à ce jour sont les variantes de BSD (notamment FreeBSD, NetBSD et OpenBSD), Dalvik/Linux (Android), GNU/Linux, iOS et Mac OS X. On nomme « famille Unix », systèmes de type Unix ou simplement systèmes unix l'ensemble de ces systèmes. Il existe un ensemble de standards réunis sous la norme POSIX qui vise à unifier certains aspects de leur fonctionnement.

Le nom « UNIX » est une marque déposée de l'Open Group, qui autorise son utilisation pour tous les systèmes certifiés conformes à la single UNIX specification ; cependant, il est courant d'appeler ainsi les systèmes de type Unix de façon générale. Il dérive de « Unics », un jeu de mot avec « Multics », car contrairement à ce dernier qui visait à offrir simultanément plusieurs services à un ensemble d'utilisateurs, le système initial de Kenneth Thompson se voulait moins ambitieux et utilisable par une seule personne à la fois avec des outils réalisant une seule tâche[1].

Histoire modifier

La genèse d'UNIX modifier

En 1969, Ken Thompson qui travaille alors pour les laboratoires Bell développa la première version d'un système d'exploitation mono-utilisateur sous le nom de New Ken's System. Il réalisa ce travail sur un mini-ordinateur PDP-7 (Programmed Data Processor) de marque DEC animé par General Comprehensive Operating System[réf. nécessaire] et rédigea le nouveau logiciel en langage d'assemblage. Le nom Unics fut suggéré par Brian Kernighan suite à un jeu de mot « latin » avec Multics; « Multi- car Multics faisait la même chose de plusieurs façons alors qu'Unics faisait chaque chose d'une seule façon ». Ce nom fut par la suite contracté en Unix (pour au final être déposé sous le nom UNIX par AT&T), à l'initiative de Brian Kernighan.

Un décret datant de 1956[2] interdisait à 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 fut prise en 1975[3] de distribuer le système UNIX complet avec son code source dans les universités à des fins éducatives, moyennant l'acquisition d'une licence au prix très faible.

En 1971[réf. nécessaire], conscient de la difficulté que représente la maintenance d'un système écrit en langage d'assemblage, Ken Thompson songea à réécrire UNIX en TMG, mais il trouva que le TMG n'offrait pas ce dont il avait besoin. Pendant une courte période il songea à réécrire UNIX en Fortran, mais finalement conçut le B avec l'aide de Dennis Ritchie dans les années 1969 et 1970, en s'inspirant du langage BCPL. Cependant UNIX ne fut jamais réécrit en B ; le B ne supportait pas les types, toutes les variables étaient de la même taille que les mots de l'architecture, l'arithmétique sur les flottants n'était pas implémentée ; de plus, le compilateur B utilisait la technique du threaded code (en). C'est pourquoi Dennis Ritchie entreprit en 1971 le NB (New B), qui fut renommé en C, ce qui créa un nouveau code type.

Ken Thompson et Dennis Ritchie présentent le premier article sur UNIX au Symposium on Operating Systems Principles à l'Université de Purdue en 1973[réf. nécessaire].

Le professeur Bob Fabry de l'université de Californie Berkeley (UCB), alors dans l'auditoire, est immédiatement intéressé et en Keith Standiford, étudiant de 2e cycle, installe la Version 4 à l'UCB, distribuée sur bande magnétique.

Début 1975[réf. nécessaire], Ken Thompson passe une année comme professeur invité à son alma mater, l'UCB. Avec Jeff Schriebman et Bob Kridle, ils mettent sur pied la Version 6. C'est à ce moment qu'UNIX commença à être diffusé hors des laboratoires Bell.

À l'automne de cette année, Bill Joy et Chuck Haley, alors en 2e cycle, s'intéressent au nouveau système et implémentent l'éditeur en ligne ex en Pascal, et finissent par explorer le fonctionnement du noyau au moment du départ de Ken Thompson.

Le développement fut également rejoint par Alan Snyder, Steven C. Johnson, Michael Lesk dans cette période allant de 1973[réf. nécessaire] à 1977[réf. nécessaire]. Au début de cette dernière année, Bill Joy réalise la première Berkeley Software Distribution (BSD).

Plus tard, avec l'arrivée de nouveaux terminaux, il écrit vi (l'éditeur visuel), une surcouche de ex.

L'été 1978[réf. nécessaire], la Second Berkeley Software Distribution ou 2BSD voit le jour.

Puis en , Bill Joy distribue la 3BSD, la première qui supporte les ordinateurs VAX de DEC. Unix atteint alors sa version 7, son évolution s'accompagnant de nombreuses modifications notables telles que l'extension à 2 Go de la taille maximale d'un fichier, 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.

L'expansion modifier

Dès la fin de l'année 1977[réf. nécessaire], des chercheurs de l'Université de Californie apportèrent de nombreuses améliorations au système UNIX fourni par AT&T et le distribuèrent sous le nom de Berkeley Software Distribution (ou BSD). Ainsi BSD fut par exemple 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 :

Ces branches se sont mutuellement empruntées du code et/ou des concepts. Ainsi :

 
chronologie et filliation des différents unix et apparentés
  • la 8e édition est issue de la version 4.1 BSD.
  • La version SVR3 a emprunté le concept des STREAMS à la 8e édition.
  • La version SVR4 a intégré beaucoup de code de la version 4.3 BSD.
  • La version 4.4 BSD comporte une très petite quantité de code de la version SVR4.

Le rôle de la DARPA modifier

Lors de la publication de 3BSD en 1979[réf. nécessaire] la Defense Advanced Research Projects Agency (DARPA) prend connaissance des avancées réalisées à l'UCB. Ils ont l'intention d'utiliser UNIX pour leurs projets.

En automne de cette même année, Bob Fabry propose à la DARPA une version augmentée de 3BSD pour répondre à leurs besoins. Un contrat de 18 mois est signé en , et Bob Fabry rassemble une équipe.

Bill Joy, qui vient juste de passer sa soutenance de thèse (doctorat), se propose de participer. Les versions se succèdent jusqu'à 4.1BSD.

Satisfaite, la DARPA signe pour deux ans supplémentaires et le budget est presque multiplié par cinq. Le nombre de personnes impliquées croît vite. Le steering committee est formé pour aider à définir l'évolution du système.

Ce groupe se réunit deux fois par an entre et , et comprend :

  • Bob Fabry, Bill Joy, Sam Leffler (UCB)
  • Alan Nemeth, Rob Gurwitzn, Beranek, Newman
  • Dennis Ritchie (Bell Laboratories)
  • Keith Lantz (Stanford University)
  • Rick Rashid (Carnegie-Mellon University)
  • Bert Halstead (Massachusetts Institute of Technology)
  • Dan Lynch (Information Sciences Institute)
  • Duane Adams, Bob Baker (DARPA)
  • Jerry Popek (University of California, Los Angeles)

À partir de 1984[réf. nécessaire], ce sont des ateliers réunissant bien plus de personnes qui prennent le relai.

TCP/IP : la première implémentation ou la naissance d'Internet modifier

C'est Rob Gurwitz qui publie la première implémentation des protocoles TCP/IP, les protocoles de l'Internet d'aujourd'hui. Bill Joy l'intègre au système et ajuste les performances. Cette implémentation est considérée par beaucoup comme l'implémentation de référence. Elle est reprise plus tard par Microsoft pour le système d'exploitation Windows grâce à une licence permissive de type Licence BSD.

Vers la fin de l'été 1982[réf. nécessaire], Bill Joy annonce qu'il rejoint Sun Microsystems, alors Sam Leffler prend la responsabilité de faire aboutir le projet.

En , 4.2BSD est publié, Sam Leffler quitte l'UCB pour Lucasfilm et Mike Karels le remplace. 4.2BSD est alors très populaire et est plus vendue que toutes les autres distributions réunies, et que le System V d'AT&T, en particulier parce que ce dernier n'avait ni la communication par réseau ni le système de fichiers FFS (Berkeley fast filesystem)

À la conférence Usenix de 1985[réf. nécessaire], 4.3BSD est annoncé. De nouvelles architectures matérielles apparaissent, et le noyau est scindé en parties dépendantes et indépendantes du matériel (4.3BSD-Tahoe).

De l'open Source au librement redistribuable modifier

Jusqu'à 4.3BSD-Tahoe, la licence AT&T restait valable sur les sources qui étaient toujours distribuées.

Les utilisateurs ne sont pas des utilisateurs passifs mais participent activement au développement et améliorent progressivement le code original d'AT&T. La licence d'AT&T sur les sources étant devenue excessivement chère, les dernières sources originales ont été nettoyées du code d'AT&T, et en , la première BSD libre, la Networking Release 1 ou Net/1 est publiée.

La licence est volontairement très libérale : le logiciel peut être redistribué ou vendu, avec ou sans modification des sources, ce sous forme binaire (compilée) ou non. Les notices de copyright dans les sources doivent être laissées intactes, et la documentation doit mentionner l'origine du code (l'UCB).

Net/1 alors coûte 1 000 dollars à l'UCB pour la bande magnétique qui le transporte, et est mis à disposition par connexion FTP (file transfert protocol) anonyme (pas de mot de passe requis).

Le système de mémoire virtuelle du système d'exploitation MACH de l'université Carnegie-Mellon est importé, et 4.3BSD-Reno sort début 1990[réf. nécessaire].

NetBSD, FreeBSD modifier

Bill Jolitz à partir de Networking Release 2 publie 386/BSD, destiné à une architecture PC (386), mais est vite débordé quant à sa maintenance. Quelques mois après sa publication, des utilisateurs de 386BSD forment le groupe NetBSD, et rassemblent leurs ressources pour maintenir et améliorer ce système. Leurs objectifs sont alors de faire en sorte que NetBSD fonctionne sous n'importe quel matériel. Le public cible de NetBSD est des développeurs-administrateurs de haute technicité.

Encore quelques mois plus tard, le groupe FreeBSD se forme et décide lui de se focaliser sur l'architecture PC. En , grâce au soutien de Walnut Creek CDROM, FreeBSD 1.0 est publié.

Les UNIX propriétaires modifier

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[réf. nécessaire], AT&T annonça le support de son produit, la version System III, qui constitue de ce fait sa première version commerciale d'UNIX. En 1983[réf. nécessaire] suivit la version System V.

Minix, XINU et GNU/Linux modifier

En 1985[réf. nécessaire], un professeur américain domicilié aux Pays-Bas, Andrew S. Tanenbaum, développa un système d'exploitation minimal, baptisé Minix, afin d'enseigner les concepts des systèmes d'exploitation à ses étudiants. Un projet similaire nommé XINU (pour Xinu Is Not Unix) fit aussi son apparition dans les années 1980 sous la direction de Douglas Comer.

En 1991 un étudiant finlandais, Linus Torvalds, décida de concevoir, sur le modèle de Minix, un système d'exploitation capable de fonctionner sur les architectures à base de processeur Intel 80386. Le noyau, qui était alors au stade expérimental, devait être généré sur un système Minix.

Linus baptisa son système Freax 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. »

— [4]

Le nom de « Linux » vient en fait de la personne qui hébergeait le projet pour sa diffusion (version 0.0.1) et non d'un choix égocentrique de Linus. Il voulut un temps rebaptiser son système Freax, mais il était trop tard, Linux s'était déjà imposé auprès des aficionados. Linux ne contient pas de code provenant d'UNIX, mais c'est un système inspiré d'UNIX et complètement réécrit. D'autre part, Linux est un logiciel libre.

Linux lui-même n'étant qu'un noyau, il utilise l'ensemble des logiciels du projet GNU pour faire un système d'exploitation complet.

Mac OS X modifier

Unix est à l'origine de Mac OS X, l'actuelle version du système d'exploitation d'Apple. Mac OS X est basé sur le même noyau que MkLinux, Darwin, et XNU: un micro-noyau Mach. Toutefois, la couche Unix de Mac OS X n'est pas une personnalité du noyau Mach, l'intégration est plus subtile puisqu'elle s'apparente plutôt à une greffe de l'un sur l'autre.

En , la version 10.5 (Leopard) de Mac OS X sur Intel a reçu la certification UNIX 03 du Open Group[5].

À l'heure actuelle modifier

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 Darwin), occupent une part de marché de plus en plus importante.

Les procès modifier

Début 1992[réf. nécessaire], Unix System Laboratories (USL), composante d'AT&T chargée de développer et vendre Unix, commence à poursuivre Berkeley Software Design, Incorporated (BSDI), mise en place pour développer et vendre une version commerciale. Le procès n'aboutit pas comme le souhaitait USL qui lance alors un autre procès contre BSDI et l'UCB. USL est vendu par AT&T à Novell. En , un accord est trouvé :

  • 2 fichiers sur 18 000 sont retirés de Net/2.
  • Un certain nombre de changements mineurs sont faits sur d'autres fichiers.
  • Une notice de copyright est ajoutée à environ 70 fichiers (qui restent librement distribuables).

En , FreeBSD 2.0 sort avec les nouveaux fichiers de Net/2, alors appelée 4.4BSD-Lite, et des éléments de 386BSD (figure 1).

Stations de travail et serveurs Unix modifier

Seuls quelques grands constructeurs de stations de travail et de serveurs développant des dérivés d'UNIX subsistent en 2013[6] :

Microsoft a possédé quelque temps les droits d'une version d'UNIX qui se nommait XENIX.

La philosophie des constructeurs de stations et serveurs UNIX a été au départ de développer un système d'exploitation pour pouvoir vendre leurs machines, en y ajoutant si possible un petit « plus » pour se démarquer de la concurrence. C'était oublier que les parcs UNIX sont le plus souvent hétérogènes et que toute différence d'une machine à l'autre, même créée avec la meilleure intention du monde, menace l'interopérabilité donc constitue un risque réel de contre-productivité car contraignent les informaticiens à de nombreuses manipulations fastidieuses afin d'interconnecter les systèmes.

C'est une des raisons pour lesquelles nombre de ces constructeurs proposent désormais le système GNU/Linux avec leurs serveurs. Toutefois, si le noyau Linux est bien défini, le système GNU/Linux change sensiblement d'une distribution à l'autre, ce qui conduit à des dissemblances causant parfois des pertes de temps.

Ce problème se posait déjà jadis avec l'opposition entre les branches System V et BSD, en particulier sur des gestions sensiblement différentes de l'impression et des signaux.

Les grands constructeurs tels que PSA, EADS, Dassault utilisent encore des stations sur Unix pour travailler sur la CAO, dans le but de garder une compatibilité avec leur ancien logiciel de conception Catia V4.

Cependant, PSA utilise de plus en plus Windows XP Pro 64 bit pour ses postes CAO[réf. nécessaire].

Le standard UNIX modifier

Le grand nombre de systèmes UNIX développés sur la base du System V de AT&T ou bien de BSD conduisit des membres du groupe d'utilisateurs /usr/group, qui a pris depuis le nom de UniForum, à forger un standard UNIX dès 1981[réf. nécessaire] afin d'assurer une portabilité maximale entre les différents systèmes :

  • en 1984[réf. nécessaire] le groupe /usr/group publie POSIX, une série de standards développés sous couvert de l'IEEE (Institute of Electrical and Electronics Engineers). POSIX est ainsi également connu sous le nom IEEE p. 1003.
  • En 1985[réf. nécessaire], AT&T publie SVID (System V Interface Definition) décrivant le System V. Cette première définition est différente de POSIX.
  • À la même époque, un consortium de constructeurs (Sun, IBM, HP, DEC, AT&T, Unisys, ICL, etc.) publie le standard X/Open Portability Guide Issue 3 (XPG3). Ce standard s'occupe tout particulièrement des différences issues de la localisation géographique (date, alphabet, etc.).

Aujourd'hui, la marque déposée UNIX est détenue par l'Open Group. Pour obtenir l'autorisation d'utiliser officiellement cette marque pour un système d'exploitation, il faut que celui-ci soit conforme à la Single UNIX Specification[7].

Notes et références modifier

  1. Harley Hahn, Unix guide de l'étudiant, 2e édition, éditions Dunod. (ISBN 978-2-10-003601-1).
  2. http://www.corp.att.com/history/history3.html
  3. Jean-Yvon Birrien, Histoire de l'informatique, Presses universitaires de France, 2e éd. (ISBN 978-2-13-044607-1).
  4. Lecture du post
  5. (en) Mac OS X Version 10.5 Leopard on Intel-based Macintosh
  6. [PDF]Éric Levenez, « Unix History »
  7. « UNIX Certification -- The Brand », The Open Group,

Sources modifier

Certains passages de cet article, ou d'une version antérieure de cet article, sont basés sur l'article suivant : Introduction aux systèmes UNIX, Comment ça marche ?. L'article d'origine porte la mention 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. »

Certains passages de cet article, ou d'une version antérieure de cet article, sont basés sur l'article FreeBSD ou sur une version antérieure de cet article. Pour la liste des auteurs, consulter l'historique de cet article.

Voir aussi modifier

Articles connexes modifier

Liens externes modifier

Sur les autres projets Wikimedia :