0% ont trouvé ce document utile (0 vote)
31 vues25 pages

PartieA Systeme Exploitation

Transféré par

illaykm
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
31 vues25 pages

PartieA Systeme Exploitation

Transféré par

illaykm
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Architecture et Systèmes 1

Partie 3A : Introduction aux systèmes


d’exploitation

Karim Bigou
Bureau LC 119C
[email protected]
Plan de la partie

• Introduction aux systèmes d’exploitation


• Les processus
• leur structure
• l’exclusion mutuelle
• les communications entre processus

2
Plan de la section

C’est quoi un OS ?

Les rôles d’un OS

Différents types d’OS

3
C’est quoi un OS ?
Préambule

Dans ce cours, nous :

• décrirons le fonctionnement d’un système


d’exploitation dans un contexte mono-processeur et
multi-tâches
• apprendrons à manipuler certains concepts de base

Nous manipulerons ces concepts de base via le système


d’exploitation Linux, en utilisant les bibliothèques
système en C (appels POSIX).

4
Vue globale
2. QU’EST-CE QU’UN SYSTEME D’EXPLOITATION (1)

Pour fonctionner, un ordinateur


dispose :
 Un ordinateur est constitué : Utilisateur 1 Utilisateur 2 … Utilisateur N

• d’une partie matérielle


1. Du matériel
• dispositifs physiques
 Dispositifs physiques
Compilateur Editeur
Applications
Base de données

• contrôlable
 Langagegrâce
machineau Système d’exploitation

langage
2. D’unmachine
système d’exploitation
Matériel
3. De programmes
• d’un système d’exploitation
 Programmes système
 Programmes d’applications

• de programmes d’applications

Partie 1 : Introduction 5

5
Le matériel

Le matériel (Hardware) : les dispositifs physiques


constituent la couche la plus ”basse”

• les processeurs
• la mémoire principale
• les disques
• les imprimantes
• interfaces de connexion réseau
• ...

6
Le système d’exploitation
Le système d’exploitation (Operating System ou OS) : il est le
plus important des programmes systèmes
• il contrôle les ressources matérielles de l’ordinateur
• il libère le programmeur de la complexité du matériel

Il se compose :
• d’un noyau (kernel) : c’est la partie la plus critique du
système d’exploitation. Il permet aux éléments matériels
et logiciels de communiquer entre eux, de fonctionner
ensemble et de former un tout. Pour ces raisons, il est le
premier logiciel chargé en mémoire.

• d’outils système : cela permet à l’utilisateur de tirer profit


de l’OS, de gérer les périphériques, les configurer. Ils
7
fournissent une interface d’accès au système.
Les applications

Les programmes permettent de répondre à des


besoins/problèmes spécifiques comme :

• compresser/décompresser un flux vidéo


• effectuer un chiffrement des données
• réaliser des calculs scientifiques
• etc

8
Les rôles d’un OS
Les 2 rôles principaux du système d’exploitation

• Un système d’exploitation remplit principalement 2


rôles, qui ne sont pas forcément liés :
• il peut jouer le rôle de machine étendue/virtuelle,
une couche d’abstraction plus facile d’emploi que le
véritable matériel
• ou de gestionnaire de ressources (mémoire, temps
processeur, réseau ...)
• Exemples d’OS : GNU/Linux, Mac OS, Windows 10,
Android
Remarque : GNU/Linux, Mac OS, iOS et Android sont des
variantes d’UNIX et sont compatibles (ou en grande
partie compatibles) avec les appels POSIX
9
Le rôle de machine étendue

• L’ OS correspond à l’interface entre matériel et


application
• De ce point de vue, l’OS peut être vue comme une
machine étendue (ou virtuelle) plus facile à
programmer ou à utiliser que le matériel
directement :
• Un programmeur va utiliser l’OS via des appels
systèmes
• Un utilisateur peut aussi manipuler un système
d’exploitation via les commandes (shell sous Unix).
Exemple : copie d’un fichier sur un disque dur, une clé
USB ou une carte SD (même opération pour des objets et
connexions physiques différents)
10
Le rôle de gestionnaire de ressources

• Les différents composants d’un ordinateur doivent


coopérer et partager des ressources
• en particulier, l’OS doit :
• ordonnancer
• contrôler l’accès aux ressources :
• processeurs
• mémoires
• périphériques d’entrées/sorties
• ...

11
3.2 En tant: que
Exemple gestionnaire
gestion de ressources (2)
de l’impression

Exemple : Gestion des impressions

Edition
Fic1 SPOOL
Impression

Fic2 Fic1
Edition
Fic2
Imprimante

Partie 1 : Introduction 12
Le rôle de gestionnaire de ressources

• Pour chacune des différentes ressources, l’OS doit


• connaître à tout moment l’utilisateur de la ressource
• accorder l’usage de la ressource de manière
équitable
• éviter les conflits d’accès entre les programmes, ou
les utilisateurs
• Les deux tâches essentielles de l’OS dans le rôle de
gestionnaire sont :
• le partage des ressources
• la protection de leur accès

13
Un exemple

int main(){
int val,*p1, *p2=malloc(sizeof(int));
val = 5;
*p1= 3 * val;
*p2=3*val;
return EXIT_SUCCESS;
}
• Que se passe-t-il lors de l’execution de ce
programme ?

14
Un exemple

