Vous êtes sur la page 1sur 47

Introduction aux

Systèmes d'exploitation
Des ordinateurs

Notions de bases

Ce cours est très simple à comprendre par ce qu’il est spécifié pour les débutants
en sciences informatique.

Animé par Ir : Nathan

Année 2023-2024
Introduction
Au jour d’aujourd’hui, le monde des affaires vit à un rythme très accéléré des adaptations dans tous les
secteurs grâce à l’informatisation de toutes les activités, qui ayant un rôle très important dans la
croissance de plusieurs entités économiques, administrative, médecine, militaire etc.

Dans les soucis de rendre nos activités meilleures dans les différents services, plusieurs
organisations ou services auront besoin de l’informatisation automatique (traitement automatique de
l’information)

2
CHAPITRE I : Système informatique

Définition :
C’est l’ensemble des matériels et logiciels destinés à réaliser des
tâches qui mettent en jeu le traitement automatique de
l'information.
L’objectif d’un système informatique est d’automatiser le traitement de
l’information.

Un système informatique est constitué de deux entités : le matériel


et le logiciel.

3
Systéme informatique

FONCTION de base d’un système informatique

 Communication avec l'utilisateur


 entrée : entrée de l’information à traiter : les données
 sortie : communication des résultats
 Calcul (ou traitement)
 élaboration des résultats à partir des données
 Séquencement
 Les opérations sont exécutées l'une après l'autre selon un certain
plan appelé un programme.
 Le choix d'une opération peut éventuellement dépendre du
résultat des opérations précédentes
4
 Mémorisation
 Les données et les résultats doivent pouvoir être mémorisés
 La séquence des opérations à effectuer (programme) est
également mémorisée

5
Exploitation d’un système informatique

6
Système informatique : le logiciel

Un système informatique est composé de deux niveaux bien


distincts : le système d’exploitation et les applications.
L’objectif du logiciel est d’offrir aux utilisateurs des fonctionnalités adaptées
à leurs besoins.
Le principe est de masquer les caractéristiques physiques du matériel.
La solution consiste à structurer en couches le logiciel, chacune offrant des
services de plus en plus évolués au niveau supérieur.
Système informatique : le logiciel

Système informatique en réseau

7
Système d’exploitation

 Le système d'exploitation (SE, en anglais Operating System ou OS)


est un ensemble de programmes responsables de la liaison entre les
ressources matérielles d'un ordinateur (Hardware) et les applications
de l'utilisateur (traitement de texte, jeu vidéo...) (Software).
 Il assure le démarrage de l'ordinateur, et fournit aux
programmes applicatifs des interfaces
Standardisées pour l’accès aux périphériques.
Services à fournir pour l’exploitation d’un système informatique

 Gestion d’activités : exécution des programmes


 Gestion de la mémoire centrale,
 Gestion de la mémoire de masse (disques),
 Communication avec les périphériques : pilotage des unités d'échanges

8
 Partage des ressources entre plusieurs usagers (pour les systèmes multi-
utilisateurs) => protection de l’information et des ressources
 Communication avec l'utilisateur par l'interprétation d'un langage de
commande (Shell)

CHAPITRE II : Système d’exploitation

Définition : est un logiciel de base permettant de faire l’arbitre


entre le monde matériel et le monde logiciel.

 Fonctions : fournir des services adaptés aux problèmes


usuels :
 la gestion de l'information : désignation, stockage, recherche,
communication
 la préparation et la mise au point de programmes
 l‘exécution de programmes (applications)
 L'ensemble des services fournis aux usagers constitue une
nouvelle machine souvent qualifiée d'abstraite ou de
virtuelle.
Interface du système informatique

 L'interface du système informatique est constituée des


outils disponibles pour accéder aux services fournis.
 Ces outils définissent le langage de la machine abstraite qui
permet aux usagers de communiquer avec le système.
Organisation schématique d'un système informatique

9
 Les fonctions communes à une grande majorité des
applications sont réalisées par un ensemble de programmes
appelés logiciel de base.
Exemples :
 la gestion de fichiers et de répertoires (dossiers),
 l’impression de documents
 Un logiciel d'application réalise une application spécifique
en utilisant des services fournis par le logiciel de base.
exemples : traitement de texte, tableur
Organisation schématique d'un système informatique : modèle
en couches

