Vous êtes sur la page 1sur 62

Systèmes d’exploitation I

Sidi Biha

ESP

2019

Sidi Biha (ESP) Systèmes d’exploitation I 2019 1 / 21


Plan

1 Logistiques

2 Motivations

3 Définitions

4 Histoire

5 Plan du cours

Sidi Biha (ESP) Systèmes d’exploitation I 2019 2 / 21


Logistiques

Sidi Biha (ESP) Systèmes d’exploitation I 2019 3 / 21


Motivations

Un ordinateur moderne comprend :

Sidi Biha (ESP) Systèmes d’exploitation I 2019 4 / 21


Motivations

Un ordinateur moderne comprend :


un ou plusieurs processeurs

Sidi Biha (ESP) Systèmes d’exploitation I 2019 4 / 21


Motivations

Un ordinateur moderne comprend :


un ou plusieurs processeurs
une mémoire principale

Sidi Biha (ESP) Systèmes d’exploitation I 2019 4 / 21


Motivations

Un ordinateur moderne comprend :


un ou plusieurs processeurs
une mémoire principale
des disques

Sidi Biha (ESP) Systèmes d’exploitation I 2019 4 / 21


Motivations

Un ordinateur moderne comprend :


un ou plusieurs processeurs
une mémoire principale
des disques
un clavier

Sidi Biha (ESP) Systèmes d’exploitation I 2019 4 / 21


Motivations

Un ordinateur moderne comprend :


un ou plusieurs processeurs
une mémoire principale
des disques
un clavier
une souris

Sidi Biha (ESP) Systèmes d’exploitation I 2019 4 / 21


Motivations

Un ordinateur moderne comprend :


un ou plusieurs processeurs
une mémoire principale
des disques
un clavier
une souris
un écran

Sidi Biha (ESP) Systèmes d’exploitation I 2019 4 / 21


Motivations

Un ordinateur moderne comprend :


un ou plusieurs processeurs
une mémoire principale
des disques
un clavier
une souris
un écran
des imprimantes

Sidi Biha (ESP) Systèmes d’exploitation I 2019 4 / 21


Motivations

Un ordinateur moderne comprend :


un ou plusieurs processeurs
une mémoire principale
des disques
un clavier
une souris
un écran
des imprimantes
des interfaces réseau

Sidi Biha (ESP) Systèmes d’exploitation I 2019 4 / 21


Motivations

Un ordinateur moderne comprend :


un ou plusieurs processeurs
une mémoire principale
des disques
un clavier
une souris
un écran
des imprimantes
des interfaces réseau
divers autres périphériques d’entrée / sortie

Sidi Biha (ESP) Systèmes d’exploitation I 2019 4 / 21


Motivations

Un ordinateur moderne: un système complexe.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 5 / 21


Motivations

Si chaque programmeur devait comprendre comment un ordinateur


fonctionne en détail, aucun code ne serait écrit.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 6 / 21


Motivations

Si chaque programmeur devait comprendre comment un ordinateur


fonctionne en détail, aucun code ne serait écrit.
La gestion et l’utilisation des composants d’un ordinateur de manière
optimale est un travail extrêmement difficile.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 6 / 21


Motivations

Si chaque programmeur devait comprendre comment un ordinateur


fonctionne en détail, aucun code ne serait écrit.
La gestion et l’utilisation des composants d’un ordinateur de manière
optimale est un travail extrêmement difficile.
exemple : développement des drivers.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 6 / 21


Motivations

Les ordinateurs sont équipés d’une couche de logiciel appelée système


d’exploitation.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 7 / 21


Motivations

Les ordinateurs sont équipés d’une couche de logiciel appelée système


d’exploitation.
Le rôle du système d’exploitation est de fournir aux utilisateurs un
modèle d’ordinateur plus simple.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 7 / 21


Motivations

Les ordinateurs sont équipés d’une couche de logiciel appelée système


d’exploitation.
Le rôle du système d’exploitation est de fournir aux utilisateurs un
modèle d’ordinateur plus simple.
De gérer toutes les ressources mentionnées précédemment.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 7 / 21


Définitions

Sidi Biha (ESP) Systèmes d’exploitation I 2019 8 / 21


