Définition Panorama des OS Licence logicielle
Introduction aux OS
R108 - Bases des systèmes d’exploitation
[Link]@[Link]
IUT de Rouen, dépt. Réseaux & Télécoms
2023-2024
Version du 5 septembre 2023
S. Kramm (IUT Rouen) Introduction aux OS 1 / 38
Définition Panorama des OS Licence logicielle
Sommaire
1 Définition
2 Panorama des OS
Historique
OS classiques
OS mobiles
OS spécifiques
3 Licence logicielle
S. Kramm (IUT Rouen) Introduction aux OS 3 / 38
Définition Panorama des OS Licence logicielle
OS : Operating System
Plusieurs définitions coexistent :
Définition grand public :
Logiciel qui permet de faire fonctionner un ordinateur et d’exécuter des
programmes applicatifs.
Définition stricte
Logiciel système qui doit :
gérer les ressources de la machine et leur utilisation par les programmes
applicatifs en leur fournissant une interface homogène ;
fournir une Interface Homme Machine (IHM) pour permettre l’utilisation
de la machine.
S. Kramm (IUT Rouen) Introduction aux OS 4 / 38
Définition Panorama des OS Licence logicielle
Concept de ressources
Les ressources d’une machine sont multiples :
Mémoire vive
processeur
Stockage de masse, avec souvent plusieurs unités (DD, USB, ...), et
organisé en système de fichiers
Périphériques d’E/S "simples" (clavier, souris, écran en mode "console")
Périphériques d’E/S complexes : carte graphique
connexions à d’autres machines distantes (imprimante, réseau local, réseau
distant, ...)
Capteurs (température, accélération, GPS, etc.)
...
Tout les programmes ne peuvent pas y accéder de façon autonome : l’OS
fournit au programme une interface pour utiliser ces ressources.
S. Kramm (IUT Rouen) Introduction aux OS 5 / 38
Définition Panorama des OS Licence logicielle
Concept de ressources
L’OS interdit aux programmes d’acceder directement aux ressources
matérielles
Objectifs :
Sécurité des applications : pas d’accès concurrent
possible à la même ressource
Partage des ressources entre applications : pas de
possibilité d’accès exclusif
S. Kramm (IUT Rouen) Introduction aux OS 6 / 38
Définition Panorama des OS Licence logicielle
Ressources logicielles
Un OS fournit aussi un ensemble de services logiciels permettant son
fonctionnement :
Ordonnanceur de tâche
Gestionnaire de mémoire virtuelle
Pilotes de périphériques
Gestion de la sécurité (des fichiers, des programmes, des utilisateurs, ...)
Bibliothèque de fonctions précompilées pour les programmes applicatifs
S. Kramm (IUT Rouen) Introduction aux OS 7 / 38
Définition Panorama des OS Licence logicielle
Concepts impliqués
Utilisateur (user) : réel ou logiciel, possède des droits et nécessite une
authentification
Fichier (file) : structure logique qui délimite une zone de stockage de
données et dotées de métadonnées (nom, attributs, etc.)
Processus (process) : Un programme en cours d’exécution
Peut être actif ou en standby
Renvoie une valeur à l’OS en fin d’exécution
Valeur de retour d’un processus
Un processus se terminant sans erreur renverra à l’OS la valeur 0
S. Kramm (IUT Rouen) Introduction aux OS 8 / 38
Définition Panorama des OS Licence logicielle
Fonctionnement interne
De façon à garantir la sécurité, les processus s’exécutent :
soit en "mode noyau" (kernel) : utilisation sans restriction de toutes les
fonctionnalités ;
soit en "mode utilisateur", avec des limitations.
En mode utilisateur :
certaines fonctionnalités ne sont pas accessibles (accès direct E/S
notamment)
la mémoire associée à chaque processus est virtuelle :
→ si on lui associe une plage de mémoire de $00000 à $0FFFF, ce bloc de
mémoire pourra en réalité se trouver dans la mémoire physique entre
$20000 à $2FFFF.
S. Kramm (IUT Rouen) Introduction aux OS 9 / 38
Définition Panorama des OS Licence logicielle
Modes kernel / user
Ce mode de fonctionnement à deux niveaux est pris en charge au niveau
hardware, au niveau du processeur :
la plupart ont un mode d’exécution "privilégié" ;
un gestionnaire de mémoire virtuelle (Memory management unit : MMU)
distribue aux processus des adresses virtuelles, qui sont "mappées" sur des
adresses physiques.
Seul le noyau de l’OS s’exécute en mode "kernel", toutes les applications
utilisateurs s’exécutent en mode "user" :
→ Pour accéder aux périphériques, elles doivent faire des appels système
au noyau.
Le gestionnaire de processus (task scheduler) réalise la commutation entre
tâches et provoque le basculement d’un mode dans l’autre.
S. Kramm (IUT Rouen) Introduction aux OS 10 / 38
Définition Panorama des OS Licence logicielle
Appels systèmes : normalisation
Les OS fournissent des appels systèmes (de 300 à 700) permettant
d’effectuer des tâches bas-niveau.
Gestion des périphériques ;
Gestion de fichiers ;
Gestion mémoire, processus, ...
POSIX : ensemble de standards
permettant l’interopérabilité entre
programme applicatifs pour les OS de type
Unix / Linux.
Windows : support partiel de cette norme.
S. Kramm (IUT Rouen) Introduction aux OS 11 / 38
Définition Panorama des OS Licence logicielle
Architecture Linux
S. Kramm (IUT Rouen) Introduction aux OS 12 / 38
Définition Panorama des OS Licence logicielle
Interface Homme Machine
Deux paradigmes coexistent : Command-Line Interface (CLI) et
Graphical User Interface (GUI).
Les deux ont des avantages et inconvénients.
Item CLI GUI
Prise en main Difficile Facile
(mémorisation)
Ressources système Faibles Importantes
nécessaires
Puissance Élevée Limitée
Tâches répétitives Idéal Laborieuses et
risquées (oublis)
S. Kramm (IUT Rouen) Introduction aux OS 13 / 38
Définition Panorama des OS Licence logicielle
Exemple de shell
Pour le paradigme CLI, on utilise le terme de "Shell" (coquille en anglais).
S. Kramm (IUT Rouen) Introduction aux OS 14 / 38
Définition Panorama des OS Licence logicielle
Connexion à distance
Très souvent, on se connecter à la machine à distance
(indispensable dans le cas d’un DataCenter)
Toujours possible en CLI, parfois en GUI.
Mais : beaucoup de serveurs n’ont pas d’OS graphique !
S. Kramm (IUT Rouen) Introduction aux OS 15 / 38
Définition Panorama des OS Licence logicielle
Evolutions actuelles : virtualisation
Tendance actuelle (serveurs) : séparer la partie Hardware de la partie
software via une couche intermédiare appelée hyperviseur
→ va intercepter toutes les interactions entre l’OS et le hardware
Objectif : rentabiliser au mieux le Hardware (coût élevé) : une même
machine physique va héberger plusieurs OS, qui seront complètement
indépendants.
source : S. Krakowiak/SIF
S. Kramm (IUT Rouen) Introduction aux OS 16 / 38
Définition Panorama des OS Licence logicielle
Sommaire
1 Définition
2 Panorama des OS
Historique
OS classiques
OS mobiles
OS spécifiques
3 Licence logicielle
S. Kramm (IUT Rouen) Introduction aux OS 17 / 38
Définition Panorama des OS Licence logicielle
Sommaire
1 Définition
2 Panorama des OS
Historique
OS classiques
OS mobiles
OS spécifiques
3 Licence logicielle
S. Kramm (IUT Rouen) Introduction aux OS 18 / 38
Historique des ordinateurs
ENIAC (1946) Atlas (1963)
DEC PDP-7 (1965)
IBM 650 (1953)
Définition Panorama des OS Licence logicielle
Années 1980
S. Kramm (IUT Rouen) Introduction aux OS 20 / 38
Définition Panorama des OS Licence logicielle
Sommaire
1 Définition
2 Panorama des OS
Historique
OS classiques
OS mobiles
OS spécifiques
3 Licence logicielle
S. Kramm (IUT Rouen) Introduction aux OS 21 / 38
Définition Panorama des OS Licence logicielle
Historique Unix et apparentés
1969 : Ken Thompson et Dennis Ritchie développent Unix, sur un DEC PDP-7
S. Kramm (IUT Rouen) Introduction aux OS 22 / 38
Définition Panorama des OS Licence logicielle
Historique Windows
MS-DOS-based versions of Windows
S. Kramm (IUT Rouen) Introduction aux OS 23 / 38
Définition Panorama des OS Licence logicielle
Historique Windows
1981-1995 : MS-DOS : système d’exploitation avec IHM de type CLI
1986 : Windows 1 : surcouche graphique à MS-DOS
1992 : Windows 3.1 : 1re version réellement fonctionnelle, mais
mono-utilisateur
1993 : Windows NT : ne repose plus sur MS-DOS, nouveau noyau, multi
utilisateurs, multi-tâches préemptif
2001 : Windows XP : réunification des games grand public et professionnel
en une seule famille.
Ventes arrêtées en 2010, fin du support étendu (=payant) en 2014
2015 : Windows 10
2021/06 : Windows 11
S. Kramm (IUT Rouen) Introduction aux OS 24 / 38
Définition Panorama des OS Licence logicielle
Sommaire
1 Définition
2 Panorama des OS
Historique
OS classiques
OS mobiles
OS spécifiques
3 Licence logicielle
S. Kramm (IUT Rouen) Introduction aux OS 25 / 38
Définition Panorama des OS Licence logicielle
OS pour mobiles
Avec l’explosion du mobile, de nombreux OS dédiés sont apparus.
Aujourd’hui, seuls deux acteurs restent en compétition :
Google → Android, basé sur Linux
Apple → IoS, descendant de Unix (version BSD)
S. Kramm (IUT Rouen) Introduction aux OS 26 / 38
Définition Panorama des OS Licence logicielle
Android
Fondé en Californie en 2003, racheté par Google en 2005.
Supporte aujourd’hui de nombreux processeurs (architectures) : ARMv7 et
ARMv8, x86, MIPS, ...
S’appuie sur le Noyau Linux.
Utilisé sur smartphone, tablette, mais aussi sur ...
S. Kramm (IUT Rouen) Introduction aux OS 27 / 38
Définition Panorama des OS Licence logicielle
Différences Android / distribution Linux
Architecture Android
Android n’utilise que le noyau Linux
Pas de Serveur X11 ni de bibliothèque C
classique
Gestionnaire de paquet : Android
application package (APK)
Les applications s’exécutent dans une
machine virtuelle
avant 5.0 : Dalvik
5.0 → : Android Runtime (ART)
S. Kramm (IUT Rouen) Introduction aux OS 28 / 38
Définition Panorama des OS Licence logicielle
Sommaire
1 Définition
2 Panorama des OS
Historique
OS classiques
OS mobiles
OS spécifiques
3 Licence logicielle
S. Kramm (IUT Rouen) Introduction aux OS 29 / 38
Définition Panorama des OS Licence logicielle
Autre types d’OS
OS embarqués
OS prévus pour fonctionner sur des machines de petite taille ou à faible
ressources.
Evolution actuelle : coût élevés, tendent à disparaître au profit d’OS basé
sur un noyau Linux "customisé".
S. Kramm (IUT Rouen) Introduction aux OS 30 / 38
Définition Panorama des OS Licence logicielle
Autre types d’OS
OS temps réel
Objectifs : garantit les temps de réponse
Utilisé pour des process avec des contraintes temporelles fortes : une tâche
doit être terminée dans le laps de temps imparti
Deux types :
Temp-réel "dur" : gestion stricte du temps
Exemple : automobile, biomédical (pacemaker), etc.
Temps-réel "mou" : systèmes acceptant des variations minimes
Exemple : streaming video, multimédia
Le plus connu : VxWorks, utilisé dans Curiosity Mars Rover, B787,
SpaceX, robotique, etc.
S. Kramm (IUT Rouen) Introduction aux OS 31 / 38
Définition Panorama des OS Licence logicielle
Défis actuels
Aujourd’hui : relative stabilité des OS
nombreux problèmes encore ouverts :
Sécurité : complexité exponentielle des systèmes et absence de modèle
théorique ;
Certification : obligatoire dans certains domaines applicatifs (aéronautique)
mais très difficile ;
Arrivée massive de la mobilité ("Systèmes embarqués") : ressources limitées
et connectivité incertaine ;
Parallélisme : absence de cadre théorique.
S. Kramm (IUT Rouen) Introduction aux OS 32 / 38
Définition Panorama des OS Licence logicielle
Sommaire
1 Définition
2 Panorama des OS
Historique
OS classiques
OS mobiles
OS spécifiques
3 Licence logicielle
S. Kramm (IUT Rouen) Introduction aux OS 33 / 38
Définition Panorama des OS Licence logicielle
Licence logicielle
A chaque logiciel est rattachée une licence :
contrat par lequel le titulaire des droits sur ce logiciel définit les conditions
dans lesquelles ce programme peut être utilisé, diffusé ou modifié.
On distingue les licences libres et licences propriétaires.
Indépendant de la notion de coût :
un logiciel sous licence libre peut être vendu
un logiciel sous licence propriétaire peut être gratuit
S. Kramm (IUT Rouen) Introduction aux OS 34 / 38
Définition Panorama des OS Licence logicielle
Licence libre
Beaucoup de licences différentes, avec des principes similaires mais quelque
différences.
GPLv2, GPLv3, BSD, MIT, Apache, etc.
Très liées au concept de "copyright" anglo-saxon, il existe des versions plus
adaptées au droit français (Licence CeCILL).
Accorde quatre droits fondamentaux aux utilisateurs :
1 Liberté d’utiliser le logiciel ;
2 Liberté d’étudier le logiciel pour en comprendre le
fonctionnement ou l’adapter à ses besoins ;
3 Liberté de modifier (améliorer, étendre, etc.) ou de
l’incorporer à un autre logiciel ;
4 Liberté de redistribuer : diffusion à d’autres usagers, y
compris commercialement.
R. Stallman
Principale différence : notion de copyleft (ou principe de viralité) : Tout
logiciel utilisant une brique sous une telle licence passe automatiquement
sous cette licence.
→ Dans le produit final, tous les composants utilisés passent sous cette
licence.
S. Kramm (IUT Rouen) Introduction aux OS 35 / 38
Définition Panorama des OS Licence logicielle
Copyleft des principales licences libres
On distingue copyleft fort ou faible
Copyleft faible : de nouveaux composants ayant une autre licence peuvent
être ajoutés au projet.
Nom Copyleft
GPL copyleft fort
GNU Library or Lesser (LGPL) copyleft faible
Apache licence sans copyleft
New BSD Licence sans copyleft
MIT Licence sans copyleft
Mozilla public licence copyleft faible
S. Kramm (IUT Rouen) Introduction aux OS 36 / 38
Définition Panorama des OS Licence logicielle
Les 10 licences libres les plus utilisées
source : [Link]
S. Kramm (IUT Rouen) Introduction aux OS 37 / 38
Définition Panorama des OS Licence logicielle
Licences propriétaires
Ces licences sont souvent très restrictives.
Chaque éditeur a sa propre politique de licence.
Exemple : Windows a 3 types de licence, avec des prix différents
(indépendamment de la version) :
1 Licence Retail : achetée séparément ("boxed copy" ou achat en ligne)
Appelée aussi Full Packaged Product (FPP)
2 Licence OEM (Original Equipment Manufacturer) : la moins chère mais la
plus restrictive.
Destinée aux assembleurs : utilisée dans le cas d’un achat matériel avec le
logiciel préinstallé
Inconvénient : liée à la machine, impossible de déplacer la licence sur une
autre.
3 Licence VLK (Volume Licensing Key), pour les organisations avec un parc
important.
S. Kramm (IUT Rouen) Introduction aux OS 38 / 38