• 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

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.

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

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

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

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

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

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