Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion
Syst` emes d’Exploitation Cours 1/10 : Introduction
Nicolas Sabouret
Universit´e Paris-Sud Licence 3 - semestre S5
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion
Plan
1 Introduction
2 Qu’est-ce qu’un syst`eme d’exploitation
3 Fonctionnement d’un OS
4 Appels syst`eme
5 Conclusion
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Objectifs du cours Plan du cours
Plan
1 Introduction
Objectifs du cours Plan du cours
2 Qu’est-ce qu’un syst`eme d’exploitation
3 Fonctionnement d’un OS
4 Appels syst`eme
5 Conclusion
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Objectifs du cours Plan du cours
Objectifs du cours
Syst`eme d’exploitation
Qu’est-ce qu’un syst`eme d’exploitation Comment sont g´er´es les processus Comment est g´er´ee la m´emoire Comment sont stock´ees les donn´ees Principaux algorithmes utilis´es dans un OS
Comp´etences acquises `a l’issu du cours
Compr´ehensiondu fonctionnement d’un syst`eme informatique R´esolution de probl`emes de gestion de processus
Manipulationdu shell Unix
Programmation syst`eme de base en C et Java
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Objectifs du cours Plan du cours
Objectifs du cours
Syst`eme d’exploitation
Qu’est-ce qu’un syst`eme d’exploitation Comment sont g´er´es les processus Comment est g´er´ee la m´emoire Comment sont stock´ees les donn´ees Principaux algorithmes utilis´es dans un OS Comp´etences acquises `a l’issu du cours
Compr´ehension du fonctionnement d’un syst`eme informatique R´esolution de probl`emes de gestion de processus
Manipulationdu shell Unix
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Objectifs du cours Plan du cours
Organisation
13 s´eances de cours (lundi 13h30-15h00) 13 s´eances de TD ou TP en salle machine
Lundi et mardi apr`es-midi (15h15-17h15)
Alternance de TD (examen) et de TP (pratique) Manipulation Unix, C et Java
Relev´es et not´es
Portables persos : seulement si vous g´ereztout(e) seul(e)! Installer GCC, Java, Eclipse, shell BASH
Windows→Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD donc acc`es aux machines PUIO...
Question de cours indiqu´ees dans les sujets de TD Aide pour les r´evisions
Reprises au d´ebut du cours suivant Pr´eparez vos questions !
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Objectifs du cours Plan du cours
Organisation
13 s´eances de cours (lundi 13h30-15h00) 13 s´eances de TD ou TP en salle machine
Lundi et mardi apr`es-midi (15h15-17h15) Alternance de TD (examen) et de TP (pratique) Manipulation Unix, C et Java
Relev´es et not´es
Portables persos : seulement si vous g´ereztout(e) seul(e)! Installer GCC, Java, Eclipse, shell BASH
Windows→Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD donc acc`es aux machines PUIO...
Question de cours indiqu´ees dans les sujets de TD Aide pour les r´evisions
Reprises au d´ebut du cours suivant Pr´eparez vos questions !
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Objectifs du cours Plan du cours
Organisation
13 s´eances de cours (lundi 13h30-15h00) 13 s´eances de TD ou TP en salle machine
Lundi et mardi apr`es-midi (15h15-17h15) Alternance de TD (examen) et de TP (pratique) Manipulation Unix, C et Java
Relev´es et not´es
Portables persos : seulement si vous g´ereztout(e) seul(e)! Installer GCC, Java, Eclipse, shell BASH
Windows→Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD donc acc`es aux machines PUIO...
Question de cours indiqu´ees dans les sujets de TD Aide pour les r´evisions
Reprises au d´ebut du cours suivant Pr´eparez vos questions !
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Objectifs du cours Plan du cours
Organisation
13 s´eances de cours (lundi 13h30-15h00) 13 s´eances de TD ou TP en salle machine
Lundi et mardi apr`es-midi (15h15-17h15) Alternance de TD (examen) et de TP (pratique) Manipulation Unix, C et Java
Relev´es et not´es
Portables persos : seulement si vous g´ereztout(e) seul(e)! Installer GCC, Java, Eclipse, shell BASH
Windows→Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD donc acc`es aux machines PUIO...
Question de cours indiqu´ees dans les sujets de TD Aide pour les r´evisions
Reprises au d´ebut du cours suivant
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Objectifs du cours Plan du cours
Evaluation´
Notes de TD →20% note finale Etablies par charg´´ es de TD
Au moins 2 sujets relev´es dans l’ann´ee Partiel → 20% note finale
Exercices type TD
Quelques questions de cours Pas de programmation Examen final → 60% note finale
2e session→ max (note examen 2e session, note finale 1`ere session)
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Objectifs du cours Plan du cours
Evaluation´
Notes de TD →20% note finale Etablies par charg´´ es de TD
Au moins 2 sujets relev´es dans l’ann´ee Partiel → 20% note finale
Exercices type TD
Quelques questions de cours Pas de programmation Examen final → 60% note finale
2e session→ max (note examen 2e session, note finale 1`ere session)
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Objectifs du cours Plan du cours
Plan du cours Processus
Cycle de vie d’un processus Ordonnancement
Synchronisation et programmation concurrente M´emoire
Probl`emes d’allocation m´emoire
M´emoire pagin´ee, m´emoire virtuelle, m´emoire segment´ee Fichiers
Syst`emes de fichiers
Supports physiques (disques)
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Objectifs du cours Plan du cours
Bibliographie
Support du cours
Silberschatz et al., 2004. Principes des syst`emes d’exploitation avec Java. Ed. Vuibert (2008)
Les bibles des SE
Tanenbaum, 2001. Modern Operating Systems. Ed. Prentice Hall
Stallings, 2000.Operating Systems. Ed. Prentice Hall Nutt, 2000. Operating Systems : a modern perspective. Ed.
Addison-Wesley
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Plan
1 Introduction
2 Qu’est-ce qu’un syst`eme d’exploitation D´efinition
Un peu d’histoire
3 Fonctionnement d’un OS
4 Appels syst`eme
5 Conclusion
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme d’exploitation
Qu’est-ce que l’informatique
La science du traitementautomatique de l’information Qu’est-ce qu’un ordinateur
Une machine pour traiter de l’information On lui donne des instructions (programme) On lui donne des donn´ees (information) Il transforme les donn´ees
Une machine `a calculer est un ordinateur au sens de cette d´efinition
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme d’exploitation
Qu’est-ce que l’informatique
La science du traitementautomatique de l’information
Qu’est-ce qu’un ordinateur
Une machine pour traiter de l’information On lui donne des instructions (programme) On lui donne des donn´ees (information) Il transforme les donn´ees
Une machine `a calculer est un ordinateur au sens de cette d´efinition
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme d’exploitation
Qu’est-ce que l’informatique
La science du traitementautomatique de l’information Qu’est-ce qu’un ordinateur
Une machine pour traiter de l’information On lui donne des instructions (programme) On lui donne des donn´ees (information) Il transforme les donn´ees
Une machine `a calculer est un ordinateur au sens de cette d´efinition
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme d’exploitation
Qu’est-ce que l’informatique
La science du traitementautomatique de l’information Qu’est-ce qu’un ordinateur
Une machine pour traiter de l’information On lui donne des instructions (programme) On lui donne des donn´ees (information) Il transforme les donn´ees
Une machine `a calculer est un ordinateur au sens de cette d´efinition
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme d’exploitation II
Comment fonctionne un ordinateur
Un microprocesseur : ALU + registres + code op´eration→ resultat
Une RAM : stockage de donn´ees Un BUS pour faire le lien D’autres p´eriph´eriques. . .
CPU
RAM
BUS Ecran Disque´
Clavier, Souris
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme d’exploitation II
Comment fonctionne un ordinateur
Un microprocesseur : ALU + registres + code op´eration→ resultat
Une RAM : stockage de donn´ees Un BUS pour faire le lien D’autres p´eriph´eriques. . .
CPU
RAM
BUS Ecran Disque´
Clavier, Souris
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme d’exploitation II
Comment fonctionne un ordinateur
Un microprocesseur : ALU + registres + code op´eration→ resultat
Une RAM : stockage de donn´ees
Un BUS pour faire le lien D’autres p´eriph´eriques. . .
CPU
RAM
BUS Ecran Disque´
Clavier, Souris
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme d’exploitation II
Comment fonctionne un ordinateur
Un microprocesseur : ALU + registres + code op´eration→ resultat
Une RAM : stockage de donn´ees Un BUS pour faire le lien
D’autres p´eriph´eriques. . .
CPU
RAM
Ecran Disque´
Clavier, Souris
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme d’exploitation II
Comment fonctionne un ordinateur
Un microprocesseur : ALU + registres + code op´eration→ resultat
Une RAM : stockage de donn´ees Un BUS pour faire le lien D’autres p´eriph´eriques. . .
CPU
RAM
Ecran Disque´
Clavier, Souris
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme 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´ Disque
Clavier, Souris
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme 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´ Disque
Clavier, Souris
Un calcul de base CPU
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme 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´ Disque
Clavier, Souris
Un calcul de base CPU
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme 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´ Disque
Clavier, Souris
Un calcul de base CPU
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme 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´ Disque
Clavier, Souris
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme 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´ Disque
Clavier, Souris
Charger des donn´ees CPU
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme 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´ Disque
Clavier, Souris
Charger des donn´ees
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme 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´ Disque
Clavier, Souris
Charger des donn´ees
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme 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´ Disque
Clavier, Souris
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme 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´ Disque
Clavier, Souris
G´erer des Entr´ees/Sorties CPU
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme 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´ Disque
Clavier, Souris
G´erer des Entr´ees/Sorties CPU
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme 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´ Disque
Clavier, Souris
G´erer des Entr´ees/Sorties CPU
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme 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´ Disque
Clavier, Souris
G´erer des Entr´ees/Sorties CPU
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme d’exploitation II
Comment fonctionne un ordinateur Tout cela n’est que des fils ´electriques. . .
. . . qu’on allume et qu’on ´eteint.
Autrefois
Un op´erateur d´epla¸cait des interrupteurs pour ouvrir/fermer les acc`es au bus
→peut-on aussi automatiser ces op´erations ?
Syst`eme d’exploitation
´Ecrire unprogrammequi :
D´ecide qui fait quoi `a quel moment
Fait le lien entre les applications et le mat´eriel physique
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme d’exploitation II
Comment fonctionne un ordinateur Tout cela n’est que des fils ´electriques. . .
. . . qu’on allume et qu’on ´eteint.
Autrefois
Un op´erateur d´epla¸cait des interrupteurs pour ouvrir/fermer les acc`es au bus
→peut-on aussi automatiser ces op´erations ?
Syst`eme d’exploitation
´Ecrire unprogrammequi :
D´ecide qui fait quoi `a quel moment
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`eme d’exploitation III
D´efinition
Unsyst`eme d’exploitationest unprogramme(ou un ensemble de programmes) qui :
G`ere la partie mat´erielle
Sert de socle pour les applications
→C’est l’interm´ediaire entre les applications (l’utilisateur) et le mat´eriel (l’ordinateur)
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Port´ee du cours
Applications Navigateur, email, traitement de texte, musique, jeux. . .
Intergiciel (middleware) J2EE, .Net. . .
Syst`eme de communication TCP, UDP, IP. . .
S.E. S.E. S.E.
Ordinateur Ordinateur Ordinateur Instructions machine
R´eseau Transfertphysique de bits, syst`eme
Source : S. Krakowiak
Info32b LogicielsMat´eriel
Syst`eme d’Exploitation
Le syst`eme d’exploitation (Operating System en anglais) fait le lien entre lemat´erielet les logiciels.
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Le traitement par lot
1950 1960 1970 1980 1990 2000 2010
Batchs
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Le traitement par lot
1950 1960 1970 1980 1990 2000 2010
Batchs
Probl`eme
Donn´ees + programme = fiches perfor´ees(blanche) 1 tˆache = 1 manipulation(par un op´erateur humain)
→ Configuration de l’ordinateur pour la tˆache Chargement des donn´ees
Chargement du programme Ex´ecution
Ecriture des sorties sur l’imprimante´ etc
→Automatiser les changements de tˆache
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Le traitement par lot
1950 1960 1970 1980 1990 2000 2010
Batchs
Fiche de traitement par lot (batch)
D´ecrire les op´erations de manipulation dans une fiche perfor´ee (rouge)
Chargement des donn´ees Chargement du programme Ex´ecution
Ecriture des sorties sur l’imprimante´ etc
→L’op´erateur ins`ere toutes les fiches (en lot)
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Multiprogrammation
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
Probl`eme
Un seul composant de l’ordinateur utilis´e `a la fois
→on pourraitutiliser en parall`ele le disque, l’imprimante, le processeur...
`a condition de munir chacun d’une petite RAM locale (cache)
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Multiprogrammation
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
CPU
RAM
BUS Ecran Disque´
Clavier, Souris CPU
On commence `a charger les donn´ees du disque
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Multiprogrammation
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
CPU
RAM
BUS Ecran Disque´
Clavier, Souris CPU
Pendant que le disque tourne, on charge des donn´ees de la RAM
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Multiprogrammation
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
CPU
RAM
BUS Ecran Disque´
Clavier, Souris CPU
Pendant que le disque et la RAM communiquent, le proces- seur calcule
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Multiprogrammation
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
CPU
RAM
BUS Ecran Disque´
Clavier, Souris CPU
A la fin du calcul, on inter-` romp le disque pour afficher le r´esultat
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Multiprogrammation
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
CPU
RAM
BUS Ecran Disque´
Clavier, Souris
Puis on reprend. . .
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Multiprogrammation
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation
Multiprogrammation
Utiliser plusieurs composants en parall`ele, ce qui n´ecessite : Gestion de la priorit´e(quel processus peut acc´eder `a la ressource)
→ordonnancement, cours 3
M´emoire partag´ee(stocker des informations de plusieurs processus : on ne peut plus utiliser des adresses physiques)
→adressage et m´emoire, cours 6
Exemple :MULTICS (1965)
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Temps partag´e
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation Temps partag´e
Les fiches perfor´ees, c’est fini. . . Probl`eme
Certains processus sont long : lesmettre en pausepour permettre
`a des processus plus petits d’acc´eder au processeur tout de suite.
→Plusieurs processus se partageraient le processeur!
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Temps partag´e
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation Temps partag´e
CPU
RAM
BUS Ecran Disque´
Clavier, Souris CPU
Le processus 1 travaille
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Temps partag´e
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation Temps partag´e
CPU
RAM
BUS Ecran Disque´
Clavier, Souris CPU
Au bout d’un moment, l’OS re- prend la main . . .
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Temps partag´e
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation Temps partag´e
CPU
RAM
BUS Ecran Disque´
Clavier, Souris CPU
. . . pour permettre au processus 2 de travailler
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Temps partag´e
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation Temps partag´e
CPU
RAM
BUS Ecran Disque´
Clavier, Souris CPU
Lorsque le processus a termin´e, l’OS reprend la main. . .
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Temps partag´e
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation Temps partag´e
CPU
RAM
BUS Ecran Disque´
Clavier, Souris CPU
. . . pour rendre la main au pro- cessus 1
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Temps partag´e
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation Temps partag´e
Temps partag´e
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
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Temps R´eel
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation Temps partag´e
Temps r´eel
Ann´ees 80-90
Gestion des d´elais : contrainte detemps de r´eponse
→les processus doivent r´epondre vite
Apparition des micro-ordinateurs
Ex : CP/M puis IBM PC→MSDOS
Apparition des interfaces graphiques Xerox→Apple Macintosh (1984) Windows 95
Linux (1991)
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Syst`emes r´epartis
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation Temps partag´e
Temps r´eel
Syst`emes r´epartis
Ann´ees 80-90
Les ordinateurs communiquent pour ´echanger des donn´ees ! Arpanet, 1967 (DARPA)
E-mail, 1972 (Ray Tomlinsonn) TCP/IP, 1972
Clients-Serveur ann´ees 80 → NFS (Sun, 1984) Arpanet ouvert fin 80
→ Web d´ebut 90 (CERN, Tim Berners-Lee))
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion D´efinition Un peu d’histoire
Smartphones
1950 1960 1970 1980 1990 2000 2010
Batchs
Multiprogrammation Temps partag´e
Temps r´eel
Syst`emes r´epartis
Smartphones
Smartphones
Les ordinateurs de poche existent depuis les ann´ees 80(ex : PalmOS, 1996)
2007 : sortie de l’iphone (iOS) 2008 : OS android
2016 : 1.5 milliards de smartphones vendus en 2016
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Plan
1 Introduction
2 Qu’est-ce qu’un syst`eme d’exploitation
3 Fonctionnement d’un OS Le bus et les interruptions
Routine d’interruption et mode superviseur
4 Appels syst`eme
5 Conclusion
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Le bus
CPU
RAM
BUS Ecran Disque´
Clavier, Souris
D´efinition
Un bus est unsyst`eme de transfert de donn´eesentre plusieurs unit´es traitement de donn´ees par l’interm´ediaire d’unevoie de transmission commune, dans lequel les composants ne prennentaucune part `a la transmission des donn´ees entre les autres participants.
Concr`etement
Un bus est une nappe de fils reliant le processeur, la RAM et les autres p´eriph´eriques.
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Le bus
CPU
RAM
BUS Ecran Disque´
Clavier, Souris
D´efinition
Un bus est unsyst`eme de transfert de donn´eesentre plusieurs unit´es traitement de donn´ees par l’interm´ediaire d’unevoie de transmission commune, dans lequel les composants ne prennentaucune part `a la transmission des donn´ees entre les autres participants.
Concr`etement
Un bus est une nappe de fils reliant le processeur, la RAM et les
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Interruption Probl`eme 1
Quel composant parle `a quel autre composant ?
→R´eserver quelques fils pour l’identification (code binaire) Probl`eme 2
Multiprogrammation→ plusieurs composants peuvent vouloir utiliser le bus
Une seule personne `a la fois sur le bus
→Protocole poign´ee de main
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Interruption Probl`eme 1
Quel composant parle `a quel autre composant ?
→R´eserver quelques fils pour l’identification (code binaire)
Probl`eme 2
Multiprogrammation→ plusieurs composants peuvent vouloir utiliser le bus
Une seule personne `a la fois sur le bus
→Protocole poign´ee de main
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Interruption Probl`eme 1
Quel composant parle `a quel autre composant ?
→R´eserver quelques fils pour l’identification (code binaire) Probl`eme 2
Multiprogrammation→ plusieurs composants peuvent vouloir utiliser le bus
Une seule personne `a la fois sur le bus
→Protocole poign´ee de main
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Interruption Probl`eme 1
Quel composant parle `a quel autre composant ?
→R´eserver quelques fils pour l’identification (code binaire) Probl`eme 2
Multiprogrammation→ plusieurs composants peuvent vouloir utiliser le bus
Une seule personne `a la fois sur le bus
→Protocole poign´ee de main
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Poign´ee de main Principe
Chaque composant a un contrˆoleur
→ G`ere la communication avec le bus
Architecture d’un syst`eme d’information
Processeur
caches L1, L2
UC MMU
RAM
BUS Contrˆoleur
P´eriph´erique
Contrˆoleur
P´eriph´erique P´eriph´erique
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Poign´ee de main Principe
Chaque composant a un contrˆoleur
→ G`ere la communication avec le bus 2 bits de contrˆole :
occup´e: modifi´e par le contrˆoleur commande: modifi´e par l’OS
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Poign´ee de main Principe
Chaque composant a un contrˆoleur
→ G`ere la communication avec le bus 2 bits de contrˆole :
occup´e: modifi´e par le contrˆoleur commande: modifi´e par l’OS Algorithme cˆot´e OS :
tant queoccup´e == 1 (le p´eriph´erique est occup´e) attendre (le contrˆoleur met `a 0 lorsqu’il a fini) commande←1
tant queoccup´e == 0 (il remet `a 1 pour transmettre) attendre
transfert de1 octet →`a faire pour chaque octet. . .
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Interruption Probl`eme 3
L’OS est un processus : commentpr´evenir qu’on a besoin de l’OS? Lorsqu’on est un contrˆoleur de p´eriph´erique ?
Lorsqu’on est un processus actif (utilisant le processeur) ?
→Notion d’interruption (ouIRQ) Principe
Une partie du bus est utilis´ee pour d´efinir envoyer code d’interruption au processeur
Ex : architecture Intel : 256 interruptions (8 bits)
A chaque code d’interruption correspond une` routine de traitement de l’OS
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Interruption Probl`eme 3
L’OS est un processus : commentpr´evenir qu’on a besoin de l’OS? Lorsqu’on est un contrˆoleur de p´eriph´erique ?
Lorsqu’on est un processus actif (utilisant le processeur) ?
→Notion d’interruption (ouIRQ) Principe
Une partie du bus est utilis´ee pour d´efinir envoyer code d’interruption au processeur
Ex : architecture Intel : 256 interruptions (8 bits)
A chaque code d’interruption correspond une` routine de
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Gestion des interruptions 2 types d’interruption
Interruption mat´erielle (ex : fin d’E/S, code 0 `a F sur PC) Interruption logicielle ou exception(ex : division par 0, acc`es m´emoire invalide. . . )
Traitement de l’interruption par le processeur
Contrˆoleur d’interruption :prioriser les interruptions Enregistrer →pile de l’OS
l’adresse d’instruction interrompue l’´etat du processeur (registres) Passer en mode superviseur
Charger la routinecorrespondant `a l’interruption (adresse d´efinie au d´emarrage)
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Gestion des interruptions 2 types d’interruption
Interruption mat´erielle (ex : fin d’E/S, code 0 `a F sur PC) Interruption logicielle ou exception(ex : division par 0, acc`es m´emoire invalide. . . )
Traitement de l’interruption par le processeur
Contrˆoleur d’interruption :prioriser les interruptions Enregistrer →pile de l’OS
l’adresse d’instruction interrompue l’´etat du processeur (registres) Passer en mode superviseur
Charger la routinecorrespondant `a l’interruption (adresse
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Acc`es `a un p´eriph´erique
Source : A. Silberschatz et al., 2004
Processeur
Calculs pour le pro- cessus courant
Traitement de la routine d’interruption par l’OS
P´eriph´erique
En attente
En cours d’utilisation
Le processus s’ex´ecute
→ p´eriph´erique inactif
processus
p´eriph´erique
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Acc`es `a un p´eriph´erique
Source : A. Silberschatz et al., 2004
Processeur
Calculs pour le pro- cessus courant
Traitement de la routine d’interruption par l’OS
P´eriph´erique
En attente
En cours d’utilisation
exception
Le processus fait une action d’E/S
processus
p´eriph´erique
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Acc`es `a un p´eriph´erique
Source : A. Silberschatz et al., 2004
Processeur
Calculs pour le pro- cessus courant
Traitement de la routine d’interruption par l’OS
P´eriph´erique
En attente
En cours d’utilisation
exception
routine
La routine d’interrup- tion est charg´ee
processus
p´eriph´erique
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Acc`es `a un p´eriph´erique
Source : A. Silberschatz et al., 2004
Processeur
Calculs pour le pro- cessus courant
Traitement de la routine d’interruption par l’OS
P´eriph´erique
En attente
En cours d’utilisation
exception
routine
requˆete
La routine de l’OS ac- tive le p´eriph´erique
processus
p´eriph´erique
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Acc`es `a un p´eriph´erique
Source : A. Silberschatz et al., 2004
Processeur
Calculs pour le pro- cessus courant
Traitement de la routine d’interruption par l’OS
P´eriph´erique
En attente
En cours d’utilisation
exception
routine
requˆete
L’OS rend la main au processus
processus
p´eriph´erique
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Acc`es `a un p´eriph´erique
Source : A. Silberschatz et al., 2004
Processeur
Calculs pour le pro- cessus courant
Traitement de la routine d’interruption par l’OS
P´eriph´erique
En attente
En cours d’utilisation
exception
routine
requˆete
processus
p´eriph´erique
Le processus continue, le p´eriph´erique travaille en parall`ele
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Acc`es `a un p´eriph´erique
Source : A. Silberschatz et al., 2004
Processeur
Calculs pour le pro- cessus courant
Traitement de la routine d’interruption par l’OS
P´eriph´erique
En attente
En cours d’utilisation
exception
routine
requˆete
processus
p´eriph´erique
interruption
fin
Le p´eriph´erique ter- mine et d´eclenche une interruption mat´erielle
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Acc`es `a un p´eriph´erique
Source : A. Silberschatz et al., 2004
Processeur
Calculs pour le pro- cessus courant
Traitement de la routine d’interruption par l’OS
P´eriph´erique
En attente
En cours d’utilisation
exception
routine
requˆete
processus
p´eriph´erique
interruption
fin routine
La routine d’interrup- tion est charg´ee
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Acc`es `a un p´eriph´erique
Source : A. Silberschatz et al., 2004
Processeur
Calculs pour le pro- cessus courant
Traitement de la routine d’interruption par l’OS
P´eriph´erique
En attente
En cours d’utilisation
exception
routine
requˆete
processus
p´eriph´erique
interruption
fin routine
La routine s’ex´ecute
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Acc`es `a un p´eriph´erique
Source : A. Silberschatz et al., 2004
Processeur
Calculs pour le pro- cessus courant
Traitement de la routine d’interruption par l’OS
P´eriph´erique
En attente
En cours d’utilisation
exception
routine
requˆete
processus
p´eriph´erique
interruption
fin routine
processus
L’OS rend la main lors- qu’il a termin´e
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Mode superviseur D´efinition
Mode dans lequel l’OS ne v´erifie pas les op´erations effectu´ees (ex : acc`es m´emoire)
Attention
Seul l’OS peut ˆetre ex´ecut´e en mode superviseur!
Memory Management Unit
Tous les acc`es m´emoire sont contrˆol´es par l’OS ! Sauf en mode superviseur(ou mode noyau)
Chaque acc`es m´emoire d´eclenche une interruption mat´erielle
C’est normal puisque c’est l’OS qui g`ere la m´emoire (cours 6)
C’est le rˆole de la MMU
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Mode superviseur D´efinition
Mode dans lequel l’OS ne v´erifie pas les op´erations effectu´ees (ex : acc`es m´emoire)
Attention
Seul l’OS peut ˆetre ex´ecut´e en mode superviseur! Memory Management Unit
Tous les acc`es m´emoire sont contrˆol´es par l’OS ! Sauf en mode superviseur(ou mode noyau)
Chaque acc`es m´emoire d´eclenche une interruption mat´erielle
C’est normal puisque c’est l’OS qui g`ere la m´emoire (cours 6)
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Programme d’amor¸cage
Au d´emarrage de l’ordinateur
Programme contenu dans un ROM charg´e sur le processeur Initialisation des contrˆoleurs
Initialisation de la RAM avec des routines de base Association code d’interruption → adresse de la routine Attente d’une interruption mat´erielle
Chargement de l’OS
Interruption mat´erielle → chargement de l’OS Initialisation de la RAM
Association code d’interruption → adresse de la routine D´emarrage de l’OS
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Le bus et les interruptions Routine d’interruption et mode superviseur
Programme d’amor¸cage
Au d´emarrage de l’ordinateur
Programme contenu dans un ROM charg´e sur le processeur Initialisation des contrˆoleurs
Initialisation de la RAM avec des routines de base Association code d’interruption → adresse de la routine Attente d’une interruption mat´erielle
Chargement de l’OS
Interruption mat´erielle → chargement de l’OS Initialisation de la RAM
Association code d’interruption → adresse de la routine
Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion Appels syst`emes Shell
Plan
1 Introduction
2 Qu’est-ce qu’un syst`eme d’exploitation
3 Fonctionnement d’un OS
4 Appels syst`eme Appels syst`emes Shell
5 Conclusion