Vous êtes sur la page 1sur 11

PLAN

Cours des  Chapitre 1: Notions fondamentales des


Systèmes d'exploitation 1 : Systèmes d’exploitation
PREPA-SE3 (9306)
 Chapitre 2: Gestion des fichiers sous Linux

 Chapitre 3: Les droits d’accès


Dr. MOUNIRA EBDELLI
ebdelli.mounira@gmail.com  Chapitre 4: Les filtres

 Chapitre 5: Les scripts Shell


2023-2024

Mounira Ebdelli - ISSATSO 5

Chapitre 1 I. Introduction :
Architecture de base d’un ordinateur: Architecture de Von Neumann

Les ordinateurs sont structurés en plusieurs unités séparées :

Mémoire  Le processeur (CPU) : composé de

Notions fondamentales Bus de communication


données/adresses

Processeur
 l’unité de calcul (Unité Arithmétique et
Logique : UAL )

des systèmes Unité de contrôle


(UC)
Unité
arithmétique et
logique (UAL)


l’unité de contrôle (UC)
Les registres
d’exploitation Registres

AC
PC

MAR
CIR

MDR
 La mémoire : interne (RAM ) ou secondaires.
 Les BUS (bus de données, bus de commandes,
bus d’adresse) pour faire le lien.
Bus d’entrée/sortie
 D’autres périphériques ou unités d’Entrées /
Périphériques
d’entrée/sortie Sorties).
Mounira Ebdelli - ISSATSO 6 Mounira Ebdelli - ISSATSO 7
I. Introduction I. Introduction
Architecture de base d’un ordinateur Architecture de base d’un ordinateur
 Le processeur (Central Processing Unit ou CPU) : est un circuit  L’Unité Arithmétique et Logique(UAL) : composée de 3
Mémoire
électronique qui assure les fonctions parties :
Bus de communication
données/adresses
centrales de l’ordinateur. Il exécute les Processeur
 Les registres qui sont des unités de stockage.

instructions constituant les différentes Unité de contrôle


Unité
arithmétique et  Les circuits de l’UAL qui effectuent les opérations (calcul ou
(UC)
logique (UAL)

logique).
tâches demandées à l’ordinateur. Registres PC CIR

AC MAR MDR  Les voies de circulation dans l’UAL (bus de commandes et


L’ensemble des opérations qu’un
de données).
processeur peut effectuer est appelé jeu Bus d’entrée/sortie

Périphériques
d’entrée/sortie
d’instructions.

Mounira Ebdelli - ISSATSO 8 Mounira Ebdelli - ISSATSO 9

I. Introduction I. Introduction
Architecture de base d’un ordinateur Architecture de base d’un ordinateur
 L’Unité de contrôle (UC) : permet de  Mémoires : sont des composants électroniques pouvant garder des
Chercher dans la mémoire l’instruction suivante d’un
 informations temporairement ou à long terme.
programme (pointeur ordinal).
 Les mémoires centrales : sont utilisées pour stocker les
 Décoder et déterminer ce qui doit être fait.
 Envoyer les bonnes commandes à l’UAL, la mémoire et les informations nécessitant un accès rapide par le processeur. On
contrôleurs d’entrée/sortie. distingue
 Mémoriser le résultat.
 les mémoires vives (Random Access Memory ou RAM)
 Les instructions exécutées par l’ordinateur sont exprimées en
langage machine (code binaire) :  et les mémoires mortes (Read Only Memory ou ROM).
 op codes : opération (instruction) à effectuer.  Les mémoires de masse : ou mémoires auxiliaires sont utilisées
 Adresse : endroit en mémoire où doit s’effectuer l’opération.
pour stocker les informations à plus long terme comme les disques,
 Les instructions en langage machine sont organisées avec le op
code en premier, suivi des adresses mémoire. les flash disques, etc.
Mounira Ebdelli - ISSATSO 10 Mounira Ebdelli - ISSATSO 11
II. Nécessité d’un système d’exploitation II. Définition d’un système d’exploitation

Deux besoins majeurs :


 Point de vue utilisateur Un système d’exploitation (noté SE et OS
 Comment un utilisateur (ou plusieurs) peut exploiter les en anglais, abréviation du terme Operating
ressources matérielles. System) est un ensemble de programmes
 Trouver des mécanismes pour optimiser l’utilisation du
