Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH...

101
Introduction Qu’est-ce qu’un syst` eme d’exploitation Fonctionnement d’un OS Appels syst` eme Conclusion Syst` emes d’Exploitation Cours 1/13 : Introduction Thomas Lavergne & Nicolas Sabouret Universit´ e Paris-Sud Licence 3 - semestre S5 http://perso.limsi.fr/lavergne/info-32b Info32b Syst` emes d’Exploitation Thomas Lavergne 1/37

Transcript of Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH...

Page 1: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 2: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 3: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 4: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 5: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 6: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 7: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 8: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 9: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 10: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 11: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 12: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 13: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 14: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 15: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 16: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 17: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 18: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 19: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 20: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 21: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 22: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 23: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 24: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 25: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 26: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 27: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 28: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 29: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 30: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 31: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 32: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 33: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 34: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 35: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 36: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 37: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 38: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 39: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 40: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 41: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 42: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 43: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 44: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 45: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 46: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 47: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 48: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 49: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 50: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 51: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 52: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 53: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 54: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 55: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 56: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 57: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 58: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 59: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 60: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 61: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 62: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 63: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 64: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 65: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 66: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 67: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 68: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 69: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 70: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 71: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 72: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 73: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 74: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 75: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 76: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 77: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 78: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 79: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 80: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 81: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 82: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 83: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 84: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 85: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 86: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 87: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 88: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 89: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 90: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 91: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 92: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 93: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 94: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 95: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 96: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 97: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 98: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 99: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 100: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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

Page 101: Syst emes d’Exploitation Cours 1/13 : Introduction Thomas ... · Installer GCC, shell BASH Windows ! Cygwin ou VM Linux pour le shell Unix Sinon, vous avez tous un compte UPSUD

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