Définitions
kernel vs user mode

La plupart des ordinateurs ont deux modes de fonctionnement: le mode


noyau (kernel mode) et le mode utilisateur (user mode).

Sidi Biha (ESP) Systèmes d’exploitation I 2019 9 / 21


Définitions
kernel vs user mode

La plupart des ordinateurs ont deux modes de fonctionnement: le mode


noyau (kernel mode) et le mode utilisateur (user mode).
Kernel mode: Le système d’exploitation, le logiciel le plus
fondamental, fonctionne en kernel mode (également appelé supervisor
mode). Dans ce mode, il a un accès complet à tout le matériel et peut
exécuter toutes les instructions que la machine est capable d’exécuter.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 9 / 21


Définitions
kernel vs user mode

La plupart des ordinateurs ont deux modes de fonctionnement: le mode


noyau (kernel mode) et le mode utilisateur (user mode).
Kernel mode: Le système d’exploitation, le logiciel le plus
fondamental, fonctionne en kernel mode (également appelé supervisor
mode). Dans ce mode, il a un accès complet à tout le matériel et peut
exécuter toutes les instructions que la machine est capable d’exécuter.
User mode: Le reste des logiciels s’exécutent en mode utilisateur,
dans lequel seul un sous-ensemble des instructions de la machine est
disponible. En particulier, les instructions qui affectent le contrôle de
la machine ou des entrées/sorties (I/O) sont interdites aux
programmes en mode utilisateur.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 9 / 21


Définitions
Interface utilisateur

L’interface utilisateur est le niveau le plus bas des logiciels en mode


utilisateur. Il permet à l’utilisateur d’interagir avec le système
d’exploitation et de démarrer d’autres programmes tels qu’un
navigateur Web ou un lecteur de musique.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 10 / 21


Définitions
Interface utilisateur

L’interface utilisateur est le niveau le plus bas des logiciels en mode


utilisateur. Il permet à l’utilisateur d’interagir avec le système
d’exploitation et de démarrer d’autres programmes tels qu’un
navigateur Web ou un lecteur de musique.
Deux types:

Sidi Biha (ESP) Systèmes d’exploitation I 2019 10 / 21


Définitions
Interface utilisateur

L’interface utilisateur est le niveau le plus bas des logiciels en mode


utilisateur. Il permet à l’utilisateur d’interagir avec le système
d’exploitation et de démarrer d’autres programmes tels qu’un
navigateur Web ou un lecteur de musique.
Deux types:
Shell/Ligne de commande/terminal: permet d’interagir avec le système
d’exploitation sous forme de commandes text.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 10 / 21


Définitions
Interface utilisateur

L’interface utilisateur est le niveau le plus bas des logiciels en mode


utilisateur. Il permet à l’utilisateur d’interagir avec le système
d’exploitation et de démarrer d’autres programmes tels qu’un
navigateur Web ou un lecteur de musique.
Deux types:
Shell/Ligne de commande/terminal: permet d’interagir avec le système
d’exploitation sous forme de commandes text.
GUI (Graphical User Interface): interface graphique avec des icons, des
drag and drops...

Sidi Biha (ESP) Systèmes d’exploitation I 2019 10 / 21


Définitions
Le système d’exploitation en tant que machine étendue

L’architecture (jeu d’instructions, organisation de la mémoire, I/O) de


la plupart des ordinateurs au niveau du langage machine est primitive
et difficile à programmer, en particulier pour les entrées/sorties.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 11 / 21


Définitions
Le système d’exploitation en tant que machine étendue

L’architecture (jeu d’instructions, organisation de la mémoire, I/O) de


la plupart des ordinateurs au niveau du langage machine est primitive
et difficile à programmer, en particulier pour les entrées/sorties.
Les disques SATA (Serial ATA) (plus de 450 pages d’instructions), les
cartes réseau.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 11 / 21


Définitions
Le système d’exploitation en tant que machine étendue

L’architecture (jeu d’instructions, organisation de la mémoire, I/O) de