systèmes qui permettent à l'ordinateur de :
matériel (facilité, rapidité, partage, etc. ).
 gérer ses différentes ressources
 Point de vue système
 Comment exploiter d’une manière optimale les ressources matérielles (disques, mémoires, etc.)
matérielles pour améliorer leur fonctionnement.  ou logicielles (compilateurs, traitements
 Trouver des mécanismes pour gérer efficacement les de textes, bases de données, etc.)
ressources matérielles (mémoires centrales, disque dur,  ainsi que son interaction avec l’utilisateur.
temps processeur, etc. ).
Mounira Ebdelli - ISSATSO 12 Mounira Ebdelli - ISSATSO 13

II. Définition d’un système d’exploitation III. Rôles d’un système d’exploitation

Un SE est chargé d'assurer la liaison entre les ressources  L'architecture d'un SE est composée
matérielles, l'utilisateur et les applications (traitement de d’un ensemble de couches
texte, jeu vidéo, etc.).
fonctionnelles. Chaque couche repose
sur les fonctionnalités offertes par la
précédente mais ne voit pas les détails
de la réalisation de ces fonctions.

 Les programmes utilisateurs peuvent

accéder à ces différentes


fonctionnalités à l’aide des appels
système.
Mounira Ebdelli - ISSATSO 14 Mounira Ebdelli - ISSATSO 15
III. Rôles d’un système d’exploitation
III. Rôles d’un système d’exploitation
a) Virtualisation de la machine
 Le système d'exploitation possède deux principales fonctions :  Un SE a pour tâche principale de présenter à l’utilisateur une

 Machine virtuelle (ou Virtualisation de la machine) machine virtuelle à la place de la machine physique permettant de
 Vue uniforme des E/S gérer les ressources d’une manière transparente.
 Gestion du système de fichiers, réseau, etc.  Cette machine virtuelle est un ensemble de programmes qui
 Gestion des ressources masque la complexité du matériel aux utilisateurs et fournit une
 Fonctionnement des ressources (processeur, délais, ...) interface entre l'utilisateur et les composants électroniques de la
 Contrôle d’accès aux ressources (Allocation CPU,
machine réelle.
disque, mémoire, canal de communication réseau, ...)
 Cette interface est plus simple et facile à utiliser que le matériel.
 Gestion des erreurs
Elle peut être graphique (cas de Windows) ou un simple
 Gestion des conflits
interpréteur de commande (cas d’Unix).
Mounira Ebdelli - ISSATSO 16 Mounira Ebdelli - ISSATSO 17

III. Rôles d’un système d’exploitation III. Rôles d’un système d’exploitation
a) Virtualisation de la machine b) Gestion des ressources
 Un SE contrôle l’utilisation efficace et optimale des ressources
 Exemple : Sauvegarde d’un fichier sur disque
matérielles (Processeur, Mémoire, Imprimante, etc.) et
 Le disque est composé de plusieurs plateaux logicielles (applications utilisateurs, Word, Excel, etc.) qui
peuvent être sollicitées par les différents processus
 Le plateau est composé de secteurs et de pistes
(programme en cours d’exécution) s’exécutant dans le
 Fonctions du système d’exploitation (SE) : système.
 Un SE doit donc contrôler l’allocation des ressources aux
 Comment l’utilisateur peut chercher une adresse vide, un différents processus qui y font appel pour s'adapter au mieux
aux demandes des utilisateurs.
espace disque nécessaire, etc.
 En pratique chaque programme encours d’exécution reçoit :
 Comment faire tourner la tête de lecture du disque.  une tranche de la mémoire
 une fraction de temps de traitement processeur.
Mounira Ebdelli - ISSATSO 18 Mounira Ebdelli - ISSATSO 19
III. Rôles d’un système d’exploitation III. Rôles d’un système d’exploitation
b) Gestion des ressources b) Gestion des ressources
 Pour chacune des ressources d’un ordinateur, le système  Exemple : Gestion de l'imprimante
d’exploitation doit :
Supposons que deux processus utilisateurs P1 et P2
 connaître à tout moment l’utilisateur de la ressource,
