Archi Historique

Identification

Infoforall

11 - Historique des O.S


Nous avons vu que le système d'exploitation gère plusieurs choses sur l'ordinateur. Si on résume :

  • il gère le partage des ressources (microprocesseurs et mémoire vive) entre les différents programmes.
  • il fait l'interface entre programmes et les périphériques (avec les pilotes)
  • il gère l'accès aux réseaux (via les cartes réseaux)

Nous allons rajouter aujourd'hui la gestion des systèmes de fichiers.

Le Shell est un programme qui permet d'utiliser des commandes textuelles permettant d'avoir le même type d'effet qu'un environnement graphique. Pendant longtemps, les ordinateurs n'ont été commandés qu'avec les interfaces de ce type.

Utilisateur - Shell - Kernell

Aujourd'hui, nous allons voir l'historique des systèmes d'exploitation, et plus particulièrement des systèmes d'exploitation libres.

Evaluation ✎ : questions -

Documents de cours :

L'historique des systèmes d'exploitation est lié à l'historique des technologies physiques utilisées mais également à celui des langages de programmation.

Les premiers systèmes d'exploitation étaient écrits en langage assembleur. Cela voulait dire qu'à chaque fois qu'on changeait le matériel, il fallait écrire une nouvelle version du système d'exploitation.

OS sans compilateur

L'invention des compilateurs qui transforment un code source en code machine a permis de concevoir des systèmes d'exploitation pouvant tourner sur différentes technologies puisque c'est le compilateur qui se charge de traduire le code source en code machine compréhensible. Lorsqu'un nouveau système apparaît, il suffit de créer un nouveau code machine en demandant au nouveau compilateur de travailler avec l'ancien code source.

OS avec compilateur

Quelques points de répères des grandes évolutions technologiques, physiques et logicielles.

Ces points ont été choisis pour former une sorte de continuité d'évolution, mais ce ne sont pas les seuls. Beaucoup d'autres évolutions ont été filtrées.

1938 et + : apparition des premières machines électro-mécaniques.

1943 et + : les premiers calculateurs purement électroniques :

  • 1943 : mise en service de Colossus des services britanniques de cryptage, célèbre pour décrypter les messages Enigma des allemands. La version II fut mis à contribution pour le débarquement.
  • 1945 : mise en service de l'ENIAC de l'Armée américaine, qui servait aux tirs balistiques

1948 et + : apparition des premiers ordinateurs possédant une architecture de von Neumann : les programmes et les données sont situés dans la même mémoire. Un programme peut donc être manipulé comme n'importe quelle donnée.

1952 : Grace Hopper créé le premier compilateur : on transforme un code source en code machine.

1954 : FORTRAN, le premier langage (destiné aux calculs scientifiques) haut niveau largement connu voit le jour. Beaucoup suivront. La plupart des OS restent écrits en langage assembleur pour encore quelques années.

1957 et + : les ordinateurs à transistors remplacent peu à peu les ordinateur à tubes cathodiques. Les ordinateurs deviennent alors plus fiables, un peu moins couteux et surtout pouvaient plus facilement être produits en série.

1958 : LISP, un langage impératif et fonctionnel, qui sera beaucoup utilisé pour la recherche en IA notamment.

1959 : COBOL, un langage plus destiné à la gestion.

1963 et + : les ordinateurs à circuits intégrés remplacent peu à peu les ordinateur à transistors.

1964 : BASIC, un langage destiné aux débutants et permettant d'apprendre la programmation.

1964 : PL/1 (pour Programming Language number 1 !), un langage d'IBM qui se voulait universel et dont les programmes pouvaient à la fois faire concurrence à FORTRAN et COBOL dans leur domaine de prédilection. Mais pas de succès planétaire.

1964 : Multics, un système d'exploitation en temps partagé entre différents programme. Créé par le MIT, les Laboratoires Bell et General Electric et écrit en grande partie en PL/1.

