Dernière mise-à-jour :

LDF100 - Présentation de Linux

De MULTICS aux Guerres d'Unix

Un système d'exploitation est un ou plusieurs programmes qui assurent la gestion de l'ordinateur et des périphériques :

la mémoire,

les accès aux périphériques,

les données sur les disques,

les programmes,

la sécurité,

la collecte d'informations.

Historiquement, l'interface graphique ne fait pas partie du système d'exploitation. Pour fonctionner correctement Linux n'a donc pas besoin d'une interface graphique.

Linux, bénéficie d’un système de fichiers hiérarchique qui intègre d’une manière transparente des unités de stockage variés. Le système est par définition Multi-Utilisateur, chaque utilisateur se voyant attribué un UID ( User ID ). Linux est un système d’exploitation multi-tâches articulé autour d’un noyau qui gère l’accès des programmes aux ressources de la machine telles le processeur et la mémoire.

Linux est un système d’exploitation de type Unix, robuste et polyvalent, dont les débuts datent de 1991.

L'histoire d'Unix commence en 1964 quand MIT, Bell Labs (AT&T) et General Electric développent un projet appelé MULTICS (Multiplexed Information and Computing Service) qui a pour but de :

permettre plusieurs personnes à la fois de travailler,

lancer des traitements en tâches de fond,

gérer la sécurité.

MULTICS a été développé sur un gros système appelé GE-645 de General Electrics et a fonctionné au MIT jusqu'en 1988. La dernière installation de MULTICS a été désactivée en 2000 à la Défense Canadienne.

En 1969 Bell Labs se retire du projet pour se consacrer à un autre projet appelé GECOS. Cependant un programmeur de Bell Labs, Ken Thompson, continue à travailler sur le GE-645 et développe un jeu dénommé Space Travel. En voyant que le jeu était très lent et couteux sous MULTICS il réécrit, avec l'aide de Denis Ritchie un autre programmeur de Bell Labs, le jeu en assembleur pour le mini ordinateur DEC PDP-7.

De cette expérience, Ken Thompson et Denis Ritchie ont pu développé, à partir d'un projet de Rudd Canaday, un nouveau système d'exploitation pour le DEC PDP-7. Ils nomment ce système d'exploitation UNICS (Uniplexed Information and Computing System). Très rapidement le nom UNICS devient UNIX.

Travaillant sans financement ce groupe de programmeurs est retourné voir Bell Labs en leur proposant le développent d'un traitement de texte sur le nouveau système UNIX. L'accord obtenu, une machine PDP-11/20 leur est mise à disposition et le financement commence. Ils développent l'outil runoff devenu après roff puis troff ainsi que l'éditeur ed. En 1970 le nom Unix Operating System est utilisé pour la première fois et le premier manuel de programmation sous Unix date du 3 novembre 1971.

En 1970 le problème de la portabilité d'Unix se pose. Ecrit en assembleur, Unix doit être réécrit pour chaque type d'ordinateur. Ken Thompson commence a travailler sur un nouveau langage et avec l'aide de Denis Ritchie, il développe le langage B puis le langage C. Le langage C est converti en langage machine à l'aide d'un compilateur. De ce fait, l'écriture des programmes devient plus rapide. Unix est donc réécrit en langage C en 1973.

En 1974 AT&T décide de diffuser le système UNIX auprès des universités et des entreprises avec une licence peu restrictive. Cette décision est prise parce que la société AT&T a fait l'objet d'un décret antitrust en 1956 lui interdisant de commercialiser d'autres produits que ceux des télécommunications. Les versions les plus distribuées sont la sixième en mai 1975 et la septième en janvier 1979. Cette dernière, connue sous le nom Unix V7, est le dernier Unix commun à tous les Unix suivants.

En même temps, AT&T obtient le droit de vendre des licences du code source. AT&T rend donc la licence plus restrictive. Les universités ayant contribué au développement d'Unix se trouvent contraintes à continuer leurs développements à partir des versions antérieures à la nouvelle licence.

Le plus gros contributeur à Unix, l'Université de Berkeley, sort la première version de BSD (Berkeley Software Distribution), nommée 1BSD et basée sur Unix v6, le 9 mars 1978. La 2BSD sort l'année suivante le 10 mai 1979.

AT&T continue son développement et sort les versions 8, 9 et 10. En même temps AT&T sort une version 100% commerciale, Unix System III, en 1982 suivi peu après, en 1983, de Unix System V. La dernière version sort en 1993 et est appelée Unix System V Release 4.2 mais est connue sous l'abréviation SVR4.

Durant ce temps, l'Université de Berkeley continue son développement et implémente le protocole TCP/IP grâce au financement du Ministère Américain de la Défense. Le dernière version officielle de BSD sort en juin 1993 et est appelée 4.4BSD.

La période allant de 1984 à 1994 est appelé la Guerre des Unix. Pendant cette période il y a eu :

des procès entre AT&T et l'Université de Berkeley concernant l'utilisation du nom Unix,

la naissance de multiples versions d'Unix commerciales, toutes incompatibles les unes avec les autres,