veulent lancer simultanément l'impression de leurs
 en accorder l’usage de manière équitable,
 éviter les conflits d’accès entre les différents programmes ou résultats. Ainsi, ces deux processus vont utiliser la même
utilisateurs. ressource physique à savoir l’imprimante. Si le contrôle
 Le Système d’Exploitation doit assurer et la gestion de l'imprimante ne sont pas assurés par le
 Le partage des ressources.
système d’exploitation, nous risquons d’avoir les résultats
 La protection de l'accès aux ressources.
du processus P1 mélangé avec ceux de P2.
Mounira Ebdelli - ISSATSO 20 Mounira Ebdelli - ISSATSO 21

III. Rôles d’un système d'exploitation III. Rôles d’un système d'exploitation
Gestion de la mémoire vive (1/2): Gestion de la mémoire vive (2/2):
 Le système d'exploitation (SE) est chargé de gérer  La gestion de la mémoire comporte un ensemble de routines

l'espace mémoire alloué à chaque application et à permettant de :


 Connaître à tout moment l’état de la mémoire, c-à-d les blocs libres et
chaque utilisateur. En cas d'insuffisance de mémoire
occupés, quels processus utilisent quelles parties de la mémoire.
physique, le SE peut créer une zone mémoire sur le
 Allouer de la mémoire aux processus qui en ont besoin : savoir quels
disque dur, appelée «mémoire virtuelle» processus en demandent et combien, et d’allouer la mémoire nécessaire
quand elle devient disponible.
La mémoire virtuelle permet de faire fonctionner des
applications nécessitant plus de mémoire qu'il n'y a de  Restituer ou libérer la mémoire chaque fois qu'un processus se termine.

mémoire vive disponible sur le système. En contrepartie  Traiter le va et vient (lecture et écriture) entre le disque et la mémoire
cette mémoire est beaucoup plus lente. centrale lorsque le système met en œuvre la mémoire virtuelle.

Mounira Ebdelli - ISSATSO 22 Mounira Ebdelli - ISSATSO 23


III. Rôles d’un système d'exploitation III. Rôles d’un système d'exploitation
Gestion du processeur : Gestion des périphériques (entrées/sorties) :
 Le système d'exploitation est chargé de gérer l'allocation du  Le SE permet d'unifier et de contrôler l'accès des programmes
processeur entre les différents programmes grâce à un
aux ressources matérielles par l'intermédiaire des pilotes
algorithme d'ordonnancement. Le type d'ordonnanceur est
(appelés également gestionnaires de périphériques).
totalement dépendant du système d'exploitation, en fonction de
l'objectif visé.  Cette gestion des périphériques fournit aux couches

 Un processus est un programme en cours d'exécution = un supérieures une abstraction des E/S physiques en associant à
programme actif en mémoire centrale. chaque type de périphérique connecté à la machine un
 Le SE est responsable de:
programme particulier appelé souvent pilote.
 allocation de ressources aux processus
 Le travail du pilote consiste à transformer l’entrée/sortie
 création, terminaison des processus
 suspension, reprise des processus. abstraite en une séquence de commandes destinée à être
 synchronisation, communication entre processus. exécutée par le contrôleur du périphérique.
Mounira Ebdelli - ISSATSO 24 Mounira Ebdelli - ISSATSO 25

III. Rôles d’un système d'exploitation


III. Rôles d’un système d'exploitation
Gestion des fichiers :
 Le système de fichiers gère la lecture et l'écriture des fichiers dans
 Gestion de l'exécution des applications : le système
les mémoires auxiliaires (disque dur, clef USB, etc.) et les droits d'exploitation est chargé de la bonne exécution des applications
d'accès aux fichiers par les utilisateurs et les applications. en leur affectant les ressources nécessaires à leur bon
 Le système de fichiers est une collection de routines mise à la
fonctionnement. Il permet à ce titre de «tuer» une application ne
disposition de l’utilisateur, et qui permettent : répondant plus correctement.
 Identification des fichiers par des noms symboliques.
 Création et la destruction de fichiers.  Gestion des droits : le système d'exploitation est chargé de la
 Accès efficaces et adaptées aux différents types d’applications sécurité liée à l'exécution des programmes en garantissant que
