0% ont trouvé ce document utile (0 vote)
10 vues82 pages

cm01 Base

Le document présente le fonctionnement des systèmes d'exploitation, expliquant leur rôle dans la gestion des ressources informatiques et la communication entre le matériel et les logiciels. Il aborde l'évolution historique des systèmes d'exploitation, des traitements par lots à la multiprogrammation et au temps partagé, ainsi que les défis liés à l'isolation des processus et aux interruptions. Enfin, il décrit les mécanismes de communication entre l'OS et le matériel, notamment via des protocoles et des appels système.

Transféré par

سهيلأفيندار
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)
10 vues82 pages

cm01 Base

Le document présente le fonctionnement des systèmes d'exploitation, expliquant leur rôle dans la gestion des ressources informatiques et la communication entre le matériel et les logiciels. Il aborde l'évolution historique des systèmes d'exploitation, des traitements par lots à la multiprogrammation et au temps partagé, ainsi que les défis liés à l'isolation des processus et aux interruptions. Enfin, il décrit les mécanismes de communication entre l'OS et le matériel, notamment via des protocoles et des appels système.

Transféré par

سهيلأفيندار
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

Système d’exploitation

Introduction
Thomas Lavergne
lavergne@[Link]

1
Fonctionnement d’un ordinateur
Qu’est-ce que l’informatique ?

2
Fonctionnement d’un ordinateur
Qu’est-ce que l’informatique ?
La science du traitement automatique de l’informa-
tion.

2
Fonctionnement d’un ordinateur
Qu’est-ce que l’informatique ?
La science du traitement automatique de l’informa-
tion.
Qu’est-ce qu’un ordinateur ?

2
Fonctionnement d’un ordinateur
Qu’est-ce que l’informatique ?
La science du traitement automatique de l’informa-
tion.
Qu’est-ce qu’un ordinateur ?
Une machine pour traiter de l’information :

2
Fonctionnement d’un ordinateur
Qu’est-ce que l’informatique ?
La science du traitement automatique de l’informa-
tion.
Qu’est-ce qu’un ordinateur ?
Une machine pour traiter de l’information :
• On lui donne des instructions

2
Fonctionnement d’un ordinateur
Qu’est-ce que l’informatique ?
La science du traitement automatique de l’informa-
tion.
Qu’est-ce qu’un ordinateur ?
Une machine pour traiter de l’information :
• On lui donne des instructions
• On lui donne des données

2
Fonctionnement d’un ordinateur
Qu’est-ce que l’informatique ?
La science du traitement automatique de l’informa-
tion.
Qu’est-ce qu’un ordinateur ?
Une machine pour traiter de l’information :
• On lui donne des instructions
• On lui donne des données
• Il transforme les données

2
Fonctionnement d’un ordinateur
Qu’est-ce que l’informatique ?
La science du traitement automatique de l’informa-
tion.
Qu’est-ce qu’un ordinateur ?
Une machine pour traiter de l’information :
• On lui donne des instructions
• On lui donne des données
• Il transforme les données

Une calculatrice est-elle un ordinateur ?

2
Fonctionnement d’un ordinateur
Qu’est-ce que l’informatique ?
La science du traitement automatique de l’informa-
tion.
Qu’est-ce qu’un ordinateur ?
Une machine pour traiter de l’information :
• On lui donne des instructions
• On lui donne des données
• Il transforme les données

Une calculatrice est-elle un ordinateur ?


Non: notion de programme !

2
Fonctionnement d’un ordinateur

Composition:
Un processeur

UC

3
Fonctionnement d’un ordinateur

Composition:
Un processeur, de la mémoire

Mémoire

UC

3
Fonctionnement d’un ordinateur

Composition:
Un processeur, de la mémoire, des périphériques

Mémoire

UC
CG USB SATA ···

3
Fonctionnement d’un ordinateur

Composition:
Un processeur, de la mémoire, des périphériques et
un bus

Mémoire

UC
CG USB SATA ···

bus

3
Fonctionnement d’un ordinateur

Composition:
Un processeur, de la mémoire, des périphériques et
un bus pour tout connecter.

Mémoire

UC
CG USB SATA ···

bus

3
Fonctionnement d’un ordinateur
Juste des fils qu’on allume et éteint. . .
Mémoire

UC
CG USB SATA ···

bus

4
Fonctionnement d’un ordinateur
Juste des fils qu’on allume et éteint. . .
Mémoire

UC
CG USB SATA ···