1969 et + : Ken Thompson travaille pour les Laboratoires Bell (un groupe appartenant à AT&T) sur Unix, un système d'exploitation multi-tâches et multi-utilisateurs. Cette première version est en assembleur. Unix s'inspire en partie de Multics. Son nom est d'ailleurs un lien direct (Multiple - Unique). On notera que Ken Thompson est également connu pour la création de l'UTF-8. Pour bien comprendre la taille des ordinateurs à circuits intégrés de l'époque, voici l'ordinateur sur lequel travaillait Ken Thompson :

Un ordinateur PDP 7 qui occupe la place d'un bureau et quelques armoires
Un ordinateur-armoire PDP-7, CC BY-SA 3.0, travail personnel par Matias Fjeld (matiashf)

1971 et + : Intel sort le premier microprocesseur, un processeur assez petit pour tenir dans un unique boitier. Avec la miniaturisation, c'est l'augmentation régulière des capacités et la loi de Moore. Les premiers micro-ordinateurs apparaissent rapidement suite à cela. Moins gros que les ordinateurs classiques, ils vont permettre aux particuliers d'avoir un équipement de taille raisonnable. Au début, ils étaient vendus en kit et il fallait faire de la soudure !

1972 : création du langage C dans les Laboratoires Bell par Dennis Ritchie en collaboration avec Ken Thompson puisque ce langage a été initialement développé pour écrire UNIX en langage compilé. C s'inspire en partie de PL/1. C devindra l'un des langages les plus populaires au monde.

Logo C
Logo C
Ken_Thompson et  Dennis_Ritchie
Ken Thompson (Unix) et Dennis Ritchie (langage C), image libre de droit

1973 : Unix est écrit en C et devient facilement portable d'un système à l'autre. De multiples variantes d'Unix verront le jour.

OS avec compilateur

1974 : Digital Research lance CP / M, un système d'exploitation qui sera présent sur beaucoup d'ordinateurs personnels de l'époque. Cet OS va être un leader du marché pendant quelques années.

1977 : Apparition de la première version d'un système d'exploitation basé sur Unix et nommé BSD, Berkeley Software Distribution. Il utilise les lignes de code d'UNIX et son utilisation demande donc de payer AT&T, propriétaire de celui-ci.

1977 : Apparition de l'Apple-II qu'on peut considérer comme le premier micro-ordinateur grand public à avoir connu un réel succés permettant de démocratiser un peu l'ordinateur. Le monde du jeu vidéo put émerger, grace un nombre suffisant de clients à qui vendre des jeux. Microprocesseur 8 bits, 1 MHz, 1 298 $ pour la version 4 ko de mémoire vive (et 2 638 $ pour la version 48 ko). Son système d'exploitation se nomme Apple-DOS, un programme propriétaire.

Apple-II
Apple-II, CC BY-SA 2.0 par Rama

1981 : Devant le succès de l'Apple-II, IBM décide de réellement revenir sur le marché du micro-ordinateur. IBM sort l'IBM-PC (pour personal computer). Incertain de succès commercial, IBM fait le choix d'une architecture ouverte (ce qui va lui assurer par la suite à la fois une concurrence réelle mais lui permettra aussi de voir son modèle s'imposer) et d'acheter un OS existant plutôt que d'investir un budget important en Recherche et Développement.

IBM se rapproche de Digital Research qui commercialise l'OS CP / M, présent sur un très grand nombre de machines de l'époque. Mais les négociations commerciales échouent. Digital Research vient de rater le marché du siècle, IBM aussi du reste.

Bill Gates comprend l'importance du marché. Sa société Microsoft, spécialiste à l'époque de BASIC, rachète pour 50 000 $ un petit OS du nom de QDOS (Quick and Dirty OS) à une société d'électronique et ... le propose à IBM ! Rapidement, il remporte le marché car QDOS est assez proche de CP/M. QDOS devient PC-DOS pour IBM, Microsoft vendant une version nommée MS-DOS à d'autres fabriquants. Néanmoins, l'OS ressemble fortement (même en interne !) à CP / M. IBM va alors devoir vendre ses machines en proposant 3 choix (sous peine de poursuite de la part de Digital Research) :

  • CP/M (240 $),
  • PC-DOS (pour bien moins cher, 40 $) ou
  • PC/IX un clone d'Unix trop gourmand en ressources pour l'époque.