(accès séquentiel, direct séquentiel indexé, etc.).
les ressources ne sont utilisées que par les programmes et
 Partage des fichiers.
 Distinction entre protection en lecture, écriture, …, etc. utilisateurs possédant les droits adéquats.
 Manipulation des fichiers : concaténation, reproduction , etc.
Mounira Ebdelli - ISSATSO 26 Mounira Ebdelli - ISSATSO 27
IV. Les composants d’un système d'exploitation IV. Les composants d’un système d'exploitation

 Un système d'exploitation est  Le noyau : le noyau (en anglais kernel) représente les fonctions
fondamentales du système d'exploitation telles que :
typiquement composé de :
 gestion des files d'exécution (aussi nommée processus) :
 un noyau  attribution de la mémoire à chaque processus

 ordonnancement des processus (répartition du temps


 bibliothèques dynamiques
d'exécution sur le ou les processeurs)
(librairies)  synchronisation et communication entre processus
 un ensemble d'outils système (services de synchronisation, d'échange de messages,
 mise en commun de segments de mémoire, etc.)
(utilitaires – shell)
 gestion des fichiers (au moyen de systèmes de fichiers)
 programmes applicatifs de base  gestion des périphériques (au moyen de pilotes)
 gestion des protocoles réseau (TCP/IP etc.)
Mounira Ebdelli - ISSATSO 28 Mounira Ebdelli - ISSATSO 29

IV. Les composants d’un système d'exploitation V. Histoire des systèmes d'exploitation

 L'interpréteur de commande : l'interpréteur de commande (en


 Différents systèmes d'exploitation existent :
anglais shell) est l'interface entre l'utilisateur et le système
d'exploitation. Il permet la communication avec le SE par
l'intermédiaire d'un langage de commandes.
Le rôle de l'interpréteur de commande consiste à lire la
commande, interpréter sa signification, exécuter la commande,
puis retourner le résultat sur les sorties.
 Les bibliothèques dynamiques (Libraires) : regroupent les
opérations souvent utilisées, selon les fonctionnalités (E/S,
fichier, …). Ces opérations sont disponibles pour être appelées
et exécutées par d’autres programmes.
 Le système de fichiers (en anglais «file system», noté FS) :
permet d'enregistrer les fichiers dans une arborescence.
Mounira Ebdelli - ISSATSO 30 Mounira Ebdelli - ISSATSO 31
V. Histoire des systèmes d'exploitation V. Histoire des systèmes d'exploitation

 Unix : créé en 1969, rapidement multi-utilisateur, écrit en langage C. L’histoire des SE peut être classée en cinq générations :
Quelques versions ou distributions : AIX, OpenBSD, FreeBSD
 La 1ère génération (1945-1955) : Prototypes d’ordinateurs à base de
 Linux : clone gratuit d’UNIX pour les PC, open source. Quelques distributions
parmi les plus connues : Ubuntu, Red-Hat, Mandrake / Mandriva, Debian
tubes électroniques à vide. Le plus connu des ordinateurs non
 Mac OS : premier à proposer le concept des fenêtres, du glisser-déposer, la mécaniques est l'ENIAC (Electronic Numerical Integrator And Computer)
corbeille, le plug-and-play. Aujourd’hui, il possède le noyau Linux, avec une qui lit les données au moyen d'un lecteur de cartes perforées, et fournit
interface graphique élégante et ergonomique, et optimisation particulière des les résultats sur cartes perforées ou imprimés avec une machine à écrire
traitement multimédia. électrique.
 MS-DOS (Microsoft disque operating system) : SE des premiers PC, mono-
 La 2ème génération (1955-1965) : le traitement par lots.
utilisateur, mono-tâche, interface ligne de commande.
 MS-Windows : inspiré par l’interface Macintosh; tout d’abord, une coquille  La 3ème génération (1965-1980) : la multiprogrammation (multitâches).