bus

Charger des données depuis le disque :


Envoie d’une commande de chargement au disque

4
Fonctionnement d’un ordinateur
Juste des fils qu’on allume et éteint. . .
Mémoire

UC
CG USB SATA ···

bus

Charger des données depuis le disque :


Transfert du disque vers la mémoire

4
Fonctionnement d’un ordinateur
Juste des fils qu’on allume et éteint. . .
Mémoire

UC
CG USB SATA ···

bus

Charger des données depuis le disque :


Utilisation des données par le processeur

4
Système d’exploitation

Juste des fils qu’on allume et éteint. . .

Il y a bien longtemps. . .
Un opérateur déplaçait des interrupteurs pour ouvrir
et fermer les accès au bus.

5
Système d’exploitation

Juste des fils qu’on allume et éteint. . .

Il y a bien longtemps. . .
Un opérateur déplaçait des interrupteurs pour ouvrir
et fermer les accès au bus.
Peut-on automatiser ces opérations ?

5
Système d’exploitation

Juste des fils qu’on allume et éteint. . .

Il y a bien longtemps. . .
Un opérateur déplaçait des interrupteurs pour ouvrir
et fermer les accès au bus.
Peut-on automatiser ces opérations ?

Système d’exploitation
Un programme qui :
• Décide qui fait quoi à quel moment
• Fait le lien entre applications et materiel

5
Un peu d’histoire

6
1950 : Traîtement par lots

Problème
• Données et programmes → Cartes perforées
• Beaucoup de manipulations par un opérateur

7
1950 : Traîtement par lots

Problème
• Données et programmes → Cartes perforées
• Beaucoup de manipulations par un opérateur

Carte de traîtement
• Ajout de cartes remplacement les manipulations
◦ Lectures ou écritures
◦ Connection au bus
◦ ...

7
1960 : Multiprogrammation
Problème
• Un seul composant utilisé à la fois
• Comment mieux exploiter les ressources ?
Mémoire

UC
CG USB SATA ···

bus

8
1960 : Multiprogrammation
Problème
• Un seul composant utilisé à la fois
• Comment mieux exploiter les ressources ?
Mémoire

UC
CG USB SATA ···

bus

On demande le chargement de données du disque


8
1960 : Multiprogrammation
Problème
• Un seul composant utilisé à la fois
• Comment mieux exploiter les ressources ?
Mémoire

UC
CG USB SATA ···

bus

Pendant la préparation on lit depuis la RAM


8
1960 : Multiprogrammation
Problème
• Un seul composant utilisé à la fois
• Comment mieux exploiter les ressources ?
Mémoire

UC
CG USB SATA ···

bus

Pendant la lecture l’UC calcule


8
1960 : Multiprogrammation
Problème
• Un seul composant utilisé à la fois
• Comment mieux exploiter les ressources ?
Mémoire

UC
CG USB SATA ···

bus

À la fin du calcul, on met en pause pour l’affichage


8
1960 : Multiprogrammation
Problème
• Un seul composant utilisé à la fois
• Comment mieux exploiter les ressources ?
Mémoire

UC
CG USB SATA ···

bus

Puis on reprend
8
1970 : Temps partagé
Problème
• Certains processus processus attendent...
• Certains processus sont simplement très long...
Mémoire

UC
CG USB SATA ···

bus

9
1970 : Temps partagé
Problème
• Certains processus processus attendent...
• Certains processus sont simplement très long...
Mémoire

UC
CG USB SATA ···

bus

Le processus 1 travaille
9
1970 : Temps partagé
Problème
• Certains processus processus attendent...
• Certains processus sont simplement très long...
Mémoire

UC
CG USB SATA ···

bus

L’OS reprend la main


9
1970 : Temps partagé
Problème
• Certains processus processus attendent...
• Certains processus sont simplement très long...
Mémoire

UC
CG USB SATA ···

bus

Pour la donner au processus 2


9
Rôle de l’OS

10
Rôle de l’OS

Décide qui fait quoi à quel moment


Répartit les ressources de manière équitable entre les
processus.

11
Rôle de l’OS

Décide qui fait quoi à quel moment


Répartit les ressources de manière équitable entre les
processus.

Fait le lien entre application et materiel


Permet aux processus d’accéder aux péripheriques et
à ceux-ci d’informer les processus.

11
Rôle de l’OS

Décide qui fait quoi à quel moment


Répartit les ressources de manière équitable entre les
processus.

Fait le lien entre application et materiel