Interface du système
Informatique tout entier
Logiciels d'application
( Machine virtuelle 2)

Interface des fonctions Logiciel de base


Communes
(machine virtuelle 1)
Matériel
Machine réelle

Logiciels d'application
10
Outils, services
Dans le logiciel de base on distingue habituellement deux
niveaux :
• les outils et services :
Compilateur, chargeur, utilitaires ; • le système d'exploitation :
couche inférieure, plus proche de la machine.

Outils et services
sont
interchangeables
et peuvent être
partiellement ou
complètement
absents
Par opposition le système
d’exploitation est
indispensable, c’est lui qui
masque le matériel

Définition du système d'exploitation

C'est l'ensemble de programmes qui fournissent tous les


services nécessaires à la gestion de l'ordinateur.
Il fournit les fonctions permettant :
 la réalisation de la machine virtuelle qu'il représente,
 la gestion et le partage des ressources.
Fonctions du système d'exploitation

11
 Gestion de l'information : structuration, conservation,
transfert, désignation de l'information. Fonction réalisée
par le Système de Gestion de Fichiers (SGF).
 Fonction d'exécution : exécution de programmes en
séquence, en parallèle, composition de programmes.
Fonction réalisée par l'interprète du langage de
commande.
Fonctions du système d'exploitation

 Gestion des ressources physiques


 allocation de la mémoire principale,
 allocation de la mémoire secondaire,
 allocation des organes d'entrée-sortie,
 allocation du processeur
 Partage et échange d'informations entre usagers:
messagerie, liens symboliques, gestion des droits d'accès.
 Protection mutuelle des usagers.

Fonctions du système d'exploitation

12
 Services divers :

aide à la mise au point de programmes (débogueurs),


traitement des défaillances,
mesure du temps,
facturation des ressources,
statistiques d'utilisation des
ressources,
mesure de performances,
etc.

Modèle en couche

13
Phase I : Le Noyau

Définition :

Le noyau d’un système d’exploitation est le logiciel qui


assure :
 la communication entre les logiciels et le matériel ;
 la gestion des divers logiciels exécutés sur une machine
(tâches) : lancement des programmes, ordonnancement, … ;
 la gestion du matériel : mémoire, processeur, périphérique,
stockage, ...
La majorité des systèmes d’exploitation est construite autour de la
notion de noyau, c’est-à-dire d’un programme unique responsable de
la communication entre le matériel et le logiciel.

Le système d’exploitation fourni ensemble de fonctionnalités comme :

- exécution et ordonnancement de programmes


- communication entre les programmes
- gestion de droit d’accès
- gestion des ressources matérielles et de l’ordinateur
- gestion de périphériques
- manipulation
- de système de fichiers
- Gestion de fichiers

Le système d’exploitation s’occupe avec le système de fichiers qui nous


permet de naviguer dans les différents fichiers qui se trouve dans le disque
dur à fin de les supprimer, modifié.
14
Les portes d’un système d’exploitation :

 Interface de programmation d’application (API) nous sert à créer les


programmes.
 Interface graphique (IHM) ce qu’on utilise dans le S.E Windows
 Commande : pour les utilisateurs avancer, surtout pour ce qui
utilisent l’Unix doivent forcement le connaitre.

Ex. shutdown : qui signifie arrêter

Importance du langage de commande

C'est un point clé du système d'exploitation, on


distingue :
Langages de commande textuels qui sont puissants
mais difficiles à utiliser par un utilisateur non initié :
 Shell Windows (issu des commandes MS-DOS),
Shell UNIX.
langages de commandes graphiques d'usage plus
simple mais plus limités, par exemple :
 Bureaux Windows ou MacOS,
 X-Windows, Gnome ou KDE sous UNIX
 Interfaces Android, iOS pour les appareils mobiles
Classes de systèmes d'exploitation
Systèmes mono-usager
 MS-DOS (Microsoft)
 Premières versions de MacOS
 Premières versions de Windows (Microsoft)
15
 Palm OS, Android, iOS
 Systèmes multi-usagers  UNIX, Linux, Android 4.3
 Windows récents (NT, 2000, XP, Vista, 7, 8), MacOS
 Tous les systèmes des gros ordinateurs ("mainframes")

16
Exemples de systèmes
D’exploitation