graphique pour DOS. Seulement à partir de Windows 95 nous commençons à  La 4ème génération (1980- 1990) : le temps partagé, les ordinateurs
assister à un transfert de nombreuses fonctionnalités de DOS vers Windows. personnels.
Quelques versions les plus connues :2.0, 3.1, 3.11, 95, NT4 et NT4 serveur,  La 5ème génération (1990- ) : le temps réel, les systèmes distribués,
98, 98se, Me, 2000 et 2000 serveur, XP, 2003 serveur, Vista,seven,8,10 les ordinateurs personnels portables et de poche.
 Windows NT : SE indépendant de DOS. Techniquement nettement supérieur
Mounira Ebdelli - ISSATSO 32 Mounira Ebdelli - ISSATSO 33
à Windows.

VI. Types des systèmes d’exploitation VI. Types des systèmes d’exploitation

1. Systèmes multitâches  Lorsqu'un programme qui a été traduit en instructions


machines s'exécute, le processeur central lui fournit
2. Systèmes multiprocesseurs toutes ses ressources (registres internes, place en
mémoire centrale, données, code,…), cet ensemble de
3. Systèmes embarqués
ressources mises à disposition d'un programme est
4. Systèmes temps réel nommé son contexte d'exécution.

Mounira Ebdelli - ISSATSO 34 Mounira Ebdelli - ISSATSO 35


VI. Types des systèmes d’exploitation
VI. Types des systèmes d’exploitation
a) SE de 2ème génération : le traitement par lots
 Processus : est l'image en mémoire centrale d'un programme
 Un traitement par lots : (batch processing en anglais) est un
s'exécutant avec son contexte d'exécution.
 Un processus est un programme encours d'exécution et qui
enchaînement automatique d'une suite de commandes
possède son propre espace mémoire, ses registres, ses piles,
ses variables, etc. (processus) sur un ordinateur sans intervention d’un opérateur.
 Un processus peut être démarré par un utilisateur par
l'intermédiaire d’un périphérique ou par un autre processus.  Une fois que ce processus est terminé (quel que soit le résultat),
 Les «applications» utilisateur, encours d’exécution, sont des
ensembles de processus. l'ordinateur traite le lot suivant. Le traitement des lots se termine
 Un processus peut avoir différents états : créé, détruit, encours
une fois que tous les lots de la pile ont été exécutés.
d'exécution (il a le contrôle du processeur central et exécute ses
actions), bloqué (il est en attente d'une information), passif (il
n'a plus le contrôle du processeur central).
Mounira Ebdelli - ISSATSO 36 Mounira Ebdelli - ISSATSO 37

VI. Types des systèmes d’exploitation VI. Types des systèmes d’exploitation
b) SE de 3ème génération : Systèmes multitâches Systèmes multi-utilisateurs

 Un système d'exploitation est dit «multi-tâches» (en anglais  Multi-utilisateurs c’est la capacité à pouvoir gérer un panel
d'utilisateurs utilisant simultanément les mêmes ressources
multithreaded) lorsque plusieurs «tâches» (également appelées
matérielles.
processus) peuvent être exécutées simultanément.
 Un système multiutilisateurs est capable d'exécuter de façon
 Les applications sont composées en séquence d'instructions que concurrente et indépendante des applications appartenant à
l'on appelle «processus légers» (en anglais «threads»). Ces plusieurs utilisateurs.
threads seront tour à tour actifs, en attente, suspendus ou détruits,  Concurrente : les applications peuvent être actives au même

suivant la priorité qui leur est associée ou bien exécutés moment et se disputer l'accès à différentes ressources comme
le processeur, la mémoire, les disques durs, etc.
séquentiellement.
 Indépendante : chaque application peut réaliser son travail
 Un système est dit préemptif lorsqu'il possède un ordonnanceur sans se préoccuper de ce que font les applications des autres
(aussi appelé planificateur), qui répartit, selon des critères de utilisateurs.
priorité, le temps machine entre les différents processus qui en font  Remarque : Un système multi-utilisateurs est nécessairement
la demande. multitâches mais la réciproque est fausse.
Mounira Ebdelli - ISSATSO 38 Mounira Ebdelli - ISSATSO 39
VI. Types des systèmes d’exploitation VI. Types des systèmes d’exploitation
c) SE de 4ème génération : Systèmes à temps partagé Systèmes multiprocesseurs

 Le système est dit à temps partagé lorsqu'un quota de temps  Systèmes multiprocesseurs : le multiprocessing est une