Rapidement, le public adhère à IBM-PC avec l'option ... PC-DOS. Devant le succès d'IBM-PC et de son architecture, MS-DOS va parvenir à s'imposer sur IBM-PC mais également sur tous les clones. Microsoft va pouvoir créer la taxe Microsoft : le fait de facturer son OS directement sur toutes machines vendues. Si on voulait changer d'OS, il fallait alors effectuer toute une demarche pour se faire rembourser.

Ces PC sont basés sur les microprocesseurs d'architecture x86 d'Intel.

Depuis, on nomme compatible-PC, les ordinateurs se comportant comme un IBM-PC. Les autres modèles (Apple Macintosh, Atari ST, Amiga, Commodore 64, Thomson, Amstrad, Sinclair, Tandy..) sont dits non-compatibles.

1982 : apparition du Commodore 64, énorme succés. 8 bits, 64 ko de mémoire vive. L'OS était proche de CP/M et pas de MS-DOS.

C64
C64, CC BY-SA 2.5, par Bill Bertram

1983 : Richard Stallman (alors jeune chercheur au département de recherche en intelligence artificielle du Massachusetts Institute of Technology - MIT) lance le mouvement du logiciel libre avec GNU : pour GNU’s Not UNIX, GNU n'est pas UNIX. Son but : permettre à une communauté de volontaires de créer de toutes pièces un système d'exploitation libre compatible UNIX (qui, lui, est propriétaire). De 1983 à 1990, tous les éléments logiciels nécessaires à un système d'exploitation vont être écrits par des volontaires qui laisseront leurs codes sous licence libre GNU. Voir 1990 pour la suite.

Pour la petite histoire, il parait que l'idée lui soit venue suite à l'impossibilité de modifier de modifier le code source du pilote d'une imprimante de l'université. Si c'est vrai, c'est un effet concret de l'effet papillon !

Logo GNU
Logo GNU, image copyleft
Richard_Matthew_Stallman
Richard Matthew Stallman - image CC BY-SA 3.0, Taken from the cover of the O'Reilly book "Free as in Freedom : Richard Stallman's Crusade for Free Software"

1984 : apparition de Apple Macintosh, ou en plus court Mac. Les premières versions du système d'exploitation se nommeront juste "SYSTEM". Ce sont déjà des programmes propriétaires. Nouveauté : l'interface graphique.

Macintosh 128K
Ecran d'un Macintosh 128K http://www.allaboutapple.com/ / CC BY-SA 2.5 IT (https://creativecommons.org/licenses/by-sa/2.5/it/deed.en)

1985 : sortie de Windows par Microsoft. Initialement, il s'agissait juste d'une surcouche graphique sur MS-DOS. Windows deviendra ensuite un OS par lui-même.

Windows1.0.png
Ecran Windows 1.0 - Image non libre (et oui), voir les conditions d'utilisation https://en.wikipedia.org/wiki/File:Windows1.0.png

1985 : Richard Stallman fonde la FSF, Free Software Foundation de façon à lever des fonds pour GNU et le logiciel libre.

Logo FSF
Logo FSF « Logiciel libre, société libre » - Image domaine public

On notera que libre ne veut pas nécessairement dire gratuit : libre veut dire qu'on a légalement accès au code source et qu'on peut le modifier et le redistribuer. Un logiciel libre peut donc être payant et un logiciel propriétaire (code source occulté) peut être gratuit. La plupart des logiciels libres sont dans les faits gratuits ou peu onéreux. C'est surtout l'assistance ou les services qui peuvent se révéler payants.