L’ordinateur personnel
 Usages :
 création, conservation,
désignation de fichiers,
 exécution de
programmes,
création de
nouveaux programmes.
 Qualités attendues :
 efficacité (bonne exploitation des capacités),
 simplicité d'utilisation,
 facilité d'extension par adjonction
 de nouveaux programmes
 de nouveaux périphériques
Système à temps partagé

18
Fonctions d’un système d’ordinateur personnel
+ Gestion des utilisateurs
Espaces de travail, droits d’accès
+ Partage de ressources
Imprimantes, disques, etc.
+ Gestion des communications, informations partagées,
Communication entre utilisateurs.

UN SYSTEME D’EXPLOITATION DOIT

Fournit l’interface usager/machine:

‹ Masque les détails du matériel aux applications

19
‹ Le SE doit donc traiter ces détails
„ Contrôle l’exécution des applications
‹ Le fait en reprenant périodiquement le contrôle de
l’UCT
‹ Dit à l’UCT quand exécuter tel programme
„ Il doit optimiser l`utilisation des ressources pour
maximiser la performance du système

VUE ABSTRAITE D’UN SYSTEME D’EXPLOITATION

20
Contrôle de procédé

Dans une usine de produits chimiques :


synthèse de C à partir de A et de B

21
Contrôle de procédé

Contrôle de procédé

Le système
peut agir sur des organes externes
prend en compte le temps (déclenchements périodiques de
contrôles)
enregistre de l'information : journalisation
Caractéristiques des applications "temps réel"
(Surveillance médicale, robots, missiles, etc.)
Principale qualité attendue : la fiabilité
le système doit avoir un fonctionnement qui corresponde
exactement aux spécifications.
Exemples :
Systèmes de réservation de places dans des trains ou des
avions,
Systèmes d'achat à distance.
Les systèmes à transactions

22
Fonctions :
gère un ensemble d'informations ou une base de données
de taille importante,
exécution d'un certain nombre d'opérations prédéfinies,
ou transactions, portant sur ces informations ;
opérations souvent interactives,
grand nombre de points d'accès et grand nombre de
transactions simultanées .

Les systèmes à transactions

Qualités attendues :
 disponibilité : les temps de réponse doivent
satisfaisants,
 fiabilité,
 robustesse : capacité de tolérer des pannes

23
Important pour la compréhension du
concept de mémoire virtuelle

„ L’UCT ne peut pas accéder à une instruction ou à une donnée que s’ils se
trouvent
En cache dans les ordinateurs où il y a de cache
Ou sinon en mémoire centrale (RAM)

„ Donc ces données doivent être apportées en RAM ou cache au besoin


Protection

„ Plusieurs processus et le S/E partagent la mémoire, exécutant parfois les


mêmes instructions
„ Il faut empêcher que l ’un fasse des choses réservées à l ’autre
„ Il faut les protéger les uns des autres

1
„ Protection d ’instructions
„ Protection de mémoire
Instructions protégées = privilégiées

„ Ne peuvent être exécutées que par le S/E, en mode superviseur Exemples:


‹ Les instructions d’E/S
‹ Instructions pour traiter les registres non-visibles d’UCT
‹ Instructions pour la minuterie
‹ Instructions pour changer les limites de mémoire
‹ Instructions pour changer de mode d’exécution
( superviseur, usager )
„ Le programme usager peut demander au SE que ces opérations soient exécutées, mais
il ne peut pas les exécuter directement
Fonctionnement double mode

„ Un registre d’UCT contient un bit qui dit si l ’UCT exécute


couramment en mode superviseur ou en mode usager

Ch. 6 2
„ ce bit est changé automatiquement à mode superviseur lors d’une
interruption
„ certaines instructions ne peuvent être exécutées que en mode
superviseur (instructions privilégiées):
‹ des tentatives de les exécuter en mode usager causeront une interruption, et retour
à mode superviseur
„ le mode superviseur peut être changé à mode usager par une
instruction privilégiée
„ ces deux modes ont aussi des autres noms, v. livre
Interruptif/fault

Superviseur usager
Set user mode

Protection de mémoire: chaque processus doit rester dans ses propres bornes de mémoire

„ Solution typique: deux registres dans l ’UCT

Ch. 6 3
‹ quand l ’UCT exécute un processus, elle sait quelle est la borne inférieure et supérieure de la zone
de mémoire de ce processus
‹ l’adresse de chaque instruction est comparée à ces deux adresses avant l’exécution
‹ si un processus cherche à dépasser ses limites: interruption

‹ si un processus cherche à dépasser ses limites: interruption

Ch. 6 4
Protection deémoire
m

l’adresse
 de chaque instruction est comparée à ces deux
adresses avant l’exécution
seulement si le processus exécute en mode
si un processus cherche à dépasser ses bornes:
usager

 Interruption  mode superviseur


les instructions
 pour affecter les registres
bornes sont
privilégiées

Ch. 6 5
Appels du système (system calls)

„ Quand un processus usager a besoin d ’un service du SE, par ex. E/S, il exécute un appel du système
„ C’est une instruction qui cause une interruption
( trap) et changement de mode (mode superviseur )
„ Est associée à des paramètres qui indiquent le type de service désiré
„ Le S/E prend la relève et exécute le service, il retourne puis au processus appelant avec des params
qui indiquent le type de résultat
‹ changement de mode (mode usager)

Ch. 6 6
Appels du système

„ L’interface entre un processus et le SE


directement disponibles dans les langages de programmation `bas niveau`
(assembleur, C, C++)
ils sont cachés dans les langages a haut niveau (Java, Ada...)
„ Utilisent des paramètres pour transmettre
la définition exacte des besoins de l ’usager
le résultat de l`appel (successful, unsuccessful...)
Interpréteur de commandes en UNIX