Permet aux processus d’accéder aux péripheriques et
à ceux-ci d’informer les processus.

Isole les processus les un des autres


S’assure qu’un processus ne peut accéder aux don-
nées des autres processus qui s’exécutent en même
temps.

11
Isolation des processus

Comment isoler les processus ?


Les processus sont exécutés avec des droits réduits
dans un mode particulier du processeur.

12
Isolation des processus

Comment isoler les processus ?


Les processus sont exécutés avec des droits réduits
dans un mode particulier du processeur.

L’OS s’exécute en mode superviseur.

12
Isolation des processus

Comment isoler les processus ?


Les processus sont exécutés avec des droits réduits
dans un mode particulier du processeur.

L’OS s’exécute en mode superviseur.

Mode superviseur
Mode du processeur où les opérations ne sont pas
contrôlées :
• accès direct au bus système ;
• accès complet à la mémoire ;
• ...

12
Problèmes

Communication materiel / OS

Communication OS / logiciel

13
Problèmes

Communication materiel / OS
• Comment indiquer au materiel ce qu’il faut faire ?

Communication OS / logiciel

13
Problèmes

Communication materiel / OS
• Comment indiquer au materiel ce qu’il faut faire ?
• Comment le materiel prévient-il l’OS lorsqu’il est
prêt ?

Communication OS / logiciel

13
Problèmes

Communication materiel / OS
• Comment indiquer au materiel ce qu’il faut faire ?
• Comment le materiel prévient-il l’OS lorsqu’il est
prêt ?

Communication OS / logiciel
• Comment indiquer à un processus qu’un éven-
nement ce produit ?

13
Problèmes

Communication materiel / OS
• Comment indiquer au materiel ce qu’il faut faire ?
• Comment le materiel prévient-il l’OS lorsqu’il est
prêt ?

Communication OS / logiciel
• Comment indiquer à un processus qu’un éven-
nement ce produit ?
• Comment soumettre une requête à l’OS ?

13
Bus système

14
Comunication OS ↔ materiel

Le bus permet la comunication avec le système

bus

15
Comunication OS ↔ materiel

Le bus permet la comunication avec le système

bus

Comment communiquer sans problèmes


• À qui sont adressés les messages ?

• Le destinataire est-il prêt à écouter ?

15
Comunication OS ↔ materiel

Le bus permet la comunication avec le système

bus

Comment communiquer sans problèmes


• À qui sont adressés les messages ?
→ Fils d’adresses
• Le destinataire est-il prêt à écouter ?

15
Comunication OS ↔ materiel

Le bus permet la comunication avec le système

bus

Comment communiquer sans problèmes


• À qui sont adressés les messages ?
→ Fils d’adresses
• Le destinataire est-il prêt à écouter ?
→ Protocole poignée de main

15
Composition du bus

Mémoire

UC
CG USB SATA ···

bus d’adresse

bus de données

bus de contrôle

Bus d’adresse
Indique avec qui l’on souhaite communiquer.

16
Composition du bus

Mémoire

UC
CG USB SATA ···

bus d’adresse

bus de données

bus de contrôle

Bus de contrôle
Coordonne la communication.

16
Composition du bus

Mémoire

UC
CG USB SATA ···

bus d’adresse

bus de données

bus de contrôle

Bus de données
Permet le transfert des informations.

16
Protocole poignée de main

Côté périphérique
• Communication gérée par un contrôleur
• Deux bits de contrôle : occupé et commande

Coté OS :

17
Protocole poignée de main

Côté périphérique
• Communication gérée par un contrôleur
• Deux bits de contrôle : occupé et commande

Coté OS :
tant que occupé == 1
attendre

17
Protocole poignée de main

Côté périphérique
• Communication gérée par un contrôleur
• Deux bits de contrôle : occupé et commande

Coté OS :
tant que occupé == 1
attendre
commande = 1

17
Protocole poignée de main

Côté périphérique
• Communication gérée par un contrôleur
• Deux bits de contrôle : occupé et commande

Coté OS :
tant que occupé == 1
attendre
commande = 1
tant que occupé == 0
attendre

17
Protocole poignée de main

Côté périphérique
• Communication gérée par un contrôleur
• Deux bits de contrôle : occupé et commande

Coté OS :
tant que occupé == 1
attendre
commande = 1
tant que occupé == 0
attendre
transfert

17
Interruptions

Comment prévenir l’OS que l’on a besoin de lui ?