L'avantage du libre : l'accès au code source. Vous savez ce que le logiciel fait vraiment.

Avec un logiciel propriétaire, vous devez faire confiance à la société qui vous propose l'exécutable, puisque vous n'avez pas accès au code source.

Vous ne pouvez ainsi pas savoir exactement ce qui se passe sur un ordinateur dont l'OS est propriétaire (Windows, MacOS...)

La FSF fait mieux néamoins : elle permet d'enregistrer les codes qu'on veut placer sous licence GNU. Cela évite les problèmes d'appropriation de code.

On notera également la création de la licence GPL, pour General Public Licence. Cette licence impose à quelqu'un modifiant un code libre GPL à le laisser sous licence GPL. Ainsi, avec l'archivage, personne ne peut légalement s'approprier à posteriori un code source libre protégé.

1989 : BSD : la décision est prise de remplacer le code propriétaire AT&T d'Unix par du code libre. En gros, le code est entièrement rééecrit par des personnes utilisant une licence libre pour celui-ci. Il devient l'un des premiers OS entièrement libre. Peu connu du grand public, cet OS tourne sur un grand nombre de serveurs.

OS avec compilateur
Le Démon BSD, appelé Beastie, est un dessin de John Lasseter. Beastie est la mascotte de BSD. Son nom fait référence aux Daemons, ces programmes qui tournent en permanence et sont chargés de surveiller et gérer les demandes aux serveurs

1990 : le projet GNU a bien avancé. Il ne manque plus qu'une chose pour faire un système d'exploitation entièrement libre : le noyau. BSD contenant encore des lignes de code propriétaire, GNU décide de réaliser l'intégralité du noyau sans utiliser le moindre code propriétaire. C'est le début de la création du noyau nommé Hurd.

1990 et + : les ordinateurs compatibles PC, fabriqués en asie représentent au moins 90% des ventes d'ordinateurs. Ce ne sont pas des IBM. Mais Windows est toujours installé dessus.

1990 : Windows lance Windows NT pour prendre la suite des versions basées sur MS-DOS. Cela vise à rendre les nouveaux systèmes aptent à pénétrer, avec son partenaire Intel, le marché des serveurs en étant multitâche, multi-utilisateur, et multiprocesseur.

1991 : Linus Torvalds (étudiant à l'Université d'Helsinki) veut modifier MINIX, une variante pédagogique d'UNIX pour processeurs Intel. Les codes sources sont disponibles mais la licence ne permet pas à Linus de diffuser les modifications qu'il compte faire. Il décide de créer son propre système d'exploitation en le publiant sous licence libre GNU. C'est le début du noyau Linux, pour Linus'Unix.

Linus Torvalds
Linus Torvalds - CC BY-SA 4.0 par Krd (photo)Von Sprat (crop/extraction)

A l'époque Linus décrit son projet comme un passe temps sans prétention, et que le système n'est pas destiné à être important et professionnel.

L'engouement pour ce projet (et sa survie !) tient à la licence utilisée : GNU GPL.

Tux
Tux la mascotte de Linux ( CC0 - Larry Ewing, Simon Budig, Garrett LeSage)

Linux peut alors prendre la place du noyau inachevé Hurd et le monde a enfin un système d'exploitation entiérement libre.

Pour le nom, on devrait dire GNU Linux car c'est l'ensemble de la suite logiciel GNU et du noyau Linux qui forme le système d'exploitation. D'ailleurs, certains autres OS comme Android utilise Linux mais pas la suite GNU.

Plusieurs distributions de Linux vont apparaitre. Quelques unes sont présentées ci-dessous. Mais elles sont bien plus nombreuses.

1992 : AT&T, propriétaire d'Unix attaque BSD en justice. Le procés va durer deux ans, mais va mettre le projet BSD en pause suffisamment longtemps. GNU / Linux va alors pouvoir prendre un peu la main sur le marché du libre.

1993 : sortie de la première distribution Debian de Linux. Une distribution est un ensemble logiciel complet permettant d'installer facilement l'ensemble GNU-Linux.