la plupart des ordinateurs au niveau du langage machine est primitive
et difficile à programmer, en particulier pour les entrées/sorties.
Les disques SATA (Serial ATA) (plus de 450 pages d’instructions), les
cartes réseau.
Les systèmes d’exploitation contiennent de nombreux pilotes (drivers)
permettant de contrôler les périphériques d’entrées/sorties.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 11 / 21


Définitions
Le système d’exploitation en tant que machine étendue

L’architecture (jeu d’instructions, organisation de la mémoire, I/O) de


la plupart des ordinateurs au niveau du langage machine est primitive
et difficile à programmer, en particulier pour les entrées/sorties.
Les disques SATA (Serial ATA) (plus de 450 pages d’instructions), les
cartes réseau.
Les systèmes d’exploitation contiennent de nombreux pilotes (drivers)
permettant de contrôler les périphériques d’entrées/sorties.
Le niveau d’abstraction des drivers est trop bas pour la plupart des
applications.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 11 / 21


Définitions
Le système d’exploitation en tant que machine étendue

L’architecture (jeu d’instructions, organisation de la mémoire, I/O) de


la plupart des ordinateurs au niveau du langage machine est primitive
et difficile à programmer, en particulier pour les entrées/sorties.
Les disques SATA (Serial ATA) (plus de 450 pages d’instructions), les
cartes réseau.
Les systèmes d’exploitation contiennent de nombreux pilotes (drivers)
permettant de contrôler les périphériques d’entrées/sorties.
Le niveau d’abstraction des drivers est trop bas pour la plupart des
applications.
Pour cette raison, tous les systèmes d’exploitation fournissent une
autre couche d’abstraction : par exemple pour utiliser les disques
nous avons les fichiers, pour utiliser le réseau nous avons les sockets.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 11 / 21


Définitions
Le système d’exploitation en tant que machine étendue

L’abstraction est la clé pour gérer la complexité.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 12 / 21


Définitions
Le système d’exploitation en tant que machine étendue

L’abstraction est la clé pour gérer la complexité.


Une bonne abstraction transforme une tâche presque impossible en
deux tâches gérables:

Sidi Biha (ESP) Systèmes d’exploitation I 2019 12 / 21


Définitions
Le système d’exploitation en tant que machine étendue

L’abstraction est la clé pour gérer la complexité.


Une bonne abstraction transforme une tâche presque impossible en
deux tâches gérables:
La première est la définition et la mise en oeuvre de l’abstraction.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 12 / 21


Définitions
Le système d’exploitation en tant que machine étendue

L’abstraction est la clé pour gérer la complexité.


Une bonne abstraction transforme une tâche presque impossible en
deux tâches gérables:
La première est la définition et la mise en oeuvre de l’abstraction.
La seconde consiste à utiliser cette abstractions pour résoudre le
problème.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 12 / 21


Définitions
Le système d’exploitation en tant que machine étendue

L’abstraction est la clé pour gérer la complexité.


Une bonne abstraction transforme une tâche presque impossible en
deux tâches gérables:
La première est la définition et la mise en oeuvre de l’abstraction.
La seconde consiste à utiliser cette abstractions pour résoudre le
problème.
Un exemple d’abstraction que presque tous les utilisateurs
d’ordinateur comprennent est le fichier.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 12 / 21


Définitions
Le système d’exploitation en tant que machine étendue

L’abstraction est la clé pour gérer la complexité.


Une bonne abstraction transforme une tâche presque impossible en
deux tâches gérables:
La première est la définition et la mise en oeuvre de l’abstraction.
La seconde consiste à utiliser cette abstractions pour résoudre le
problème.
Un exemple d’abstraction que presque tous les utilisateurs
d’ordinateur comprennent est le fichier.
Un fichier est une information utile, telle qu’une photo numérique, un
e-mail enregistré, une chanson ou une page Web.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 12 / 21


Définitions
Le système d’exploitation en tant que machine étendue

L’abstraction est la clé pour gérer la complexité.


Une bonne abstraction transforme une tâche presque impossible en
deux tâches gérables:
La première est la définition et la mise en oeuvre de l’abstraction.
La seconde consiste à utiliser cette abstractions pour résoudre le
problème.
Un exemple d’abstraction que presque tous les utilisateurs
d’ordinateur comprennent est le fichier.
Un fichier est une information utile, telle qu’une photo numérique, un
e-mail enregistré, une chanson ou une page Web.
Il est beaucoup plus facile de gérer les photos, les courriels, les
chansons et les pages Web que les détails des disques SATA (ou
autres).