le succès de la société Microsoft™ avec son produit Windows™ NT, un dérivé d'Unix,

la création en 1984 de X/Open Portability Group (X/Open) par AT&T et Sun Microsystems qui a abouti avec la sortie en 1987 d'un Unix unifié (System V et BSD), l'Unix System V Release4,

la riposte des autres éditeurs d'Unix avec la création, en 1988, de l'Open Software Foundation (OSF) qui publie ses standards basés sur BSD en 1990,

la contre-riposte d'AT&T avec la création d'Unix International en 1989,

la cession des droits Unix à sa filiale Unix System Laboratories (USL) par AT&T en 1992,

l'achat par Novell d'USL en 1992. Novell devient propriétaire de SVR4.2,

la cession de la marque Unix à X/Open en 1993,

la disparition d'Unix International en 1994,

la cession par Novell à Santa Cruz Operations (SCO) en 1995 de la licence d'exploitation du code source d'Unix,

la fusion de X/Open et OSF en 1995. Le groupe est alors appelé The Open Group.

A faire : Consultez ce diagramme pour voir un schéma du développement d'Unix.

Pour assurer que les Unix suivent tous les mêmes règles, The Open Group diffuse des normes, notamment :

Single Unix Specification,

Unix95,

Unix98,

Linux Standard Base,

etc …

Ces normes sont basées en partie sur celles publiées par l'Institute of Electrical end Electronics Engineers (IEEE) depuis 1988 et notamment sur IEEE 1003 appelée Portable Operating System Interface (POSIX).

Unix et le PC

En 1987, le professeur Andrew Stuart Tanenbaum conçoit un système d’exploitation appelé MINIX qui est utilisé à des fins pédagogiques.

En 1989, 386BSD a été porté sur PC suivi ensuite par NetBSD, OpenBSD et FreeBSD.

Solaris™, l'Unix d'Oracle existe pour PC depuis 1993.

De Minix à Linux

En 1983 un informaticien au laboratoire d'intelligence artificielle au MIT dénommé Richard Stallman, né le 16 mars 1963, décide de créer un système d'exploitation libre d'accès. Basé sur Unix, le système est nommé GNU's Not Unix (GNU). L'annonce initiale de Stallman se trouve à cette adresse.

Stallman, le développeur d'Emacs n'a aucun problème à développer des outils libres pour son système d'exploitation. Cependant, il ne parvient pas à créer un noyau. Pour cette raison, il décide de créer le projet Hird Unix Replacing Daemons (HURD).

Pour défendre le logiciel libre, Stallman crée en 1985 la Free Software Foundation (FSF) et cette dernière diffuse les idées du logiciel libre, notamment, la General Public License (GPL) qui garantie quatre libertés :

Liberté 0 - la liberté d'utiliser un logiciel quel que soit l'usage que vous en faites,

Liberté 1 - la liberté d'étudier le fonctionnement du programme et de l'adapter à votre besoin,

Liberté 2 - la liberté de distribuer des copies afin d'aider votre voisin,

Liberté 3 - la liberté d'améliorer le programme et de diffuser les améliorations au public afin d'en faire bénéficier l'ensemble de la communauté.

Alors que les travaux du projet HURD n'avancent pas, ailleurs un noyau commence à voir le jour.

Le principal nom associé avec le démarrage du projet Linux est Linus Benedict Torvals, né le 28 décembre 1969 à Helsinki, un étudiant en informatique à l’Université de Helsinki en 1991 alors qu'il est âgé de 21 ans.

Linus Torvalds s’est inspiré de MINIX pour créer un système d’exploitation appelé Linux dont la version 0.11 est sortie en 1991. La version 1.0 a suivi en 1993 grâce à l’appel à l’aide lancé aux autres développeurs par Torvalds en août 1991.

Depuis le démarrage de Linux, de nombreuses distributions ont vu le jour. Une distribution consiste en un noyau et de nombreux utilitaires. La première distribution fut celle appelée Slackware Linux, sortie en 1993. La distribution de Red Hat, société américaine, est sortie en 1994, tandis que la version de la société française, Mandrake Software (maintenant devenu Mandriva) est sortie en 1998.

La mascotte de Linux, le fameux Tux, a été créé par Larry Ewing avec The Gimp en 1996.

Il n'existe que deux Linux, définis par la version du noyau :

le noyau 2.4 sorti le 4 janvier 2001,

le noyau 2.6 sorti le 18 décembre 2003 devenu le noyau 3.0 à la 20 ième anniversaire de Linux.

Par contre il existe des centaines de types de Linux, appelés des distributions.

A faire : Consultez le site DistroWatch, pour constater l'intérêt pour chacune des distributions.

Une distribution de Linux est un ensemble d'éléments rassemblés autour du noyau :

Programmes spécifiques (administration etc)

Assistance

Programmes commerciaux

Logiciels libres

Manuels

Bien que toutes les distributions héritent des commandes d'Unix, c'est la partie Programmes spécifiques qui différencie techniquement une distribution d'une autre tandis que la partie Assistance les différencie sur le plan commercial.

Copyright © 2022 Hugh Norris.