Ch. 6 7
Le command interpreter(shell) peut démarrer et charger différents processus en mémoire,
exécutant des appels de systèmeappropriés (fork, exec). Lire détails dans le livre, aussi v.
sessions exercices.

Ch. 6 8
Deux modèles de communication entre
processus par appels de système

Ch. 6 9
a) transfert de messages entre processus (message passing)
- utilisant le service de messagerie offert par le noyau
b) àtravers mémoire partagée entre processus (sharedmemory)
Messagerie et mémoire partagéé

„ Messagerie:
‹ il faut établir une connexion entre processus (appels de système open
connection, accept connection, close connection, read/send message)
‹ les processus s ’envoient des messages utilisant des identificateurs
préalablement établis
„ Mémoire partagée
‹ il est nécessaire d ’établir une zone de communication entre processus
‹ les processus doivent mutuellement synchroniser leur accès a cette
zone
 Pour ceci, il font appel au SE (Chap. 7)

v. chap. 7: synchro de proc.

Ch. 6 10
Partage de responsabilités entre programmes de systèmes et noyau

„ C’est en partie une décision de conception de SE de décider quelles fonctionnalités


doivent être implémentées dans le kernel, et quelles dans les programmes de
système.

„ Dans l ’évolution des SE il y a eu un transfert de fonctionnalités vers l ’extérieur de


la figure précédente