Sidi Biha (ESP) Systèmes d’exploitation I 2019 12 / 21


Définitions

Le système d’exploitation a pour tâche de créer de bonnes abstractions,


puis d’implémenter et de gérer les objets abstraits ainsi créés.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 13 / 21


Définitions
Le système d’exploitation en tant que gestionnaire de ressources

D’un point de vue de haut en bas (top-down), le système


d’exploitation fournit principalement des abstractions aux
programmes d’application.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 14 / 21


Définitions
Le système d’exploitation en tant que gestionnaire de ressources

D’un point de vue de haut en bas (top-down), le système


d’exploitation fournit principalement des abstractions aux
programmes d’application.
D’un point de vue de bas en haut (bottom-up), le système
d’exploitation est là pour gérer tous les éléments d’un système
complexe.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 14 / 21


Définitions
Le système d’exploitation en tant que gestionnaire de ressources

D’un point de vue de haut en bas (top-down), le système


d’exploitation fournit principalement des abstractions aux
programmes d’application.
D’un point de vue de bas en haut (bottom-up), le système
d’exploitation est là pour gérer tous les éléments d’un système
complexe.
Les ordinateurs modernes comprennent des processeurs, de la
mémoire, des disques, des souris, des interfaces réseau, des
imprimantes et une grande variété d’autres périphériques.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 14 / 21


Définitions
Le système d’exploitation en tant que gestionnaire de ressources

D’un point de vue de haut en bas (top-down), le système


d’exploitation fournit principalement des abstractions aux
programmes d’application.
D’un point de vue de bas en haut (bottom-up), le système
d’exploitation est là pour gérer tous les éléments d’un système
complexe.
Les ordinateurs modernes comprennent des processeurs, de la
mémoire, des disques, des souris, des interfaces réseau, des
imprimantes et une grande variété d’autres périphériques.
Dans la vue de bas en haut, le système d’exploitation a pour tâche de
fournir une allocation ordonnée et contrôlée de ces ressources
physiques.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 14 / 21


Définitions
Le système d’exploitation en tant que gestionnaire de ressources

Les systèmes d’exploitation modernes permettent à plusieurs


programmes d’être en mémoire et d’être exécutés en même temps.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 15 / 21


Définitions
Le système d’exploitation en tant que gestionnaire de ressources

Les systèmes d’exploitation modernes permettent à plusieurs


programmes d’être en mémoire et d’être exécutés en même temps.
Imaginez ce qui se produirait si trois programmes exécutés sur un
ordinateur essayaient tous d’imprimer leur sortie simultanément sur la
même imprimante.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 15 / 21


Définitions
Le système d’exploitation en tant que gestionnaire de ressources

Les systèmes d’exploitation modernes permettent à plusieurs


programmes d’être en mémoire et d’être exécutés en même temps.
Imaginez ce qui se produirait si trois programmes exécutés sur un
ordinateur essayaient tous d’imprimer leur sortie simultanément sur la
même imprimante.
Les premières lignes d’impression peuvent provenir du programme 1,
les prochaines du programme 2, puis du programme 3, etc. Le
résultat serait un chaos total.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 15 / 21


Définitions
Le système d’exploitation en tant que gestionnaire de ressources

Les systèmes d’exploitation modernes permettent à plusieurs


programmes d’être en mémoire et d’être exécutés en même temps.
Imaginez ce qui se produirait si trois programmes exécutés sur un
ordinateur essayaient tous d’imprimer leur sortie simultanément sur la
même imprimante.
Les premières lignes d’impression peuvent provenir du programme 1,
les prochaines du programme 2, puis du programme 3, etc. Le
résultat serait un chaos total.
Le système d’exploitation peut mettre de l’ordre dans le chaos
potentiel en mettant en buffer(cache) toutes les sorties destinées à
l’imprimante sur le disque.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 15 / 21


Définitions
Le système d’exploitation en tant que gestionnaire de ressources