Problème
L’OS à rarement la main, l’UC exécute les processus
le plus souvent.

18
Interruptions

Comment prévenir l’OS que l’on a besoin de lui ?

Problème
L’OS à rarement la main, l’UC exécute les processus
le plus souvent.

Notion d’interruption (IRQ)

18
Interruptions

Comment prévenir l’OS que l’on a besoin de lui ?

Problème
L’OS à rarement la main, l’UC exécute les processus
le plus souvent.

Notion d’interruption (IRQ)

Principe
• Code envoyé sur le bus pour prévenir l’UC
• L’UC interrompt le processus courant
• Puis donne la main à l’OS

18
Interruptions
Au démarrage :
Configuration par l’OS des routines d’interruptions.

19
Interruptions
Au démarrage :
Configuration par l’OS des routines d’interruptions.

Traitement par l’UC


• Réception d’un code d’interruption
• Mise en pause du processus courant
◦ Sauvegarde du pointeur de code
◦ Sauvegarde des registres
• Passage en mode superviseur
• Appel de la routine d’interruption

19
Interruptions
Au démarrage :
Configuration par l’OS des routines d’interruptions.

Traitement par l’UC


• Réception d’un code d’interruption
• Mise en pause du processus courant
◦ Sauvegarde du pointeur de code
◦ Sauvegarde des registres
• Passage en mode superviseur
• Appel de la routine d’interruption
Exemples :
Fin d’E/S, touches clavier, paquet réseau...
19
Interface logicielle

20
Appels système

Comment prévenir l’OS que l’on a besoin de lui ?

Problème
Les applications sont isolées de l’OS par sécuritée.

21
Appels système

Comment prévenir l’OS que l’on a besoin de lui ?

Problème
Les applications sont isolées de l’OS par sécuritée.

Notion d’exception

21
Appels système

Comment prévenir l’OS que l’on a besoin de lui ?

Problème
Les applications sont isolées de l’OS par sécuritée.

Notion d’exception

Principe
• Interruption déclenchée par le logiciel
• Passage de commande et de paramètres
• Similaire à un appel de fonction

21
Appels système

Définition
Ensemble des commandes offerte par le système aux
applications.

22
Appels système

Définition
Ensemble des commandes offerte par le système aux
applications.

Exemples
• Contrôle de processus Création et terminaison...
• Gestion de la mémoire Allocation , libération...
• Gestion des fichiers Création, accès, droits...
• Informations système Date, heure...
• ...

22
Signaux

Comment l’OS peut-il informer les applications ?

Problème
L’OS peut avoir besoin d’une réponse rapide à n’im-
porte quel moment.

23
Signaux

Comment l’OS peut-il informer les applications ?

Problème
L’OS peut avoir besoin d’une réponse rapide à n’im-
porte quel moment.

Notion de signal

23
Signaux

Comment l’OS peut-il informer les applications ?

Problème
L’OS peut avoir besoin d’une réponse rapide à n’im-
porte quel moment.

Notion de signal

Principe
• Définition de fonctions de réaction
• Interruption du processus et appel des fonctions

23
Signaux

Comment l’OS peut-il informer les applications ?

Problème
L’OS peut avoir besoin d’une réponse rapide à n’im-
porte quel moment.

Notion de signal

Principe
• Définition de fonctions de réaction
• Interruption du processus et appel des fonctions
• Très limité en pratique

23
Signaux

Gestionnaire de signaux :
void fonction(int sig);

24
Signaux

Gestionnaire de signaux :
void fonction(int sig);

Enregistrement :
signal(SIGINT, fonction);

24
Signaux

Gestionnaire de signaux :
void fonction(int sig);

Enregistrement :
signal(SIGINT, fonction);

Exemples
• SIGINT : Arrêt demandé via Ctrl-C
• SIGFPE : Erreur de calcul (division par zéro...)
• SIGSEGV : Accès mémoire invalide
• ...

24
Conclusion

25
Démarrage de l’OS

Démarrage du materiel
• Exécution de code depuis une ROM
• Initialisation des contrôleurs
• Initialisation de la RAM
• Bascule vers l’OS

26
Démarrage de l’OS

Démarrage du materiel
• Exécution de code depuis une ROM
• Initialisation des contrôleurs
• Initialisation de la RAM
• Bascule vers l’OS

Démarrage du système
• Initialisation de la MMU
• Initialisation des interruptions
• Lancement des processus de l’OS

26

Vous aimerez peut-être aussi