Debian
Logo DEBIAN - CC BY-SA 3.0 par https://www.debian.org/

1994 : sortie de la première distribution Red Hat de Linux. Cette distribution deviendra principalement destinée aux entreprises et la société Red Hat propose un suivi et une assistance professionnelle.

1994 : BSD sort une version de son noyau ne comportant plus une ligne pouvant être attribuée à AT&T. Le développement des produits BSD reprend mais le noyau Linux est maintenant également présent sur le marché du libre.

1999 : sortie de la première version macOS basée maintenant sur UNIX. C'est la raison pour laquelle les commandes présentées dans l'activité précédente fonctionnaient si vous avez un ordinateur Apple.

2003 : sortie de la première distribution Fedora de Linux. C'est une distribution sponsorisée par la société privée Red Hat, mais à destination des particuliers.

Fedora
Logo Fedora - Domaine public

2004 : sortie de la première distribution Ubuntu de Linux. C'est une distribution créée par la société privée Canonical. Elle est basée sur Debian mais possède une politique moins stricte que Debian vis à vis des logiciels GNU.

Ubuntu
Logo Ubuntu- Domaine public

2007 : lancement d'Android par Google, basé sur un noyau Linux. Distribué en open source (sous licence Apache), la licence autorise les constructeurs à y apporter des modifications leur permettant de se distinguer de leurs concurrents. Succès immédiat chez les concurrents de l'iPhone.

2008 : sortie officielle de l'OS iOS basée maintenant sur macOS. Jusqu'à présent le système d'exploitation des iPhones d'Apple n'avait pas vraiment de nom.

2010 : sortie officielle de l'OS Windows Phone.

2012 : Windows de Microsoft est toujours en situation de quasi-monopole sur les ordinateurs individuels. 80% des ordinateurs sont équipés de cet OS.

2013 et + : Diminution des ventes des ordinateurs personnels au profit des tablettes et smartphones. Microsoft comprend bien que l'enjeu est grand et va tenter de faire remonter son OS Windows Phone qui est devenu le troisième mondialement. Dans l'ordre, on trouve Android, iOS et Windows Phone.

2013 : sortie de la première distribution Kali de Linux. C'est une distribution basée sur Debian et spécialisée dans la sécurité. Elle intègre de nombreux outils permettant de tester la sécurité sur les réseaux. Attention, ces outils restent des tentatives d'intrusions réelles si le réseau ne vous appartient pas.

Kali est en réalité le successeur de la distribution BackTrack, apparue en 2006.

Kali
Logo Kali - Domaine public

2015 : Android de Google représente 80% des parts de marchés sur les smartphones. Loin devant iOS. Encore une fois, un quasi-monopole.

2015 : l'OS Windows 10 de Microsoft est toujours un produit issu de la technologie NT. Cette nouvelle version a notamment pour ambition de fournir avec l'OS Windows 10 Mobile une interface logicielle unique autant sur compatibles-PC que sur Smartphones ou tablettes.

2017 : Microsoft abandonne son OS Windows Phone.

2019 : la CNIL condamne Google à une amende de 50 millions d'euros pour défaut d'information des utilisateurs d'Android. Ses utilisateurs ne sont pas en mesure de se rendre compte des traitements réalisés par Google sur les données personnelles. Google décide de faire appel de cette amende.

2019 : Microsoft abandonne son OS Windows 10 Mobile.

Dans la prochaine activité, nous verrons encore quelques commandes sur les fichiers et répertoires (les supprimer, les bouger) mais surtout nous verrons comment contrôler finement les droits d'utilisations sur ces fichiers et répertoires.

Nous activerons directement des programmes Python depuis un terminal sans passer par la moindre commande graphique et nous réaliserons quelques petits scripts en commande bash, juste pour que vous puisiez en voir la puissance.

Activité publiée le 07 06 2020
Dernière modification : 07 06 2020
Auteur : ows. h.