Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Systemes d’Exploitation
Cours 1/13 : Introduction
Thomas Lavergne & Nicolas Sabouret
Universite Paris-Sud
Licence 3 - semestre S5
http://perso.limsi.fr/lavergne/info-32b
Info32b Systemes d’Exploitation Thomas Lavergne 1/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Objectifs du cours Plan du cours
Plan
1 IntroductionObjectifs du coursPlan du cours
2 Qu’est-ce qu’un systeme d’exploitation
3 Fonctionnement d’un OS
4 Appels systeme
5 Conclusion
Info32b Systemes d’Exploitation Thomas Lavergne 2/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Objectifs du cours Plan du cours
Objectifs du cours
Systeme d’exploitation
Qu’est-ce qu’un systeme d’exploitation
Comment sont geres les processus
Comment est geree la memoire
Comment sont stockees les donnees
Principaux algorithmes utilises dans un OS
Competences acquises a l’issu du cours
Comprehension du fonctionnement d’un systeme informatique
Resolution de problemes de gestion de processus
Manipulation du shell Unix
Programmation systeme de base en C
Info32b Systemes d’Exploitation Thomas Lavergne 3/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Objectifs du cours Plan du cours
Objectifs du cours
Systeme d’exploitation
Qu’est-ce qu’un systeme d’exploitation
Comment sont geres les processus
Comment est geree la memoire
Comment sont stockees les donnees
Principaux algorithmes utilises dans un OS
Competences acquises a l’issu du cours
Comprehension du fonctionnement d’un systeme informatique
Resolution de problemes de gestion de processus
Manipulation du shell Unix
Programmation systeme de base en C
Info32b Systemes d’Exploitation Thomas Lavergne 3/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Objectifs du cours Plan du cours
Organisation
13 seances de cours (lundi 13h30-15h00)
13 seances de TD ou TP en salle machine
Lundi apres-midi et mardi matin
Alternance de TD (examen) et de TP (pratique)Manipulation Unix et CReleves et notesPortables persos : seulement si vous gerez tout(e) seul(e) !
Installer GCC, shell BASHWindows → Cygwin ou VM Linux pour le shell UnixSinon, vous avez tous un compte UPSUD donc acces auxmachines PUIO...
Question de cours indiquees dans les sujets de TD
Aide pour les revisionsReprises au debut du cours suivantPreparez vos questions !
Info32b Systemes d’Exploitation Thomas Lavergne 4/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Objectifs du cours Plan du cours
Organisation
13 seances de cours (lundi 13h30-15h00)
13 seances de TD ou TP en salle machine
Lundi apres-midi et mardi matinAlternance de TD (examen) et de TP (pratique)Manipulation Unix et CReleves et notes
Portables persos : seulement si vous gerez tout(e) seul(e) !
Installer GCC, shell BASHWindows → Cygwin ou VM Linux pour le shell UnixSinon, vous avez tous un compte UPSUD donc acces auxmachines PUIO...
Question de cours indiquees dans les sujets de TD
Aide pour les revisionsReprises au debut du cours suivantPreparez vos questions !
Info32b Systemes d’Exploitation Thomas Lavergne 4/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Objectifs du cours Plan du cours
Organisation
13 seances de cours (lundi 13h30-15h00)
13 seances de TD ou TP en salle machine
Lundi apres-midi et mardi matinAlternance de TD (examen) et de TP (pratique)Manipulation Unix et CReleves et notesPortables persos : seulement si vous gerez tout(e) seul(e) !
Installer GCC, shell BASHWindows → Cygwin ou VM Linux pour le shell UnixSinon, vous avez tous un compte UPSUD donc acces auxmachines PUIO...
Question de cours indiquees dans les sujets de TD
Aide pour les revisionsReprises au debut du cours suivantPreparez vos questions !
Info32b Systemes d’Exploitation Thomas Lavergne 4/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Objectifs du cours Plan du cours
Organisation
13 seances de cours (lundi 13h30-15h00)
13 seances de TD ou TP en salle machine
Lundi apres-midi et mardi matinAlternance de TD (examen) et de TP (pratique)Manipulation Unix et CReleves et notesPortables persos : seulement si vous gerez tout(e) seul(e) !
Installer GCC, shell BASHWindows → Cygwin ou VM Linux pour le shell UnixSinon, vous avez tous un compte UPSUD donc acces auxmachines PUIO...
Question de cours indiquees dans les sujets de TD
Aide pour les revisionsReprises au debut du cours suivantPreparez vos questions !
Info32b Systemes d’Exploitation Thomas Lavergne 4/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Objectifs du cours Plan du cours
Evaluation
Notes de TD → 20% note finale
Etablies par charges de TDAu moins 2 sujets releves dans l’annee
Partiel → 20% note finale
Exercices type TDQuelques questions de coursPas de programmation
Examen final → 60% note finale
2e session → max (note examen 2e session, note finale 1eresession)
Info32b Systemes d’Exploitation Thomas Lavergne 5/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Objectifs du cours Plan du cours
Evaluation
Notes de TD → 20% note finale
Etablies par charges de TDAu moins 2 sujets releves dans l’annee
Partiel → 20% note finale
Exercices type TDQuelques questions de coursPas de programmation
Examen final → 60% note finale
2e session → max (note examen 2e session, note finale 1eresession)
Info32b Systemes d’Exploitation Thomas Lavergne 5/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Objectifs du cours Plan du cours
Pourquoi il faut venir en cours
Parce que vous respectez le travail des autres
Parce que nous ne verrons pas tout en TD
Parce que vous etes bon citoyen
1 etudiant L3 ' 11 000 € par an
Parce que vous voulez avoir votre UE
Statistiques 2016-2017
75,56% des etudiants qui sont venus a au moins 7 cours sur10 ont eu l’UE
contre 38,10% pour les autres. . .
Info32b Systemes d’Exploitation Thomas Lavergne 6/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Objectifs du cours Plan du cours
Pourquoi il faut venir en cours
Parce que vous respectez le travail des autres
Il a fallu plus d’un mois pour preparer les transparents
Nous faisons tout pour que vous reussisiez
Parce que nous ne verrons pas tout en TD
Parce que vous etes bon citoyen
1 etudiant L3 ' 11 000 € par an
Parce que vous voulez avoir votre UE
Statistiques 2016-2017
75,56% des etudiants qui sont venus a au moins 7 cours sur10 ont eu l’UE
contre 38,10% pour les autres. . .
Info32b Systemes d’Exploitation Thomas Lavergne 6/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Objectifs du cours Plan du cours
Pourquoi il faut venir en cours
Parce que vous respectez le travail des autres
Parce que nous ne verrons pas tout en TD
1h30 cours pour 2h TD → impossible de faire des rappels !
Questions de cours a l’examen
Parce que vous etes bon citoyen
1 etudiant L3 ' 11 000 € par an
Parce que vous voulez avoir votre UE
Statistiques 2016-2017
75,56% des etudiants qui sont venus a au moins 7 cours sur10 ont eu l’UE
contre 38,10% pour les autres. . .
Info32b Systemes d’Exploitation Thomas Lavergne 6/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Objectifs du cours Plan du cours
Pourquoi il faut venir en cours
Parce que vous respectez le travail des autres
Parce que nous ne verrons pas tout en TD
Parce que vous etes bon citoyen
1 etudiant L3 ' 11 000 € par an
Parce que vous voulez avoir votre UE
Statistiques 2016-2017
75,56% des etudiants qui sont venus a au moins 7 cours sur10 ont eu l’UE
contre 38,10% pour les autres. . .
Info32b Systemes d’Exploitation Thomas Lavergne 6/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Objectifs du cours Plan du cours
Pourquoi il faut venir en cours
Parce que vous respectez le travail des autres
Parce que nous ne verrons pas tout en TD
Parce que vous etes bon citoyen
1 etudiant L3 ' 11 000 € par an
Parce que vous voulez avoir votre UE
Statistiques 2016-2017
75,56% des etudiants qui sont venus a au moins 7 cours sur10 ont eu l’UE
contre 38,10% pour les autres. . .
Info32b Systemes d’Exploitation Thomas Lavergne 6/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Objectifs du cours Plan du cours
Plan du cours
Processus
Cycle de vie d’un processus
Ordonnancement
Synchronisation et programmation concurrente
Memoire
Problemes d’allocation memoire
Memoire paginee, memoire virtuelle, memoire segmentee
Fichiers
Systemes de fichiers
Supports physiques (disques)
Info32b Systemes d’Exploitation Thomas Lavergne 7/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Objectifs du cours Plan du cours
Bibliographie
Support du cours
Silberschatz et al., 2004. Principes des systemes d’exploitationavec Java. Ed. Vuibert (2008)
Les � bibles � des SE
Tanenbaum, 2001. Modern Operating Systems. Ed. PrenticeHall
Stallings, 2000. Operating Systems. Ed. Prentice Hall
Nutt, 2000. Operating Systems : a modern perspective. Ed.Addison-Wesley
Info32b Systemes d’Exploitation Thomas Lavergne 8/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Plan
1 Introduction
2 Qu’est-ce qu’un systeme d’exploitationDefinitionUn peu d’histoire
3 Fonctionnement d’un OS
4 Appels systeme
5 Conclusion
Info32b Systemes d’Exploitation Thomas Lavergne 9/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation
Qu’est-ce que l’informatique
La science du traitement automatique de l’information
Qu’est-ce qu’un ordinateur
Une machine pour traiter de l’information
On lui donne des instructions (un programme)
On lui donne des donnees (information)
Il transforme les donnees
Une machine a calculer est-elle un ordinateur ?
→ Notion de programme !
Info32b Systemes d’Exploitation Thomas Lavergne 10/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation
Qu’est-ce que l’informatique
La science du traitement automatique de l’information
Qu’est-ce qu’un ordinateur
Une machine pour traiter de l’information
On lui donne des instructions (un programme)
On lui donne des donnees (information)
Il transforme les donnees
Une machine a calculer est-elle un ordinateur ?
→ Notion de programme !
Info32b Systemes d’Exploitation Thomas Lavergne 10/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation
Qu’est-ce que l’informatique
La science du traitement automatique de l’information
Qu’est-ce qu’un ordinateur
Une machine pour traiter de l’information
On lui donne des instructions (un programme)
On lui donne des donnees (information)
Il transforme les donnees
Une machine a calculer est-elle un ordinateur ?
→ Notion de programme !
Info32b Systemes d’Exploitation Thomas Lavergne 10/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation
Qu’est-ce que l’informatique
La science du traitement automatique de l’information
Qu’est-ce qu’un ordinateur
Une machine pour traiter de l’information
On lui donne des instructions (un programme)
On lui donne des donnees (information)
Il transforme les donnees
Une machine a calculer est-elle un ordinateur ?
→ Notion de programme !
Info32b Systemes d’Exploitation Thomas Lavergne 10/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation
Qu’est-ce que l’informatique
La science du traitement automatique de l’information
Qu’est-ce qu’un ordinateur
Une machine pour traiter de l’information
On lui donne des instructions (un programme)
On lui donne des donnees (information)
Il transforme les donnees
Une machine a calculer est-elle un ordinateur ?
→ Notion de programme !
Info32b Systemes d’Exploitation Thomas Lavergne 10/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation II
Comment fonctionne un ordinateur
Un microprocesseur : ALU + registres + code operation →resultat
Une RAM : stockage de donnees
Un BUS pour faire le lien
D’autres peripheriques. . .
CPU
RAM
BUS
Ecran DisqueClavier, Souris
Info32b Systemes d’Exploitation Thomas Lavergne 11/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation II
Comment fonctionne un ordinateur
Un microprocesseur : ALU + registres + code operation →resultat
Une RAM : stockage de donnees
Un BUS pour faire le lien
D’autres peripheriques. . .
CPU
RAM
BUS
Ecran DisqueClavier, Souris
Info32b Systemes d’Exploitation Thomas Lavergne 11/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation II
Comment fonctionne un ordinateur
Un microprocesseur : ALU + registres + code operation →resultat
Une RAM : stockage de donnees
Un BUS pour faire le lien
D’autres peripheriques. . .
CPU
RAM
BUS
Ecran DisqueClavier, Souris
Info32b Systemes d’Exploitation Thomas Lavergne 11/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation II
Comment fonctionne un ordinateur
Un microprocesseur : ALU + registres + code operation →resultat
Une RAM : stockage de donnees
Un BUS pour faire le lien
D’autres peripheriques. . .
CPU
RAM
BUS
Ecran DisqueClavier, Souris
Info32b Systemes d’Exploitation Thomas Lavergne 11/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation II
Comment fonctionne un ordinateur
Un microprocesseur : ALU + registres + code operation →resultat
Une RAM : stockage de donnees
Un BUS pour faire le lien
D’autres peripheriques. . .
CPU
RAM
BUS
Ecran DisqueClavier, Souris
Info32b Systemes d’Exploitation Thomas Lavergne 11/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation II
Comment fonctionne un ordinateur
Tout cela n’est que des fils electriques. . .. . . qu’on allume et qu’on eteint.
CPU
RAM
BUS
Ecran DisqueClavier, Souris
Info32b Systemes d’Exploitation Thomas Lavergne 12/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation II
Comment fonctionne un ordinateur
Tout cela n’est que des fils electriques. . .. . . qu’on allume et qu’on eteint.
CPU
RAM
BUS
Ecran DisqueClavier, Souris
Un calcul de base
CPU
Info32b Systemes d’Exploitation Thomas Lavergne 12/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation II
Comment fonctionne un ordinateur
Tout cela n’est que des fils electriques. . .. . . qu’on allume et qu’on eteint.
CPU
RAM
BUS
Ecran DisqueClavier, Souris
Un calcul de base
CPU
Info32b Systemes d’Exploitation Thomas Lavergne 12/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation II
Comment fonctionne un ordinateur
Tout cela n’est que des fils electriques. . .. . . qu’on allume et qu’on eteint.
CPU
RAM
BUS
Ecran DisqueClavier, Souris
Un calcul de base
CPU
Info32b Systemes d’Exploitation Thomas Lavergne 12/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation II
Comment fonctionne un ordinateur
Tout cela n’est que des fils electriques. . .. . . qu’on allume et qu’on eteint.
CPU
RAM
BUS
Ecran DisqueClavier, Souris
Info32b Systemes d’Exploitation Thomas Lavergne 12/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation II
Comment fonctionne un ordinateur
Tout cela n’est que des fils electriques. . .. . . qu’on allume et qu’on eteint.
CPU
RAM
BUS
Ecran DisqueClavier, Souris
Charger des donnees
CPU
Info32b Systemes d’Exploitation Thomas Lavergne 12/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation II
Comment fonctionne un ordinateur
Tout cela n’est que des fils electriques. . .. . . qu’on allume et qu’on eteint.
CPU
RAM
BUS
Ecran DisqueClavier, Souris
Charger des donnees
Info32b Systemes d’Exploitation Thomas Lavergne 12/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation II
Comment fonctionne un ordinateur
Tout cela n’est que des fils electriques. . .. . . qu’on allume et qu’on eteint.
CPU
RAM
BUS
Ecran DisqueClavier, Souris
Charger des donnees
Info32b Systemes d’Exploitation Thomas Lavergne 12/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation II
Comment fonctionne un ordinateur
Tout cela n’est que des fils electriques. . .. . . qu’on allume et qu’on eteint.
CPU
RAM
BUS
Ecran DisqueClavier, Souris
Info32b Systemes d’Exploitation Thomas Lavergne 12/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation II
Comment fonctionne un ordinateur
Tout cela n’est que des fils electriques. . .. . . qu’on allume et qu’on eteint.
CPU
RAM
BUS
Ecran DisqueClavier, Souris
Gerer des Entrees/Sorties
CPU
Info32b Systemes d’Exploitation Thomas Lavergne 12/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation II
Comment fonctionne un ordinateur
Tout cela n’est que des fils electriques. . .. . . qu’on allume et qu’on eteint.
CPU
RAM
BUS
Ecran DisqueClavier, Souris
Gerer des Entrees/Sorties
CPU
Info32b Systemes d’Exploitation Thomas Lavergne 12/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation II
Comment fonctionne un ordinateur
Tout cela n’est que des fils electriques. . .. . . qu’on allume et qu’on eteint.
CPU
RAM
BUS
Ecran DisqueClavier, Souris
Gerer des Entrees/Sorties
CPU
Info32b Systemes d’Exploitation Thomas Lavergne 12/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation II
Comment fonctionne un ordinateur
Tout cela n’est que des fils electriques. . .. . . qu’on allume et qu’on eteint.
CPU
RAM
BUS
Ecran DisqueClavier, Souris
Gerer des Entrees/Sorties
CPU
Info32b Systemes d’Exploitation Thomas Lavergne 12/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation II
Comment fonctionne un ordinateur
Tout cela n’est que des fils electriques. . .. . . qu’on allume et qu’on eteint.
Autrefois
Un operateur deplacait des interrupteurs pour ouvrir/fermer lesacces au bus→ peut-on aussi automatiser ces operations ?
Systeme d’exploitation
Ecrire un programme qui :
Decide qui fait quoi a quel moment
Fait le lien entre les applications et le materiel physique
Info32b Systemes d’Exploitation Thomas Lavergne 13/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation II
Comment fonctionne un ordinateur
Tout cela n’est que des fils electriques. . .. . . qu’on allume et qu’on eteint.
Autrefois
Un operateur deplacait des interrupteurs pour ouvrir/fermer lesacces au bus→ peut-on aussi automatiser ces operations ?
Systeme d’exploitation
Ecrire un programme qui :
Decide qui fait quoi a quel moment
Fait le lien entre les applications et le materiel physique
Info32b Systemes d’Exploitation Thomas Lavergne 13/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systeme d’exploitation III
Definition
Un systeme d’exploitation est un programme (ou un ensemble deprogrammes) qui :
Gere la partie materielle
Sert de socle pour les applications
→ C’est l’intermediaire entre les applications (l’utilisateur) et lemateriel (l’ordinateur)
Info32b Systemes d’Exploitation Thomas Lavergne 14/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Portee du cours
Applications Navigateur, email, traitementde texte, musique, jeux. . .
Intergiciel (middleware) J2EE, .Net. . .
Systeme de communication TCP, UDP, IP. . .
S.E. S.E. S.E.
Ordinateur Ordinateur Ordinateur Instructions machine
ReseauTransfert de bits, systemephysique
Source : S. Krakowiak
Info32b
Log
icie
lsM
ater
iel
Systeme d’Exploitation
Le systeme d’exploitation (Operating System en anglais) fait le lienentre le materiel et les logiciels.
Info32b Systemes d’Exploitation Thomas Lavergne 15/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Le traitement par lot
1950 1960 1970 1980 1990 2000 2010
Batchs
Info32b Systemes d’Exploitation Thomas Lavergne 16/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Le traitement par lot
1950 1960 1970 1980 1990 2000 2010
Batchs
Probleme
Donnees + programme = fiches perforees (blanche)
1 tache = 1 manipulation (par un operateur humain)
→ Configuration de l’ordinateur pour la tache
Chargement des donneesChargement du programmeExecutionEcriture des sorties sur l’imprimanteetc
→ Automatiser les changements de tache
Info32b Systemes d’Exploitation Thomas Lavergne 16/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Le traitement par lot
1950 1960 1970 1980 1990 2000 2010
Batchs
Fiche de traitement par lot (batch)
Decrire les operations de manipulation dans une fiche perforee(rouge)
Chargement des donnees
Chargement du programme
Execution
Ecriture des sorties sur l’imprimante
etc
→ L’operateur insere toutes les fiches (en lot)
Info32b Systemes d’Exploitation Thomas Lavergne 16/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Multiprogrammation
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
Probleme
Un seul composant de l’ordinateur utilise a la fois
→ on pourrait utiliser en parallele le disque, l’imprimante, leprocesseur...
a condition de munir chacun d’une petite RAM locale (cache)
Info32b Systemes d’Exploitation Thomas Lavergne 17/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Multiprogrammation
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
CPU
RAM
BUS
Ecran DisqueClavier, Souris
CPU
On commence a charger lesdonnees du disque
Info32b Systemes d’Exploitation Thomas Lavergne 17/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Multiprogrammation
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
CPU
RAM
BUS
Ecran DisqueClavier, Souris
CPU
Pendant que le disque tourne,on charge des donnees de laRAM
Info32b Systemes d’Exploitation Thomas Lavergne 17/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Multiprogrammation
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
CPU
RAM
BUS
Ecran DisqueClavier, Souris
CPU
Pendant que le disque et laRAM communiquent, le proces-seur calcule
Info32b Systemes d’Exploitation Thomas Lavergne 17/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Multiprogrammation
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
CPU
RAM
BUS
Ecran DisqueClavier, Souris
CPU
A la fin du calcul, on inter-romp le disque pour afficher leresultat
Info32b Systemes d’Exploitation Thomas Lavergne 17/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Multiprogrammation
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
CPU
RAM
BUS
Ecran DisqueClavier, Souris
Puis on reprend. . .
Info32b Systemes d’Exploitation Thomas Lavergne 17/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Multiprogrammation
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
Multiprogrammation
Utiliser plusieurs composants en parallele, ce qui necessite :
Gestion de la priorite (quel processus peut acceder a la ressource)
→ ordonnancement, cours 3
Memoire partagee (stocker des informations de plusieurs
processus : on ne peut plus utiliser des adresses physiques)
→ adressage et memoire, cours 6
Exemple : MULTICS (1965)
Info32b Systemes d’Exploitation Thomas Lavergne 17/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Temps partage
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
Temps partage
Les fiches perforees, c’est fini. . .
Probleme
Certains processus sont long : les mettre en pause pour permettrea des processus plus petits d’acceder au processeur tout de suite.
→ Plusieurs processus se partageraient le processeur !
Info32b Systemes d’Exploitation Thomas Lavergne 18/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Temps partage
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
Temps partage
CPU
RAM
BUS
Ecran DisqueClavier, Souris
CPU
Le processus 1 travaille
Info32b Systemes d’Exploitation Thomas Lavergne 18/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Temps partage
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
Temps partage
CPU
RAM
BUS
Ecran DisqueClavier, Souris
CPU
Au bout d’un moment, l’OS re-prend la main . . .
Info32b Systemes d’Exploitation Thomas Lavergne 18/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Temps partage
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
Temps partage
CPU
RAM
BUS
Ecran DisqueClavier, Souris
CPU
. . . pour permettre au processus2 de travailler
Info32b Systemes d’Exploitation Thomas Lavergne 18/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Temps partage
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
Temps partage
CPU
RAM
BUS
Ecran DisqueClavier, Souris
CPU
Lorsque le processus a termine,l’OS reprend la main. . .
Info32b Systemes d’Exploitation Thomas Lavergne 18/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Temps partage
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
Temps partage
CPU
RAM
BUS
Ecran DisqueClavier, Souris
CPU
. . . pour rendre la main au pro-cessus 1
Info32b Systemes d’Exploitation Thomas Lavergne 18/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Temps partage
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
Temps partage
Temps partage
Plusieurs processus actifs alternant sur le processeur
Gestion des interruptions→ cours 1
Cycle de vie du processus→ cours 2
Synchronisation de processus et programmation concurrente→ cours 4
Exemple : UNICS (1969) → UNIXInfo32b Systemes d’Exploitation Thomas Lavergne 18/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Temps Reel
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
Temps partage
Temps reel
Annees 80-90
Gestion des delais : contrainte de temps de reponse→ les processus doivent repondre vite
Apparition des micro-ordinateursEx : CP/M puis IBM PC → MSDOS
Apparition des interfaces graphiques
Xerox → Apple Macintosh (1984)Windows 95Linux (1991)
Info32b Systemes d’Exploitation Thomas Lavergne 19/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Systemes repartis
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
Temps partage
Temps reel
Systemes repartis
Annees 80-90
Les ordinateurs communiquent pour echanger des donnees !
Arpanet, 1967 (DARPA)
E-mail, 1972 (Ray Tomlinsonn)
TCP/IP, 1972
Clients-Serveur annees 80 → NFS (Sun, 1984)
Arpanet ouvert fin 80→ Web debut 90 (CERN, Tim Berners-Lee))
Info32b Systemes d’Exploitation Thomas Lavergne 20/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Definition Un peu d’histoire
Smartphones
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
Temps partage
Temps reel
Systemes repartis
Smartphones
Smartphones
Les ordinateurs de poche existent depuis les annees 80 (ex : PalmOS,
1996)
2007 : sortie de l’iphone (iOS)
2008 : OS android
2016 : 1.5 milliards de smartphones vendus en 2016
Info32b Systemes d’Exploitation Thomas Lavergne 21/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Plan
1 Introduction
2 Qu’est-ce qu’un systeme d’exploitation
3 Fonctionnement d’un OSLe bus et les interruptionsRoutine d’interruption et mode superviseur
4 Appels systeme
5 Conclusion
Info32b Systemes d’Exploitation Thomas Lavergne 22/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Le bus
CPU
RAM
BUS
Ecran DisqueClavier, Souris
DefinitionUn bus est un systeme de transfert de donnees entre plusieurs unites traitement
de donnees par l’intermediaire d’une voie de transmission commune, dans
lequel les composants ne prennent aucune part a la transmission des donnees
entre les autres participants.
Concretement
Un bus est une nappe de fils reliant le processeur, la RAM et lesautres peripheriques.
Info32b Systemes d’Exploitation Thomas Lavergne 23/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Le bus
CPU
RAM
BUS
Ecran DisqueClavier, Souris
DefinitionUn bus est un systeme de transfert de donnees entre plusieurs unites traitement
de donnees par l’intermediaire d’une voie de transmission commune, dans
lequel les composants ne prennent aucune part a la transmission des donnees
entre les autres participants.
Concretement
Un bus est une nappe de fils reliant le processeur, la RAM et lesautres peripheriques.
Info32b Systemes d’Exploitation Thomas Lavergne 23/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Interruption
Probleme 1
Quel composant parle a quel autre composant ?
→ Reserver quelques fils pour l’identification (code binaire)
Probleme 2
Multiprogrammation → plusieurs composants peuvent vouloirutiliser le busUne seule personne a la fois sur le bus
→ Protocole � poignee de main �
Info32b Systemes d’Exploitation Thomas Lavergne 24/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Interruption
Probleme 1
Quel composant parle a quel autre composant ?
→ Reserver quelques fils pour l’identification (code binaire)
Probleme 2
Multiprogrammation → plusieurs composants peuvent vouloirutiliser le busUne seule personne a la fois sur le bus
→ Protocole � poignee de main �
Info32b Systemes d’Exploitation Thomas Lavergne 24/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Interruption
Probleme 1
Quel composant parle a quel autre composant ?
→ Reserver quelques fils pour l’identification (code binaire)
Probleme 2
Multiprogrammation → plusieurs composants peuvent vouloirutiliser le busUne seule personne a la fois sur le bus
→ Protocole � poignee de main �
Info32b Systemes d’Exploitation Thomas Lavergne 24/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Interruption
Probleme 1
Quel composant parle a quel autre composant ?
→ Reserver quelques fils pour l’identification (code binaire)
Probleme 2
Multiprogrammation → plusieurs composants peuvent vouloirutiliser le busUne seule personne a la fois sur le bus
→ Protocole � poignee de main �
Info32b Systemes d’Exploitation Thomas Lavergne 24/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Poignee de main
Principe
Chaque composant a un controleur→ Gere la communication avec le bus
Architecture d’un systeme d’information
Processeur
caches L1, L2
UC MMURAM
BUS
Controleur
Peripherique
Controleur
Peripherique Peripherique
Info32b Systemes d’Exploitation Thomas Lavergne 25/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Poignee de main
Principe
Chaque composant a un controleur→ Gere la communication avec le bus
2 bits de controle :
occupe : modifie par le controleurcommande : modifie par l’OS
Info32b Systemes d’Exploitation Thomas Lavergne 25/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Poignee de main
Principe
Chaque composant a un controleur→ Gere la communication avec le bus
2 bits de controle :
occupe : modifie par le controleurcommande : modifie par l’OS
Algorithme cote OS :
tant que occupe == 1 (le peripherique est occupe)attendre (le controleur met a 0 lorsqu’il a fini)
commande ← 1tant que occupe == 0 (il remet a 1 pour transmettre)
attendre
transfert de 1 octet → a faire pour chaque octet. . .
Info32b Systemes d’Exploitation Thomas Lavergne 25/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Interruption
Probleme 3
L’OS est un processus : comment prevenir qu’on a besoin de l’OS ?
Lorsqu’on est un controleur de peripherique ?
Lorsqu’on est un processus actif (utilisant le processeur) ?
→ Notion d’interruption (ou IRQ)
Principe
Une partie du bus est utilisee pour definir envoyer coded’interruption au processeur
Ex : architecture Intel : 256 interruptions (8 bits)
A chaque code d’interruption correspond une routine detraitement de l’OS
Info32b Systemes d’Exploitation Thomas Lavergne 26/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Interruption
Probleme 3
L’OS est un processus : comment prevenir qu’on a besoin de l’OS ?
Lorsqu’on est un controleur de peripherique ?
Lorsqu’on est un processus actif (utilisant le processeur) ?
→ Notion d’interruption (ou IRQ)
Principe
Une partie du bus est utilisee pour definir envoyer coded’interruption au processeur
Ex : architecture Intel : 256 interruptions (8 bits)
A chaque code d’interruption correspond une routine detraitement de l’OS
Info32b Systemes d’Exploitation Thomas Lavergne 26/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Gestion des interruptions
2 types d’interruption
Interruption materielle (ex : fin d’E/S, code 0 a F sur PC)
Interruption logicielle ou exception (ex : division par 0, accesmemoire invalide. . . )
Traitement de l’interruption par le processeur
Controleur d’interruption : prioriser les interruptions
Enregistrer → pile de l’OS
l’adresse d’instruction interrompuel’etat du processeur (registres)
Passer en mode superviseur
Charger la routine correspondant a l’interruption (adressedefinie au demarrage)
Info32b Systemes d’Exploitation Thomas Lavergne 27/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Gestion des interruptions
2 types d’interruption
Interruption materielle (ex : fin d’E/S, code 0 a F sur PC)
Interruption logicielle ou exception (ex : division par 0, accesmemoire invalide. . . )
Traitement de l’interruption par le processeur
Controleur d’interruption : prioriser les interruptions
Enregistrer → pile de l’OS
l’adresse d’instruction interrompuel’etat du processeur (registres)
Passer en mode superviseur
Charger la routine correspondant a l’interruption (adressedefinie au demarrage)
Info32b Systemes d’Exploitation Thomas Lavergne 27/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Acces a un peripherique
Source : A. Silberschatz et al., 2004
Pro
cess
eur Calculs pour le pro-
cessus courant
Traitement de laroutine d’interruptionpar l’OS
Per
iph
eriq
ue
En attente
En cours d’utilisation
Le processus s’execute→ peripherique inactif
processus
peripherique
Info32b Systemes d’Exploitation Thomas Lavergne 28/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Acces a un peripherique
Source : A. Silberschatz et al., 2004
Pro
cess
eur Calculs pour le pro-
cessus courant
Traitement de laroutine d’interruptionpar l’OS
Per
iph
eriq
ue
En attente
En cours d’utilisation
exce
pti
on
Le processus fait uneaction d’E/S
processus
peripherique
Info32b Systemes d’Exploitation Thomas Lavergne 28/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Acces a un peripherique
Source : A. Silberschatz et al., 2004
Pro
cess
eur Calculs pour le pro-
cessus courant
Traitement de laroutine d’interruptionpar l’OS
Per
iph
eriq
ue
En attente
En cours d’utilisation
exce
pti
on
routine
La routine d’interrup-tion est chargee
processus
peripherique
Info32b Systemes d’Exploitation Thomas Lavergne 28/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Acces a un peripherique
Source : A. Silberschatz et al., 2004
Pro
cess
eur Calculs pour le pro-
cessus courant
Traitement de laroutine d’interruptionpar l’OS
Per
iph
eriq
ue
En attente
En cours d’utilisation
exce
pti
on
routine
req
uet
e
La routine de l’OS ac-tive le peripherique
processus
peripherique
Info32b Systemes d’Exploitation Thomas Lavergne 28/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Acces a un peripherique
Source : A. Silberschatz et al., 2004
Pro
cess
eur Calculs pour le pro-
cessus courant
Traitement de laroutine d’interruptionpar l’OS
Per
iph
eriq
ue
En attente
En cours d’utilisation
exce
pti
on
routine
req
uet
e
L’OS rend la main auprocessus
processus
peripherique
Info32b Systemes d’Exploitation Thomas Lavergne 28/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Acces a un peripherique
Source : A. Silberschatz et al., 2004
Pro
cess
eur Calculs pour le pro-
cessus courant
Traitement de laroutine d’interruptionpar l’OS
Per
iph
eriq
ue
En attente
En cours d’utilisation
exce
pti
on
routine
req
uet
e
processus
peripherique
Le processus continue,le peripherique travailleen parallele
Info32b Systemes d’Exploitation Thomas Lavergne 28/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Acces a un peripherique
Source : A. Silberschatz et al., 2004
Pro
cess
eur Calculs pour le pro-
cessus courant
Traitement de laroutine d’interruptionpar l’OS
Per
iph
eriq
ue
En attente
En cours d’utilisation
exce
pti
on
routine
req
uet
e
processus
peripherique
inte
rru
pti
on
fin
Le peripherique ter-mine et declenche uneinterruption materielle
Info32b Systemes d’Exploitation Thomas Lavergne 28/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Acces a un peripherique
Source : A. Silberschatz et al., 2004
Pro
cess
eur Calculs pour le pro-
cessus courant
Traitement de laroutine d’interruptionpar l’OS
Per
iph
eriq
ue
En attente
En cours d’utilisation
exce
pti
on
routine
req
uet
e
processus
peripherique
inte
rru
pti
on
fin
routine
La routine d’interrup-tion est chargee
Info32b Systemes d’Exploitation Thomas Lavergne 28/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Acces a un peripherique
Source : A. Silberschatz et al., 2004
Pro
cess
eur Calculs pour le pro-
cessus courant
Traitement de laroutine d’interruptionpar l’OS
Per
iph
eriq
ue
En attente
En cours d’utilisation
exce
pti
on
routine
req
uet
e
processus
peripherique
inte
rru
pti
on
fin
routine
La routine s’execute
Info32b Systemes d’Exploitation Thomas Lavergne 28/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Acces a un peripherique
Source : A. Silberschatz et al., 2004
Pro
cess
eur Calculs pour le pro-
cessus courant
Traitement de laroutine d’interruptionpar l’OS
Per
iph
eriq
ue
En attente
En cours d’utilisation
exce
pti
on
routine
req
uet
e
processus
peripherique
inte
rru
pti
on
fin
routine
processus
L’OS rend la main lors-qu’il a termine
Info32b Systemes d’Exploitation Thomas Lavergne 28/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Mode superviseur
Definition
Mode dans lequel l’OS ne verifie pas les operations effectuees (ex :acces memoire)
Attention
Seul l’OS peut etre execute en mode superviseur !
Memory Management Unit
Tous les acces memoire sont controles par l’OS !
Sauf en mode superviseur (ou mode noyau)
Chaque acces memoire declenche une interruption materielle
C’est normal puisque c’est l’OS qui gere la memoire (cours 6)
C’est le role de la MMU
Info32b Systemes d’Exploitation Thomas Lavergne 29/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Mode superviseur
Definition
Mode dans lequel l’OS ne verifie pas les operations effectuees (ex :acces memoire)
Attention
Seul l’OS peut etre execute en mode superviseur !
Memory Management Unit
Tous les acces memoire sont controles par l’OS !
Sauf en mode superviseur (ou mode noyau)
Chaque acces memoire declenche une interruption materielle
C’est normal puisque c’est l’OS qui gere la memoire (cours 6)
C’est le role de la MMU
Info32b Systemes d’Exploitation Thomas Lavergne 29/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Programme d’amorcage
Au demarrage de l’ordinateur
Programme contenu dans une ROM charge sur le processeur
Initialisation des controleurs
Initialisation de la RAM avec des routines de base
Association code d’interruption → adresse de la routine
Attente d’une interruption materielle
Chargement de l’OS
Interruption materielle → chargement de l’OS
Initialisation de la RAM
Association code d’interruption → adresse de la routine
Demarrage de l’OS
Info32b Systemes d’Exploitation Thomas Lavergne 30/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Le bus et les interruptions Routine d’interruption et mode superviseur
Programme d’amorcage
Au demarrage de l’ordinateur
Programme contenu dans une ROM charge sur le processeur
Initialisation des controleurs
Initialisation de la RAM avec des routines de base
Association code d’interruption → adresse de la routine
Attente d’une interruption materielle
Chargement de l’OS
Interruption materielle → chargement de l’OS
Initialisation de la RAM
Association code d’interruption → adresse de la routine
Demarrage de l’OS
Info32b Systemes d’Exploitation Thomas Lavergne 30/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Appels systemes Shell
Plan
1 Introduction
2 Qu’est-ce qu’un systeme d’exploitation
3 Fonctionnement d’un OS
4 Appels systemeAppels systemesShell
5 Conclusion
Info32b Systemes d’Exploitation Thomas Lavergne 31/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Appels systemes Shell
Appels systeme
Definition
Ensemble des instruction qu’un processus peut envoyer a l’OS
Exemples
Controle de processus (cours 2 et 4)
Creation de processus, terminaison, prioriteAllocation memoirewait, notify
Gestion des fichiers (cours 9)
Creation, ouverture, repertoiresAcces lecture/ecriture
Gestion des information systeme (date, heure)
Communication (reseau)
Info32b Systemes d’Exploitation Thomas Lavergne 32/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Appels systemes Shell
Interpreteur de commande (ou shell)
Definition
Programme en charge de l’interface avec l’utilisateur
Concretement
Un ou plusieurs processus qui permettent a l’utilisateur (humain)d’envoyer des instructions a l’OS.
MSDOS/Unix : console + clavier
Mac/Windows : souris + clavier
iOS/Android : boutons + ecran tactile
Interpretent les actions de l’utilisateur sous la forme d’appelssystemes
Ex : rm fichier → suppressionEx : clic icone → execution
Info32b Systemes d’Exploitation Thomas Lavergne 33/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Appels systemes Shell
Interpreteur de commande (ou shell)
Definition
Programme en charge de l’interface avec l’utilisateur
Concretement
Un ou plusieurs processus qui permettent a l’utilisateur (humain)d’envoyer des instructions a l’OS.
MSDOS/Unix : console + clavier
Mac/Windows : souris + clavier
iOS/Android : boutons + ecran tactile
Interpretent les actions de l’utilisateur sous la forme d’appelssystemes
Ex : rm fichier → suppressionEx : clic icone → execution
Info32b Systemes d’Exploitation Thomas Lavergne 33/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Appels systemes Shell
Architecture d’un OS
Controleurmemoire
Controleurdisque
Controleurterminaux
Interface noyau-materiel
Noyaugestion de la memoire, systemes de fichiers,
pilotes de peripheriques, . . .
Bibliotheques d’appels systemes
Shell Applications
Utilisateur
Info32b Systemes d’Exploitation Thomas Lavergne 34/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Plan
1 Introduction
2 Qu’est-ce qu’un systeme d’exploitation
3 Fonctionnement d’un OS
4 Appels systeme
5 Conclusion
Info32b Systemes d’Exploitation Thomas Lavergne 35/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Synthese I
Les composants d’un systemes sont relies par un bus
L’OS gere l’acces aux composants (via le bus) pour lesapplicationsIl communique avec les composants a l’aide du protocolepoignee de main
L’OS fait le lien entre le materiel et les applications
Chargement des processusUtilisation des composants en parallelePartage du processeurTemps de reponsePartage de la memoireAcces aux ressources distribuees
Info32b Systemes d’Exploitation Thomas Lavergne 36/37
Introduction Qu’est-ce qu’un systeme d’exploitation Fonctionnement d’un OS Appels systeme Conclusion
Synthese II
L’OS, les processus et les composants se coordonnent a l’aidedes interruptions
L’OS, en mode superviseur, traite les interruptions a l’aide deroutines
L’OS fournit une bibliotheque d’appels systemes pour lesapplications
L’OS fournit un shell pour l’utilisateur, qui transforme lescommandes de l’utilisateur en appels systemes.
Info32b Systemes d’Exploitation Thomas Lavergne 37/37
Top Related