Module
01 : D’UNIX aux distributions GNU/Linux, historique, spécificités, open
source et free software
Qui sont ces gens ? 1/2 #
Qui sont ces gens ? 2/2 #
De gauche Ă droite :
Einstein;
Newton;
Darwin;
Marie Curie;
Pasteur.
Et ces gens ? 1/2 #
Et ces gens ? 2/3 #
De gauche Ă droite :
Ada
Lovelace : Conceptualisation des algorithmes exécutables
par une machine,
Alan Turing
: Modèle de machine universelle, base théorique de l’informatique et de
l’exécution de programmes.
John Von
Neumann : Architecture des ordinateurs modernes, base
matérielle pour tout OS. “L’homme
du futur”
Dennis
Ritchie : Création du langage C, utilisé pour écrire Unix
et le noyau Linux.
Ken
Thompson : Création d’Unix, inspiration directe pour le
design du noyau Linux.
Brian
Kernighan : Documentation et outils Unix (White
Book ), contribution Ă la diffusion des concepts Unix, langage
awk
Et ces gens ? 3/3 #
Douglas
McRoy : Conception des pipes (|) et nombreux programmes, modularité
dans Unix, principes repris dans Linux.
Andrew
Tanenbaum : Création de l’OS Minix, inspiration pour la
structure et le développement initial de Linux.
Richard
Stallman : Projet GNU et logiciels libres, fournissant
l’environnement essentiel pour Linux. Auteur d’emacs et de gcc
Brian
J Fox : Création de GNU Bash
Linus
Torvalds : Création et développement du noyau Linux.
Et beaucoup d’autres…
Focus : Ken Thompson
(créateur d’UNIX) #
bg right contain w: 30%
Ken Thompson
(1943-) :
Rejoint les Bell Labs en 1966;
Travaille sur Multics (MIT, Bell
Labs);
Travaux et anecdotes (non exhaustif…) :
Travaille actuellement chez Google. En apprendre plus : VCF East: Ken
Thompson interviewed by Brian Kernighan
Focus : Dennis Ritchie
(créateur du C) #
bg right contain w: 30%
Dennis Ritchie
(1941-2011)
Rejoint les Bell Labs en 1967;
Travaille sur Multics avec Ken Thompson;
Travaux et anecdotes :
Soutient sa thèse (Program Structure and Computational
Complexity ), à Harvard. N’a jamais déposé une copie de thèse auprès
d’Harvard et n’a jamais obtenu son doctorat ;
La
publication de sa thèse reste un mystère (typographique) . Comment
a-t-il pu la mettre en page étant donné sa complexité typographique et
les programmes de préparation de document de l’époque… ;
Crée le langage
C;
Coécrit avec Brian Kernighan le livre The C programming
language (K&R );
Portage d’UNIX en C et sur différentes machines;
En apprendre plus sur ses travaux sur son
site web in memoriam
Historique (en bref) : Unix #
bg right
1970 : Unix crée chez AT&T fournisseur de
services téléphoniques aux USA, aux Bell
Labs . Développé par Ken Thompson en
assembleur (pour PDP-7), puis réécrit en C inventé par Dennis
Ritchie .
Le nom Unix a été suggéré par Brian
Kernighan , Unics est un jeu de mots latin avec Multics , projet
original d’OS sophistiqué développé au MIT, sur lequel Ken Thompson et
Dennis Ritchie ont travaillé. Multics faisait la même chose de
plusieurs façons alors qu’Unics faisait chaque chose
d’une seule façon . Unix hérita de nombreuses avancées faites
sur cet OS.
Historique (en bref) : Famille
UNIX #
Unix est distribué, notamment dans les universités (popularité chez
les étudiant·es). Licence très onéreuse;
1977 : L’université de Berkeley développe son
propre UNIX, naissance famille BSD .
Utilisé par Apple pour créer mac0SX, mac0S, etc.
1980-1990 : UNIX Wars , entre
AT&T/Sun microsystems/IBM (System V, Solaris, AIX) et Berkeley (BSD)
+ Free Software Foundation (GNU). AT&T tente de garder contrĂ´le et
droits.
Historique (en bref) de l’OS
GNU/Linux #
Source
Historique (en bref) de
l’OS GNU/Linux #
Source
Historique (en bref) :
GNU, Linux Ă GNU/Linux #
1983 : Projet GNU (GNU is Not
Unix ) , OS libre crée par Richard
Stallman . Reproduisent la majorité des programmes UNIX ainsi que de
puissants programmes comme gcc, gdb,
emacs, bash, GNU make,
tar, etc. Noyau GNU Hurd en cours de
développement ;
1991 : Linus Torvalds
développe sur son temps libre un kernel inspiré de Minix , OS de type UNIX
(hacker culture ). Publie v0.01 sous le nom
“Freax”, puis Linux ;
90s : milliers de programmeur·ses contribuent Ă
développer le noyau (nouveau mode de développement à l’échelle
de la planète grâce à Internet), dynamique open source
;
Noyau Linux publié sous licence GPL
(GNU Public Licence) : usage commercial libre Ă condition que
toutes les modifications soient publiées et partagées gratuitement
Par contingence , le noyau Hurd du projet GNU est
abandonné et l’OS (complet ) GNU/Linux (Kernel + suite
logicielle libre) se popularise.
Historique (en bref) : GNU/Linux #
Historique (en
bref) : GNU/Linux et distributions #
Distribution = une ligne éditorial pour composer kernel Linux + suite
logicielle
Distribution GNU/Linux : Kernel + logiciels GNU app/libs (user
space) + pilotes hardware ;
Naissance de plusieurs distributions stables : Red Hat , Fedora , Debian ;
Cas de Debian : une des plus anciennes. Basée uniquement sur une
couche logicielle non commerciale/logiciel libre ,
stabilité.
Historique (en bref) :
GNU/Linux aujourd’hui #
Noyau Linux est versionné avec le logiciel propriétaire Bitkeeper de la
société BitMover, hébergeant gratuitement le projet Linux ;
Avril 2005 : BitMover arrĂŞte de fournir une version
gratuite à la communauté open source. Pression des développeurs et
critiques de la FSF Ă poursuivre avec Bitkeeper. Linus Torvalds
développe Git, logiciel de version control
décentralisé/distribué , spécifiquement pour maintenir
le noyau Linux
Juin 2005 : début du versionnement du projet Linux
avec Git ;
Historique
(en bref) : Adoption du noyau Linux pour la création d’autres OS #
2007 : Création d’Androïd , OS open source
basé sur le kernel Linux (pas GNU). Android TV / Android
Automotive (TV, véhicules) ;
2009 : Création de Chrome OS ;
2012 : Tizen , OS open source
pour mobiles, smart TVs et montres (Samsung et Intel), basé sur Linux +
composants LiMo ;
2013 : (JV) Création de SteamOS , basé sur le
kernel Linux (Valve ). Valve
rejoint la Linux Foundation .
Aujourd’hui (2025), le noyau Linux
équipe les 500 plus gros superordinateurs dans le
monde et environ
72% des appareils mobiles (smartphones, tablettes sous l’OS
d’Androïd).
Historique
(en bref) : Exemples d’adoption de distributions GNU/Linux #
2003 : tous les services de Police néerlandaise
décident d’utiliser uniquement Ubuntu et des logiciels open source
;
2006 : L’US
Federal Aviation Administration migre sur Red Hat Enterprise Linux
;
2007 : Le Département de la Défense des États-Unis
utilise Red Hat ;
2008 : GendBuntu , version
d’Ubuntu adaptée par et pour la Gendarmerie nationale française ;
2008 : la National
Nuclear Security Administration (NNSA) des États-Unis
exploitait le dixième superordinateur le plus rapide au monde, l’IBM
Roadrunner, qui utilise Red Hat Enterprise Linux et Fedora comme
systèmes d’exploitation ;
Communauté scientifique : Le CERN et le Fermilab ont utilisé
Scientific
Linux pour l’ensemble de leurs activités. Cela incluait
l’exploitation du Grand collisionneur de hadrons (LHC) ainsi que les
20 000 serveurs internes du CERN. Passés aujourd’hui à CentOS Stream et
AlmaLinux
;
Éducation : Le Brésil compte 35 millions d’élèves
dans plus de 50 000 écoles utilisant 523 400 postes informatiques, tous
fonctionnant sous GNU/Linux ;
Etc.
Voir
une liste plus exhaustive
En savoir plus sur
l’histoire d’UNIX #
bg right contain
En parallèle : Free
Software VS Open Source #
Stallman
(gauche), Eric S.
Raymond ((de)droite)
Logiciel libre (Free Software) : logiciel dont
l’utilisation, l’étude, la modification et duplication par n’importe qui
est permise, techniquement et juridiquement. Copy left : autorisation
par n’importe qui d’utiliser, modifier dans la mesure où cette
autorisation reste préservée. Obligation de distribuer ses
propres contributions et modifications . Ex : licence GPL.
Mouvement social, politique . Voir FSF ;
Open source : sources ouvertes. Critères moins
stricts. Approche pragmatique . Aucune obligation sur la
distribution des modifications. On ne peut ouvrir les sources que d’une
partie de son système. Méthode de développement .
A noter : Richard
Stallman, précurseur du logiciel libre, démissionne du MIT et de la Free
Software Foundation , suite
à ses propos sur l’affaire Epstein…
Caractéristiques
générales de GNU/Linux 1/2 #
GNU/Linux est un UNIX. Même caractéristiques, même ADN :
Système multi-utilisateurs et
multi-tâches : connexion simultanée de plusieurs
users , plusieurs programmes s’exécutent en “même temps”
(time sharing system ) ;
L’ensemble des ressources est exposé sous
forme de fichiers (fichiers, répertoires, périphériques, points
de montage, processus, etc.)
Le système de fichiers forme une arborescence unique, dans laquelle
chaque répertoire peut servir de point de montage pour d’autres
arborescences indépendantes (ex. partitions, périphériques,
systèmes distants).
Caractéristiques
générales de GNU/Linux 2/2 #
Séparation stricte utilisateur/super-utilisateur
;
Noyau monolithique modulaire : un noyau unique,
extensible dynamiquement par des modules ;
Tout passe par le noyau via des appels système
(syscalls ) : fork/exec, open/read/write, mmap, ioctl, etc.
Gestion fine des droits et de l’isolation : chroot,
namespaces, cgroups (conteneurs ! ), contrĂ´le des
ressources ;
Outils en ligne de commande (shell ) cohérents :
philosophie UNIX (programmes simples ,
combinables via pipes ) ;
Portabilité élevée .
Usage de
GNU/Linux pour le web, quelques statistiques #
VoilĂ (aussi) pourquoi on utilisera Debian dans cette formation
Source
: W3 Techs (Web Technology Surveys)