Les systèmes d’exploitation modernes permettent à plusieurs


programmes d’être en mémoire et d’être exécutés en même temps.
Imaginez ce qui se produirait si trois programmes exécutés sur un
ordinateur essayaient tous d’imprimer leur sortie simultanément sur la
même imprimante.
Les premières lignes d’impression peuvent provenir du programme 1,
les prochaines du programme 2, puis du programme 3, etc. Le
résultat serait un chaos total.
Le système d’exploitation peut mettre de l’ordre dans le chaos
potentiel en mettant en buffer(cache) toutes les sorties destinées à
l’imprimante sur le disque.
Lorsqu’un programme est terminé, le système d’exploitation va copier
sa sortie depuis un fichier sur disque vers l’imprimante, tout en
laissant l’autre programme continuer à générer plus de sorties,
oubliant le fait que la sortie n’est pas encore à l’imprimante.
Sidi Biha (ESP) Systèmes d’exploitation I 2019 15 / 21
Histoire

Premier vrai ordinateur numérique?

Sidi Biha (ESP) Systèmes d’exploitation I 2019 16 / 21


Histoire

Premier vrai ordinateur numérique?


Premier programmeur au monde?

Sidi Biha (ESP) Systèmes d’exploitation I 2019 16 / 21


Histoire

Premier vrai ordinateur numérique: ”analytical engine” par le


mathématicien anglais Charles Babbage (1792–1871).

Sidi Biha (ESP) Systèmes d’exploitation I 2019 17 / 21


Histoire

Premier vrai ordinateur numérique: ”analytical engine” par le


mathématicien anglais Charles Babbage (1792–1871).
Premier programmeur au monde: une femme, Ada Lovelace. Le
langage de programmation Ada porte son nom.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 17 / 21


Histoire

Première génération (1945-1955) : tube cathodique.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 18 / 21


Histoire

Première génération (1945-1955) : tube cathodique.


Deuxième génération (1955-1965) : Transistors.
FMS (Fortran Monitor System), IBSYS.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 18 / 21


Histoire

Première génération (1945-1955) : tube cathodique.


Deuxième génération (1955-1965) : Transistors.
FMS (Fortran Monitor System), IBSYS.
Troisième génération (1965-1980) : circuit intégrés.
MULTICS, OS/360.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 18 / 21


Histoire

Première génération (1945-1955) : tube cathodique.


Deuxième génération (1955-1965) : Transistors.
FMS (Fortran Monitor System), IBSYS.
Troisième génération (1965-1980) : circuit intégrés.
MULTICS, OS/360.
Quatrième génération (1980-présent) : l’ordinateur personnel.
Windows, MacOS, famille Linux/Unix.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 18 / 21


Histoire

Première génération (1945-1955) : tube cathodique.


Deuxième génération (1955-1965) : Transistors.
FMS (Fortran Monitor System), IBSYS.
Troisième génération (1965-1980) : circuit intégrés.
MULTICS, OS/360.
Quatrième génération (1980-présent) : l’ordinateur personnel.
Windows, MacOS, famille Linux/Unix.
Cinquième génération (1990-présent) : l’ordinateur mobile.
Android, IOS.

Sidi Biha (ESP) Systèmes d’exploitation I 2019 18 / 21


Plan du cours

Chapitre 1: Introduction
Chapitre 2: Rappel sur l’architecture d’un ordinateur
Chapitre 3: Les familles de SE
Chapitre 4: Concepts générique des systèmes d’exploitation
Chapitre 5: Structure d’un SE
Chapitre 6: Programmation bash

Sidi Biha (ESP) Systèmes d’exploitation I 2019 19 / 21


Plan des TD

Administration Windows: cmd, powershell


Administration Unix/Linux: commands, programmation shell
Linux awk/grep/sort (traitement de texte)
Administration a distance avec SSH

Sidi Biha (ESP) Systèmes d’exploitation I 2019 20 / 21


Plan des TP

Windows Powershell
Linux programmation bash
Linux awk/grep/sort (traitement de texte)

Sidi Biha (ESP) Systèmes d’exploitation I 2019 21 / 21

Vous aimerez peut-être aussi