Académique Documents
Professionnel Documents
Culture Documents
Systèmes d'exploitation
Prof. SEDKI A.
1
Chap.1 Introduction
Chap.1-
Systèmes d‘exploitation
2
Rappel
Informatique = Information + Automatique
« Science du traitement automatique de l’information»
Materiels Logiciels
(Hardware) (Software)
3
Rappel: Dialogue Processeur–Mémoire
Le fonctionnement de l’ordinateur repose en grande partie sur le
dialogue processeur – mémoire
La mémoire vive (RAM) assure le stockage temporaire des
instructions à exécuter, ainsi que des données.
Le processeur (CPU) exécute un programme chargé en mémoire.
Le processeur est connecté à la mémoire par un Bus «fils
électriques» assurant le transfert de l'information.
La RAM s’efface lorsqu’on coupe le courant (volatile).
mémoire vive
processeur (RAM)
bus
4
Rappel: Mémoire de masse
Disque dur, cdrom/dvd/, clé USB, ...
Utile pour garder de l’information à long terme (vos fichiers,
mais aussi le système d’exploitation)
processeur
mémoire vive
(RAM)
bus
disque-dur
5
Rappel: Carte mère
Tous les composants de l’ordinateurs, processeur, la mémoire et
les diverses connexions (« bus ») vers les périphériques sont fixés
sur une carte électronique (support) appelée « carte-mère ».
6
Rappel: Les logiciels
Les logiciels :
Programmes d’application.
Programmes système :
les utilitaires (compilateurs, éditeurs, interpréteurs
de commandes) et
le système d’exploitation
A quoi sert un système d'exploitation
Un système d’exploitation (noté SE ou OS pour Operating system)
est un ensemble de programmes qui permettent d’exploiter les
ressources matérielles d’un ordinateur et qui rendent ces
ressources disponibles à l’usager
Question
Comment les applications se partagent l'accès aux
ressources de la machine (processeur, mémoires…)?
traitement de texte
navigateur web
? un seul processeur!!
musique mp3
chacun son tour!
mémoire conflit
Système d'exploitation
Linux
Simplifier
l'accès au
matériel ? Gérer les
ressources
matériel
10
Rôle1: Simplifier l'accès au matériel
Exemple : Un programme désirant afficher un
rectangle ne va pas envoyer des instructions à
la carte graphique de l’ordinateur, mais plutôt
demander au système d’exploitation de le faire.
carte graphique
11
Rôle 2 : Gérer les ressources matérielles
La partie principale d’un SE, c’est son Noyau (ou Kernel en
Anglais)
il assure les 4 grandes fonctions suivantes :
gérer la mémoire ;
gérer le système de
fichiers ;
12
Gestion des processus
Un programme est un ensemble d’instructions et de variables
Un processus désigne un programme, un logiciel, en cours
d’exécution (aspect dynamique d'un programme).
Le processus démarre par son chargement en mémoire
centrale depuis la mémoire de masse (disque dur, clé USB, …).
Le SE réserve une zone mémoire puis copie tout ou une partie
des instruction du processus de la mémoire de masse vers la
mémoire centrale : le processus est alors prêt à être exécuté.
13
Gestion des processus
14
Gestion des processus
Quand on fait exécuter plusieurs programmes en même temps,
en réalité, chaque programme exécute seul pendant un court
laps de temps (quantum).
le processeur bascule constamment d’un processus à l’autre
15
Exemple : Exécution de 2 processus
Deux processus, P1 et P2, doivent être exécutés. Chacun dure
3 unités de temps.
Comme le processeur ne peut faire qu’une chose à la fois, on
les exécute en alternance :
Exemple : si l’intervalle est de 5ms (1/200s), alors pendant
1sec on a exécuté P1 et P2 100 fois chacun.
on a l’impression que l’ordinateur fait deux choses en même
temps!
16
Ordonnancement
L’ordonnancement des processus consiste simplement à
décider quel processus sera exécuté dans le quantum de temps
suivant.
Pour assurer cette gestion, le système d’exploitation utilise deux
éléments stockés en mémoire :
un ordonnanceur (Programme du système d’exploitation)
activé de façon périodique pour déterminer quel
processus doit avoir la main ;
un tableau des processus (Process Control Block
(PCB)), qui contient pour chaque processus des
informations comme le quantum de temps, l’identifiant
unique du processus (PID), son état, ses registres, la
zone de mémoire utilisée …
17
Exemple : Exécution de 2 processus
Deux processus, P1 et P2, doivent être exécutés. Chacun
nécessite 3 quanta de temps au total.
On divise le temps du microprocesseur en petits morceaux, des
« quanta » de temps
(exemple: 6ms est la valeur par défaut dans Linux (v4.15.13) )
L’ordonnanceur est exécuté à chaque quantum pour
sélectionner quel processus à exécuter dans le quantum suivant.
18
Un processus… dans tous ses états
À tout moment, un processus possède un état.
Le système d’exploitation (SE) tient une liste de tous les
processus à exécuter, ainsi que leur état.
le SE stocke cette information dans un Process Control Block
(PCB) pour chaque processus, qui contient: son identifiant
unique; son état; ses registres, sa partie de la mémoire et sa pile;
d’autres informations, comme sa priorité.
En cours
processus fini processus en attente
d’une E/S 20
Exemple : Exécution de 2 processus
Deux processus, P1 et P2, doivent être exécutés. Chacun
nécessite 3 quanta de temps au total.
C’est l’ordonnanceur qui décide quel processus exécuter
à chaque quantum.
22
la mémoire vive, c'est quoi?
La mémoire vive d'un ordinateur (RAM) peut être vu comme
une succession des cellules binaires
Une cellule mémoire stock 1 seul bit (0 ou 1) .
un MOT (case mémoire) contient plusieurs cellules
Un MOT mémoire stocke une information sur n bits.
on appelle octet un groupe de 8 bits .
exemples: char et bool-> 1 octet
int et float-> 4 octets double-> 8 octets
23
RAM
la mémoire, c'est quoi?
La mémoire d'un ordinateur (RAM) est composée d'un grand
nombre d'octets
Chaque octet est repéré par une adresse (un nombre entier),
permet de savoir à quel endroit on veut stocker l’information
adresse
0
1
2
3
….
Gestion de la mémoire : objectif
RAM
Un ordinateur possède plusieurs programmes
Où ces programmes sont-ils situés?
Sur le disque dur
26
Gestion de la mémoire
A chaque fois qu’un programme est lancé
(processus), le SE est appelé pour « trouver » un
espace mémoire pour lui.
27
Gestion de la mémoire : swapping
Un autre aspect c’est que le SE est capable de gérer le cas d’un
ordinateur qui dispose de peu de RAM
Parfois la mémoire RAM est insuffisante pour maintenir tous les
processus courant actifs
Si SE n’a pas assez de place en mémoire RAM pour charger tous les
instructions d’un gros logiciel (comme Photoshop par exemple)
SE utilise une partie du disque dur comme «mémoire de secours
(appelée swap )»
SE ne charge que les parties en cours d’utilisation.
Le reste (des modules) est chargé « à la demande » depuis le
disque dur
Il faudra donc ramener régulièrement des processus sur le
disque en RAM et inversement. C’est ce qu’on
appelle le swapping ou le va-et-vient
28
Gestion de la mémoire (resumé)
Les processus occupent et utilisent de la place en mémoire. Le
SE gère également le chargement des programmes en
mémoire centrale.
En cas de besoin, Le SE. répartit ses besoins entre la mémoire
vive et la mémoire virtuelle (place allouée sur le disque dur
jouant le rôle d’une mémoire vive) : c’est le swapping.
Pour répartir cette mémoire entre différentes processus,
plusieurs techniques sont employées :
La pagination : les programmes sont découpés en blocs de
longueur fixe correspondant aux segments de mémoire alloués.
La segmentation permet un découpage plus fin et adapté aux
besoins. Les programmes ne sont pas découpés en blocs de
taille fixe mais en segments dont la taille dépend du
programme.
29
Le démarrage d’un ordinateur
Comment démarrer le système
d’exploitation (SE) RAM
Où est-il situé?
Sur le disque dur
31
Démarrer un ordinateur - SE simplifié
1. Exécution du BIOS (programme stocké dans la ROM)
32
Démarrer un ordinateur - Les rôles du BIOS
1. Test de l’ordinateur (POST)
2. Lancer le système d’exploitation
3. Acquérir et maintenir l’information de base sur les
périphériques du système.
4. Fournir une librairie de fonctions au système d’exploitation
afin de contrôler les périphériques
Interface pour
configurer le BIOS
(modifier les
paramètres)
33
Gestion des fichiers
Le système d’exploitation va donner corps au concept de
fichiers, c’est-à-dire les gérer : les créer, détruire, modifier, lire, et
offrir la possibilité de les désigner par des noms.
Le concept de fichier est une structure adaptée aux mémoires de
masse permettant de regrouper des données.
Un fichier est un ensemble d’octets qui peuvent être interprétés
de différentes façons (texte, programme exécutable, image,
musique) et manipulé à travers un nom.
Pour assurer la gestion des fichiers, un système d’exploitation
utilise un (voire plusieurs) système(s) de fichiers (« file system »).
Le système de fichiers permet de :
gérer des fichiers (les créer, renommer, copier, modifier,
supprimer, etc …),
organiser le stockage des fichiers sur un support physique (un
disque dur, une clé USB, un DVD,…)
34
Gestion des entrées-sorties
Le SE est également responsable de la gestion et le contrôle
d'accès des programmes aux périphériques d’entrées-sorties
par l'intermédiaire des cartes électroniques appelées
contrôleurs de périphérique (puce placée sur une carte)
Chaque type de contrôleur est spécifique, Le SE donc a
besoin d’un logiciel spécial pour communiquer avec le
contrôleur, il est appelé pilote de périphérique (driver) et doit
être adapté au système d'exploitation (par exemple pilote HP
laser jet pour Windows7, pilote HP laser jet pour UNIX, ...).
Ces pilotes doivent
être INSTALLES
pour exploiter
un périphérique
En général les pilotes
sont placés dans le SE
pour fonctionner en
mode noyau (protection).
35
Différents types de systèmes
Mono/multitâche :
peut-il exécuter plusieurs programmes en même temps ?
Ex : PC avec Windows, Linux, Mac OS : oui
Ex : PC avec MS-DOS : non
Proprietaire : Payant
Sources non disponibles Non proprietaire : Gratuit le plus souvent
38
Noyau et distribution
le Linux est architecturé autour d’un noyau (contient
toutes les fonctions de base d’un OS)
Noyau Linux = 11 000 000 lignes de code
chargé au démarrage (boot) de l’ordinateur
Une distribution est une noyau auquel des logiciels ont
été ajoutés
Lunix
Ubuntu 39
Un système Multi-Utilisateurs
Il peut-il gérer le travail simultané de plusieurs utilisateurs,
connectés par le réseau, sur la même machine au travers un
terminal
Le terminal se charge essentiellement de l'affichage.
Les programmes tournent sur les serveurs
Les fichiers sont également stockés sur un serveur, pas sur le
terminal.
40
Comptes
Pour distinguer les utilisateurs d’un même système, on leur
associe un « compte » qui est constitué de :
Nom de compte (login)
Mot de passe (password)
Comptes ESTG :
Chaque étudiant possède un compte (un login, un mot de passe)
Serveur:
ordinateur qui contient les comptes
vous allez travailler avec Linux « à distance » :
on démarre Windows puis on utilise un logiciel de
communication (PuTTY) pour travailler sur une machine virtuelle
c'est un simulateur sur lequel on installe un système Linux
41
Interface graphique vs ligne de commande
Quelle que soit la distribution, il y a 2 façons d'utiliser Linux:
En mode graphique En mode console
- simple - compliqué
-non informaticiens - informaticiens,
professionnels
La console:
console:
- programmation (Expemple: Combien d'images JPEG
dans un dossier? (ls -l | grep jpg | wc -l))
- des serveurs tournant sous Linux
- accessible à distance par internet 42
Les interfaces graphiques
Il y a plusieurs modes graphiques, basés sur
un programme appelé X-window
Gestionnaire de bureau.
gérer les fenêtres, leur apparence, leurs options, etc
les plus célèbres :
KDE
Gnome
menu principal
43
Le terminal (la console)
Sous Gnome, dans le tableau de bord, tapez "Terminal":
terminal
L’invite de commandes
44
Le shell : interpréteur de commandes
Le shell se présente sous la forme d’une interface en ligne
de commande accessible depuis une console (terminal).
Shell interprète une ligne de commande
Chaque commande a une syntaxe particulière
Une commande lance l’exécution d’un programme
Le résultat s’affiche à l’écran
Une fois l’exécution terminé, l’invite de commande
s’affiche automatiquement au nouveau
45
L’invite de commandes
Elle invite l’utilisateur à taper une ligne de commande
L’invite de commandes
(Prompt)
login@nom-d’hôte : répertoire-courant $
Le répertoire courant indique dans quel
46
répertoire sera exécutée la commande
Structure d'une commande
Les commandes ont généralement la structure suivante :
49
Fichiers
Le concept de fichier est une structure adaptée aux mémoires
de masse permettant de regrouper des données.
Un fichier c’est une collection ordonnée de données, représentant
une entité pour l’utilisateur.
Ex : texte, programme, base de donnée, image...
Un nom de fichier se décompose en deux parties séparées par un
point :
Une « extension » indique le type :
50
« Répertoires » de fichiers
Les fichiers sont regroupés dans des répertoires
Un répertoire contient soit des fichiers, soit d'autres répertoires
(alors appelés sous-répertoires).
autres noms: répertoire = dossier, directory, folder
Ils permettent d’organiser l’ensemble des fichiers dans une
structure arborescente
51
Rôle du système de fichier
Organiser le stockage des fichiers sur un support physique
(un disque dur, une clé USB, un DVD,…)
Gérer l’espace disponible en fonction de la taille des
fichiers
Localiser l’emplacement physique des fichiers
Assurer la conservation des données
Coupure d’alimentation
Panne matérielle
Permettre aux applications informatiques
De créer, modifier, supprimer des fichiers
D’accéder aux fichiers selon une arborescence
Parmi les nombreux systèmes de fichiers, citons :
Windows Linux
FAT32 EXT3
NTFS EXT4 52
Structure d’une arborescence
Sous Linux les fichiers sont organisés en arborescence
une structure de données hiérarchique de type arbre
constitué de répertoires, de sous-répertoires et de fichiers
Sous Windows: "C:\Program Files", "D:\ " …
Sous Linux l’arborescence commence d’un répertoire
particulier nommé racine (Root directory), noté /
Depuis la racine il existe un chemin unique vers tous les
éléments de l’arborescence
Exemple :
53
Organisation des dossiers sous Linux
Le répertoire racine / contient d'autres répertoires:
bin: contient des programmes (exécutables)
etc: contient des fichiers de configurations;
home: contient les répertoires des utilisateurs;
……..
Chaque utilisateur dispose d'un répertoire personnel
(home directory) qui a pour nom le nom de l'utilisateur
/home/username /
A la connexion (lorsque
vous ouvrez la console
pour la première fois),
Linux vous place dans
"votre home".
54
Comment naviguer dans l’arborescence
On appelle « chemin » la succession des répertoires conduisant à un
fichier, à partir d’un endroit donné dans l’arborescence.
Pour désigner un fichier, il est possible de procéder de deux manières:
à l’aide d’un chemin absolu : on prend comme convention un
parcours de l’arbre partant de la racine:
répertoire
courant
55
Chemin relatif ou absolu: exemples
On appelle « chemin » la succession des répertoires
conduisant à un fichier , à partir d’un endroit donné dans
l’arborescence.
Deux façons pour désigner un chemin
Relatif : Chemin relatif au répertoire courant « . »
Exemple: Séparateur: " / "
Absolu : Chemin complet depuis la racine « / ».
Exemple:
/
répertoire
courant
57
Exemple de chemin relatif (2/2)
Le répertoire courant (cwd) noté «.»
58
Exemple 2 de chemin relatif (1/1)
répertoire
courant
59
Exemple 2 de chemin relatif (1/2)
répertoire
courant
60
Exemple 2 de chemin relatif (1/3)
répertoire
courant
61
Exercice :
Vous vous place dans votre home "estg".
En utilisant un chemin absolu, rentrez dans le
répertoire TPs.
Par quel chemin relatif équivalent on peut
remplacer celui-ci
répertoire
courant
Racine de
l’arborescence
/
62
Exercice : chemin relatif
63
Exercice : chemin relatif
64
Comment se repérer dans l'arborescence
L’invite de commandes de la console contient les infos suivantes:
65
Exercice : chemin absolu
!"
# $%&'(%
# $%&'(%
! )
# $%&'(%
66
Résumé
67
Structure d'une commande
Les commandes ont généralement la structure suivante :
68
la commande ls
ls : lister (afficher) le contenu du du répertoire courant
69
la commande ls
ls « list » : permet de lister (afficher) le contenu du
répertoire courant.
répertoire courant
70
Résumé
71
la commande ls -l
ls a une option notée -l qui permet d'obtenir
plus d'information sur les fichiers et les répertoires
total 44
drwxr-xr-x 2 sedki sedki 4096 mars 29 20:00 Bureau
drwxr-xr-x 2 sedki sedki 4096 mars 29 20:00 Documents
-rw-r--r-- 1 sedki sedki 8445 mars 29 19:53 examples.desktop
drwxr-xr-x 2 sedki sedki 4096 mars 29 20:00 Images
drwxr-xr-x 2 sedki sedki 4096 mars 29 20:00 Modèles
drwxr-xr-x 2 sedki sedki 4096 mars 29 20:00 Musique
ttaille
aille du
du nnoom m ddee
fichier
fichier en
en ffiicchhiieerr
octets
octets
propriétaire
propriétaire ddaattee ddee
m
mooddific
if icaattio
ionn
droit
droitss d'accès
d'accès date de
groupe 72
la commande cd
cd chem : «change directory» : permet de changer
le répertoire courant vers chem
Si on veut aller à la racine:
!"
)
Le nouveau
répertoire
courant
74
Exemples
Listez les fichiers et répertoires contenus dans /
/
Allez dans le sous- répertoire usr et regardez ce qu'il
contient /
/usr
Déplacez-vous dans le sous_répertoire games de usr
/usr
Pour revenir au répertoire précédent (/usr), appelé
répertoire parent, tapez « cd .. »
/usr/games
/usr
75
Exemple cd ..
Répertoire courant
Pour revenir
au répertoire
précédent =
répertoire parent,
tapez « cd .. » Répertoire courant
Retour au répertoire home
3 solutions pour aller dans le répertoire home
Chemin absolu:
/usr/games
l'alias ~ : /usr/games
cd sans paramètre:
/
/usr/games
usr tmp home
estg
Bureau Documents
77
Exemples
78
Exercices /
Quel est le répertoire courant ?
! usr tmp home
estg
Par quel chemin relatif équivalent
on peut remplacer celui-ci : Bureau Documents
/usr
Autocomplétion du chemin
Placez dans /usr, ensuite tapez juste "cd ga", puis
appuyez sur la touche "Tabulation".
Revenez dans /usr, (cd .. ) ensuite tapez "cd l", puis
tapez 2 fois sur la touche "Tabulation"
79
Résumé
80
Chap. 3
Manipulation de fichiers
81