„ Dans les SE modernes, les programmes de système sont l`interface entre usager et
noyau

Machines virtuelles: le problème et la solution

„ Comment permettre de rouler différents SE sur une seule machine physique?


„ Pas évident, car chaque SE demande accès direct au matériel
Ch. 6 11
„ SOLUTION: Un programme qui crée une couche qui met à disposition plusieurs
machines physiques virtuelles
„ Chaque machine se comporte comme une machine physique séparée
„ Sur chacune, nous pouvons rouler un SE différent
Machines Virtuelles

„ Virtuel en informatique dénote quelque chose qui n ’est pas réel, n ’est pas du matériel:
il est construit par le logiciel sur la base des ressources fournies par le matériel
„ Une machine virtuelle est une machine créée par des couche de logiciel
„ Elle peut avoir des caractéristiques identiques à la machine physique du système:
‹ mêmes instructions, etc.
„ Ou elle peut ‘simuler’ une autre machine physique
‹ p.ex.pour exécuter Microsoft sur Apple
„ Plusieurs machines virtuelles peuvent être créées sur une machine physique donnée!

Ch. 6 12
(a)Une seule mach.ér elle et un seul noyau
(b) plus. mach. virtuelles et plus. noyaux

Ch. 6 13
Fonctionnement typique

„ Le système VM laisse exécuter normalement les instructions non privilégiées


„ Les appels au système sont exécutés par le système VM et les résultats sont passés à la
machine virtuelle sur laquelle le processus exécute

Avantages

„ Chaque machine virtuelle peut utiliser un SE différent!


„ En théorie, on peut bâtir des machines virtuelles sur des machines virtuelles!
Ch. 6 14
„ Protection complète, car les machines virtuelles sont complètement isolées les unes des autres
„ Un nouveau SE peut être développé sur une machine virtuelle sans déranger les autres
Implémentations

Ch. 6 15
Dispatcheur

Le processus qui donne le contrôle au processus choisi par l’ordonnanceur. Il


doit se préoccuper de: changer de contexte changer à mode usager réamorcer le
processus choisi
Attente de dispatcheur (dispatcher latency) le temps nécessaire pour exécuter les fonctions
du dispatcheur
il est souvent négligé, il faut supposer qu’il soit petit par rapport à la longueur d’un cycle

Ch. 6 16
Critè
res d’ordonnancement

Il y aura normalement plusieurs processus dans la file prêt

Quand l’UCT devient disponible, lequel choisir?

Critères généraux:
Bonne utilisation de l’UCT
Réponse rapide à l’usager

Mais ces critères peuvent être jugés différemment...


res spécifiques d’ordonnancement

Utilisation UCT: pourcentage d ’utilisation


Débit = Throughput: nombre de processus qui complètent dans l ’unité de temps
Temps de rotation = turnaround: le temps pris par le proc de son arrivée à sa
termin. Temps d’attente: attente dans la file prêt
Ch. 6 17
Critè
(somme de tout le temps passé en file prêt)
Temps de réponse (pour les systèmes interactifs): le temps entre une demande et la
réponse
res d’ordonnancement: maximiser/minimiser

Utilisation UCT: pourcentage d’utilisation ceci est à maximiser


Débit = Throughput: nombre de processus qui complètent dans l ’unité de
temps ceci est à maximiser
Temps de rotation (turnaround): temps terminaison moins temps
arrivée à minimiser
Temps d’attente: attente dans la file prêt à minimiser
Temps de réponse (pour les systèmes interactifs): le temps entre une demande et la
réponse à minimiser

Ch. 6 18
Examinons maintenant plusieurs méthodes d’ordonnancement et voyons comment
elles se comportent par rapport àces critères

nous étudierons des cas spécifiques


l’étude du cas général demanderait recours àtechniques probabilistes ou de simulation
Premier arrive, premier servi (Firstcome, firstserve, FCFS)

Exemple: Processus Temps de cycle


P1 24
P2 3
P3 3
Siles processusarriventau temps 0 dansl’ordre: P1 , P2 , P3 Le diagrammeGantt est:

P1 P2 P3

0 24 27 30
Ch.3
Temps d’attentepour P1= 0; P2= 24; P3= 27
Temps attentemoyen: (0 + 24 + 27)/3 = 17
Premier arrive, premier servi

Utilisation UCT = 100%


Débit = 3/30 = 0,1
3 processus complétés en 30 unités de temps
Temps de rotation moyen: (24+27+30)/3 = 27

P1 P2 P3

0 24 27 30
Tenir compte du temps d’arrivée!

Ch.3 20
Dans le cas où les processus arrivent à moment différents, il faut soustraire les
temps d’arrivée Exercice: répéter les calculs si:
P1 arrive à temps 0 et dure 24
P2 arrive à temps 2 et dure 3
P3 arrive à temps 5 et dure 3 Donc P1 attend 0
comme avant Mais P2 attend 24-2, etc.

P1 P2 P3

0
24 27 30
arrivée P2
FCFS Scheduling( Cont. )

Ch.3 21
Si les même processus arrive à 0 mais dans l’ordre
P2 , P3 , P1 .
Le diagramme de Gantt est:

P2 P3 P1

0 3 6 30
Temps d’attente pour P1 = 6 P2 = 0 P3 = 3
Temps moyen d’attente: (6 + 0 + 3)/3 = 3 Temps de rotation moyen:
(3+6+30)/3 = 13 Beaucoup mieux!
Donc pour cette technique, les temps peuvent varier
grandement par rapport à l’ordre d’arrivée de différent processus
Ch.3 22
Exercice: calculer aussi le débit, etc.
Supposons un processus tributaire de l’UCT et plusieurs

Ch.3 23

Vous aimerez peut-être aussi