est alloué à chaque processus par l'ordonnanceur. C'est le cas technique consistant à faire fonctionner plusieurs processeurs
des systèmes multi-utilisateurs qui permettent à plusieurs en parallèle afin d'obtenir une puissance de calcul plus
utilisateurs d'utiliser simultanément, sur une même machine, importante que celle obtenue avec un processeur haut de
des applications différentes ou bien similaires : le système est gamme ou bien afin d'augmenter la disponibilité du système (en
alors dit « système transactionnel ». cas de panne d'un processeur).
 Un système multiprocesseurs doit être capable de gérer le

partage de la mémoire entre plusieurs processeurs ainsi que de


distribuer la charge de travail.

Mounira Ebdelli - ISSATSO 40 Mounira Ebdelli - ISSATSO 41

VI. Types des systèmes d’exploitation VI. Types des systèmes d’exploitation
Systèmes multicœurs Systèmes multicœurs
 Systèmes multicœurs : un processeur multicœurs est un processeur  Avantages :
doté de plusieurs cœurs qui peuvent lire et exécuter individuellement des  Ces systèmes sont économes en énergie car ils permettent des
instructions de programme, donnant l’impression que le système performances plus élevées à moindre consommation d’énergie.
informatique a plusieurs processeurs.
 Dans ces systèmes, il y aura moins de trafic (cœurs intégrés dans
 Les instructions peuvent être des calculs, des instructions de transfert de
une seule puce et nécessitera moins de temps).
données, des instructions de branchement, etc.
 Désavantages :
 Le processeur peut exécuter des instructions sur des cœurs séparés en
même temps. Cela augmente la vitesse globale d’exécution du  Le processeur double cœur ne fonctionne pas à deux fois la vitesse
programme dans le système. Ainsi, la chaleur générée par le processeur d’un processeur unique. Ils n’obtiennent que 60 à 80 % de vitesse
est réduite et augmente la vitesse globale d’exécution. en plus.
 Les systèmes multicœurs prennent en charge le multithreading et  Le système d’exploitation compilé pour un processeur multicœurs
le calcul parallèle. Ils sont largement utilisés dans de nombreux domaines fonctionnera légèrement plus lentement sur un processeur
d’applications : réseau, traitement du signal numérique (DSP) et monocœur.
graphiques (GPU). Mounira Ebdelli - ISSATSO 42 Mounira Ebdelli - ISSATSO 43
VI. Types des systèmes d’exploitation VI. Types des systèmes d’exploitation
SE de 5ème génération : Systèmes temps réels Systèmes embarqués
 Les systèmes temps réel (real time systems),  Les systèmes embarqués sont des systèmes d'exploitation

essentiellement utilisés dans l'industrie, sont des systèmes prévus pour fonctionner sur des machines de petite taille, telles

dont l'objectif est de fonctionner de manière fiable selon des que des PDA (personal digital assistants) ou des appareils
électroniques autonomes (sondes spatiales, robot, ordinateur de
contraintes temporelles spécifiques, c-à-d qu'il doit être
bord de véhicule, etc.), possédant une autonomie réduite. Ainsi,
capable de délivrer un traitement correct des informations
une caractéristique essentielle des systèmes embarqués est leur
reçues à des intervalles de temps bien définis (réguliers ou
gestion avancée de l'énergie et leur capacité à fonctionner avec
non).
des ressources limitées.
 Exemples de SE temps réel : OS-9 , RTLinux (RealTime  Exemples de SE embarqués : PalmOS, Windows CE, Windows
Linux) , QNX , VxWorks. Mobile, Window Smartphone
Mounira Ebdelli - ISSATSO 44 Mounira Ebdelli - ISSATSO 45

VI. Types des systèmes d’exploitation

Système Codage Mono-utilisateur Multi-utilisateur Mono-tâche Multitâche

DOS 16 bits X X
Windows3.1 16/32 bits X non préemptif

Windows95/98/Me 32 bits X coopératif

WindowsNT/2000 32 bits X préemptif

WindowsXP 32/64 bits X préemptif

Unix / Linux 32/64 bits X préemptif

MAC/OS X 32 bits X préemptif

Mounira Ebdelli - ISSATSO 46

Vous aimerez peut-être aussi