2. 19/06/19 DIU EIL - Université de Montpellier 2/17
Citation
« Un ordinateur est comme un hôtel vide. Il y a les chambres, les
salons, le bar, mais aucun personnel.
Le système d’exploitation est comme le personnel de l’hôtel.
Il assure le service, accueille les clients, effectue la répartition
dans les chambres, gère les locaux communs, assure la sécurité
et la confidentialité, rend de menus services annexes »
Louis Pouzin a reçu le 25 juin 2013 le Prix de la reine Elizabeth pour l'ingénierie.
Son invention ? "The Internet", a annoncé l'aboyeur pendant la remise du trophée.
Louis Pouzin (1931)
3. 19/06/19 DIU EIL - Université de Montpellier 3/17
Objectifs
● Comprendre
– les concepts
– les fonctions
– l'architecture
d'un système d'exploitation
indépendamment d'une réalisation donnée sur
– micro-ordinateurs :
– systèmes embarqués :
– grands systèmes :
4. 19/06/19 DIU EIL - Université de Montpellier 4/17
Prérequis
● Les connaissances du cours de « structure
des ordinateurs » notamment :
– Le cycle d'instruction
– Le langage machine
– Les sous-programmes
– Les interruptions
– La mémoire virtuelle
5. 19/06/19 DIU EIL - Université de Montpellier 5/17
Sommaire
● Bref historique
● Fonctions d'un OS (Operating System)
– Gestion des fichiers
– Gestion des processus
– Gestion de la mémoire
– Gestion des communications
– Gestion des utilisateurs
● Architectures
– Internes : Noyau, Appels Système
– Externes : Interfaces (ligne de commande, API, graphiques)
● Systèmes propriétaires vs. Systèmes libres
6. 19/06/19 DIU EIL - Université de Montpellier 6/17
Bref historique
Première génération : le traitement par lots
Deuxième génération : la multiprogrammation
Troisième génération : le temps partagé
Quatrième génération : le temps réel
Cinquième génération : les systèmes distribués
7. 19/06/19 DIU EIL - Université de Montpellier 7/17
Gestion des fichiers
● Définitions
● Organisation
● Opérations
☞ cette partie fera l'objet d'une étude plus détaillée
8. 19/06/19 DIU EIL - Université de Montpellier 8/17
Gestion des processus
● Coroutines, Tâches, Processus
● Exclusion mutuelle
● Synchronisation
● Ordonnancement
● Interblocage et Famine
☞ cette partie fera l'objet d'une étude plus détaillée
9. 19/06/19 DIU EIL - Université de Montpellier 9/17
Gestion de la mémoire
● Espaces d'adressage
● Mécanismes d'adressage
● Traduction d'adresses
● Mémoire virtuelle
10. 19/06/19 DIU EIL - Université de Montpellier 10/17
Gestion des communications
● Architecture des systèmes
● Contrôle centralisé
● Contrôle réparti
● Systèmes d'entrée-sortie
● Réseaux locaux
11. 19/06/19 DIU EIL - Université de Montpellier 11/17
Gestion des utilisateurs
● Droits d'accès
● Sécurité
– des données
– Des programmes
● Partages
12. 19/06/19 DIU EIL - Université de Montpellier 12/17
Architectures
● Monolithiques
– Les premiers systèmes
● Modulaires
– Compilation séparée
– Facilité d'évolution
● Avec Noyau (Kernel)
– Systèmes actuels sur micro-ordinateurs
● En couches (ex : Multics)
– Inspiré des couches ISO dans les réseaux
13. 19/06/19 DIU EIL - Université de Montpellier 13/17
Accès aux fonctions d'un système
Les Appels Système AS
● Quelle que soit son architecture, un système peut
être vu comme un ensemble de sous-programmes
(procédures ou fonctions)
● Ces sous-programmes doivent s'exécuter en mode
protégé car ils accèdent à des ressources matérielles
que les applications n'ont pas vocation à gérer
● Les Appels Systèmes (AS), qui permettent d'invoquer
ces sous-programmes, donc d'accéder aux fonctions
du système, sont le plus souvent réalisés par des
interruptions internes
14. 19/06/19 DIU EIL - Université de Montpellier 14/17
Interfaces
Les coquilles (Shell)
● Dans une architecture de système en noyau, les coquilles
(Shell) définissent des interfaces permettant d'accéder aux
AS ainsi qu'à des commandes construites à partir des AS
● Ces interfaces sont accessibles par
– API : Application Program Interface (C, Python, Java …)
– Ligne de commande (Bash sur un terminal)
– Graphiques
● Windows (Microsoft)
● Aqua (Apple)
● XFCE, GNOME, KDE, … (Linux)
15. 19/06/19 DIU EIL - Université de Montpellier 15/17
Interfaces
Les coquilles (Shell)
● API
– Ce type d'interface accède généralement directement aux AS du noyau par
des paquets (packages) ad-hoc
● Ligne de commande
– Un langage définit la façon d'accéder aux AS ainsi qu'à des commandes
construites à partir de ces AS
– Ce langage est interprété par un programme conçu comme une application
– Il est possible de construire des scripts
● Graphiques
– Très appréciés des utilisateurs non informaticiens, il ne permet pas
d'accéder aux AS mais fournit des services simples parfois assez différents
de ceux des lignes de commande
16. 19/06/19 DIU EIL - Université de Montpellier 16/17
Quelques commandes Unix
● Générales
whoami
date
whereis
● Répertoires
pwd
cd
ls
mkdir
rmdir
ln
● Fichiers
cp
mv
touch
rm
cat
hexdump
● Processus
ps
printenv
kill
qui
quand
où
courant
changer
lister
créer
supprimer
lier
copier
déplacer
créer
supprimer
afficher texte
afficher octets
liste
environnement
tuer
17. 19/06/19 DIU EIL - Université de Montpellier 17/17
Bibliographie sur la toile
http://fr.wikipedia.org/wiki/Systeme_d'exploitation
http://fr.wikipedia.org/wiki/Liste_des_systèmes_d'exploitation
http://www.commentcamarche.net/contents/systemes/sysintro.php3
https://www.gnu.org/software/bash/manual/html_node/index.html#SEC_Contents