• Aucun résultat trouvé

Syst` emes d’Exploitation Cours 1/10 : Introduction

N/A
N/A
Protected

Academic year: 2022

Partager "Syst` emes d’Exploitation Cours 1/10 : Introduction"

Copied!
96
0
0

Texte intégral

(1)

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

(2)

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

(3)

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

(4)

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

(5)

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

(6)

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

WindowsCygwin 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 !

(7)

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

WindowsCygwin 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 !

(8)

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

WindowsCygwin 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 !

(9)

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

WindowsCygwin 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

(10)

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)

(11)

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)

(12)

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)

(13)

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

(14)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(15)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(16)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(17)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(18)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(19)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(20)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(21)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(22)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(23)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(24)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(25)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(26)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(27)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(28)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(29)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(30)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(31)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(32)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(33)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(34)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(35)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(36)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(37)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(38)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(39)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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)

(40)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

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.

(41)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion efinition Un peu d’histoire

Le traitement par lot

1950 1960 1970 1980 1990 2000 2010

Batchs

(42)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(43)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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)

(44)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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)

(45)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(46)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(47)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(48)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(49)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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. . .

(50)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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)

(51)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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!

(52)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(53)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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 . . .

(54)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(55)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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. . .

(56)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(57)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(58)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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 PCMSDOS

Apparition des interfaces graphiques XeroxApple Macintosh (1984) Windows 95

Linux (1991)

(59)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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))

(60)

Introduction Qu’est-ce qu’un syst`eme d’exploitation Fonctionnement d’un OS Appels syst`eme Conclusion 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

(61)

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

(62)

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.

(63)

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

(64)

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

(65)

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

(66)

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

(67)

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

(68)

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

eriph´erique

Contrˆoleur

eriph´erique eriph´erique

(69)

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

(70)

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) commande1

tant queoccup´e == 0 (il remet `a 1 pour transmettre) attendre

transfert de1 octet `a faire pour chaque octet. . .

(71)

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

(72)

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

(73)

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)

(74)

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

(75)

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

eriph´erique

(76)

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

eriph´erique

(77)

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

eriph´erique

(78)

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

eriph´erique

(79)

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

eriph´erique

(80)

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

eriph´erique

Le processus continue, le p´eriph´erique travaille en parall`ele

(81)

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

eriph´erique

interruption

fin

Le p´eriph´erique ter- mine et d´eclenche une interruption mat´erielle

(82)

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

eriph´erique

interruption

fin routine

La routine d’interrup- tion est charg´ee

(83)

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

eriph´erique

interruption

fin routine

La routine s’ex´ecute

(84)

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

eriph´erique

interruption

fin routine

processus

L’OS rend la main lors- qu’il a termin´e

(85)

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

(86)

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)

(87)

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

(88)

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

(89)

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

Références

Documents relatifs

D´ efinition (rang d’un syst` eme ´ echelonn´ e) : Le rang r d’un syst`eme ´echelonn´e `a p ´equations et n inconnues est ´egal au nombre d’´equations qui n’ont pas un

1. Architecture en couches. Ouvrir et fermer une session Unix. Les commandes Unix. Le manuel en ligne d’Unix. Le fichier Unix. Op´erations ´el´ementaires sur les fichiers.

Pour simplifier les notations on identifie les ´ el´ ements de Z /n Z avec les en- tiers 0, 1,.. Le syst` eme de chiffrement utilis´ e par Alice et Bob est un syst` eme

Etablir la spécification comportementale de l'automate sous la forme d'un graphe d'états. Optimiser le graphe si nécessaire (réduction du

Notion de fichier Ouverture de fichier R´ epertoires Syst` eme de fichiers Conclusion Rˆ ole dans l’OS File Control Block Op´ erations.. Syst` eme de fichiers Partie visible

Nous verrons plus tard comment cela est possible, mais vous avez d´ej`a l’intuition que nous pouvons au moins “approximer” un signal ` a temps continu par un signal `a temps

La fonction 27 (1Bh) de l’interruption 21h fait pointer DS:DX sur la copie en m´emoire centrale de la FAT du lecteur de disquette en cours, place dans DX le nombre

Sous Linux, ouvrez une console et logez vous en tant qu’administrateur (tapez sudo -s et [enter] puis renseignez le mot de passe d’utilisateur pour vous connecter