int main(){
int val,*p1, *p2=malloc(sizeof(int));
val = 5;
*p1= 3 * val;
*p2=3*val;
return EXIT_SUCCESS;
}
• Que se passe-t-il lors de l’execution de ce
programme ?
• Les 2 rôles sont présents dans cet exemple :
• machine étendue : la mémoire est allouée
facilement à l’éxecution
• gestionnaire de ressources : l’accès a *p n’est pas
14
autorisé
Les fonctions de base d’un OS

• La gestion des processus


• qui correspond à l’exécution des programmes
• La gestion de la mémoire
• qui permet de gérer les transferts entre les
mémoires principale et secondaire
• Le système de fichiers
• qui offre à l’utilisateur une vision homogène et
structurée des données et des ressources : disques,
périphériques
• Les entrées-sorties
• qui correspondent aux mécanismes qu’utilisent les
processus pour communiquer avec l’extérieur

Autres fonctions : réseau, interface graphique ...


15
Différents types d’OS
Différents types de systèmes d’exploitation

• Différents types de système d’exploitation :


• Monolithiques
• Modulaire / Multicouches
• Micronoyaux
• Machine virtuelle
• Le noyau est en général exécuté dans un espace
mémoire appelé espace noyau, qui est séparé de
l’espace des applications : espace utilisateur.
• Le passage entre espace noyau et espace utilisateurs
se fait grâce aux appels systèmes
• Intérêt : le système ne plante pas si une application
plante

16
OS Monolithiques
OS Monolithiques
• L’ensemble des
 Un seul bloc contenant
services
l’ensemble des systèmes
services
dans un seul
système (mode noyau). bloc Application Application Application
(mode noyau)
 Facilité de conception
• Facilité de conception
 Performance peut être au service
service
service service

• Bonnes performances
Système
RDV … service
service
service
service
d’exploitation

 Codepossibles ...
dur à maintenir
 • mais
Usine à gazcode
!! dur à Matériel
maintenir
 Dos, très vieux UNIX et
• exetc.
Linux, : vieux DOS, vieux
UNIX etc ..
Partie 1 : Introduction 17
17
OSOSMulticouches
Multicouches

 • OS organisé
OS organisé en
en hiérarchie de
hiérarchie
couches. Chacunedeconstruite
Application Application Application
sur la base des services offerts
couches, chaque
par la couche inférieure.
couche se basant sur
 Facilité de conception et de
la précédente.
développement
service service

 Code• plus
Facilité de conception
organisé et service
maintenable.
et développement Système
d’exploitation
 Chargement des service service
• en particulier
fonctionnalités code
à la demande
Linux, plus
BSD,maintenable
service service service
 SOLARIS
• Chargement de
fonctionnalités à la Matériel
demande Partie 1 : Introduction 18

• Linux, BSD, Solaris 18


OS Micronoyaux

OS• Micronoyau
Déplace plusieurs fonctions de l’OS vers des «
processus serveur » s’exécutant en mode

utilisateur
Déplace : on réduit
plusieurs fonctions au des
de l’OS vers maximum
« processusla taille
serveur du code
» s’exécutant en
mode utilisateur  réduction au maximum de la taille du code privilégié (en mode
privilégié (en mode noyau)
noyau).
But: gérer les communications entre applications et serveurs pour:
• Renforcer
Le micronoyau est en charge des communications

 la politique de sécurité
 applications/processus
Permettre (donc
l’exécution de fonctions système très
(accès sollicité)
aux registres d’E/S, etc.).
 Fiabilité augmentée: si un processus serveur « crash », le système continue à
• fiabilité
fonctionner augmentée
et il est : si un
possible de relancer processus
ce service serveur crashe,
sans redémarrer.

on peut le relancer sans redémarrer
Modèle facilement étendu à des systèmes distribués
 MAC OS X, GNU HURD, WindowsNT
• exemples : GNU Hurd, L4, macOS
Processus Processus Processus Serveur de Serveur de Serveur de
Mode utilisateur
client client serveur terminaux fichiers mémoire

Micronoyau Mode noyau

Partie 1 : Introduction Source: « Systèmes


d’exploitation », Andrew
19 19
Tanenbaum, 2ème édition, Pearson
OS Machine Virtuelle
OS Machine
• Permet virtuelle
de mettre
plusieurs OS sur une
 Possibilité de mettre
machine physique
plusieurs OS sur une

Machine Virtuelle
Application Application Application Application

• Un moniteur
machine de
physique. Système Système

 machine virtuelle d’exploitation d’exploitation


Le moniteur de machine invité invité

(hyperviseur) intercepte
virtuelle (hyperviseur)
les instructionsinstructions
intercepte les Moniteur de machine virtuelle
privilégiéesenvoyées
privilégiés envoyées par
par
l’OS invité, les vérifie Système d’exploitation hôte
l’OS invité les vérifie
(politique de sécurité) et les
(politique
exécute. de sécurité)
Couche matériel

et les exécute.
 XEN, VMWare, QEMU, etc.
• VMWare, VirtualBox,
Partie 1 : Introduction 21
QEMU etc 20
Autres classifications
• OS temps partagé :
• garantit le partage équitable du temps processeur et
des ressources
• dans le but de réduire le temps de réponse moyen
• OS temps réel : garantit les temps de réponse
• Systèmes à contraintes souples : acceptent des
petites variations de temps de réponse (ex :
multimédias)
• Systèmes à contraintes dures : gestion stricte du
temps pour conserver l’intégrité du système
• OS embarqué : fonctionne sur une machine à
l’autonomie limitée : sondes spatiales, robots,
ordinateurs de bord
• gestion avancée de l’énergie
21
• ressources limitées

Vous aimerez peut-être aussi