Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours &...

43
Systèmes d’exploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge Jean-Philippe Roberge - Avril 2014

Transcript of Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours &...

Page 1: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Systèmes d’exploitation et programmation de systèmes

-GPA435-

Cours #1: Présentation du cours & introduction à la matière

Enseignant: Jean-Philippe Roberge

Jean-Philippe Roberge - Avril 2014

Page 2: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Planification du cours #1

Présentation personnelle

Présentation du plan de cours

Discussion sur vos intérêts et attentes

Introduction à la matière (Chapitre 1): Pré-entrée en matière Évolution des systèmes d’exploitation (S.E.)

Historique des S.E. Structure des S.E. modernes Tendance des S.E. modernes (prochain cours)

2 Jean-Philippe Roberge - Avril 2014

Page 3: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Jean-Philippe Roberge - Avril 2014

3

Présentation personnelle Formation académique:

Tech. (Ahuntsic, génie électrique) B. Ing. (ÉTS, génie de la production automatisée) M.Sc.A. (Poly, génie électrique)

Expérience professionnelle (la plus récente) : Agence spatiale canadienne (2009-2012):

-Ingénieur & adjoint de recherche en robotique au département du développement de l’exploration spatiale.

École Polytechnique (2010-2012) : -Chargé de cours et labs: Robotique (ELE4203) et systèmes linéaires

(ELE3202) ÉTS (2013-présent):

-Professionnel de recherche au laboratoire de Commande et de Robotique (CoRo)

-Chargé de cours: Analyse des circuits électriques (GPA220) et (GPA435). Institut de Recherche en Électricité du Québec – IREQ (2013-présent):

Contracteur / Consultant – Laboratoire d’expérimentation (robotique) Travaux de recherche actuels Intérêts Site web: http://www.jproberge.net Linkedin:

http://ca.linkedin.com/in/jproberge

Page 4: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Présentation du plan de cours

4 Jean-Philippe Roberge - Janvier 2014

GPA435 - Plan de cours

Page 5: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Jean-Philippe Roberge - Avril 2014

5

Un petit aparté (1) Expérience avec Linux:

Distributions: Ubuntu (à peu près toutes les versions depuis v.8.04 jusqu’à 13.10)

Aussi quelques variantes: Kubuntu, Xubuntu, Lubuntu Fedora (à peu près toutes les version depuis Fedora 15 jusqu’à 20) Mint, Knoppix et d’autres distros que j’ai seulement essayé: CentOS,

openSUSE, Scientific Linux (SL)

Utilisation personnelle: Serveur domestique pour les films (visionnement/téléchargement) et la

musique

Utilisation professionnelle: En industrie (!)

Sur le plancher de production Kinova, Robotiq, etc…

Développeur des programmes RobotiqSensorUI et KinovaSensorUI (http://sourceforge.net/projects/robotiqsensorui/ & http://sourceforge.net/projects/kinovasensorui/ )

En recherche: À L’ASC (de manière intensive!) Avec plusieurs Universités Durant ma maîtrise…

Page 6: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Jean-Philippe Roberge - Avril 2014

6

Un petit aparté (2)

Page 7: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Jean-Philippe Roberge - Avril 2014

7

Un petit aparté (3)

Page 8: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Vos intérêts et attentes?

8 Jean-Philippe Roberge - Avril 2014

Page 9: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Jean-Philippe Roberge - Avril 2014

9

Pré-entrée en matière

Quel est la pertinence du cours ? Approfondir les méthodes de résolutions de problèmes informatiques,

développer également de nouvelles approches, de nouveaux outils.

Développer de nouveaux outils pour traiter des documents et des données

Apprendre les langages bash et awk

Linux est de plus en plus répandu, il est fort probable que vous le rencontriez sur votre parcours professsionnel, d’une façon ou d’une autre, peu importe votre domaine.

Vous faire connaître un système d’exploitation performant qui peut servir dans une foule de contextes.

Mes attentes face à vous…

Page 10: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Jean-Philippe Roberge - Avril 2014

10

Introduction à la matière (1)

Q: Qu’est-ce qu’un système

d’exploitation?

R: C’est une suite de programmes qui gère l’utilisation des ressources d’un ordinateur (ou système ordiné) et qui fournit des services aux applications.

Famille de systèmes d’exploitation:

Unix, Linux, Windows NT, Mac OS

Exemples de S.E.:

Ubuntu 10.04, Mac OS X v10.5, Windows Vista…

Systèmes d’exploitation mobiles:

Android Vx.x (Noyau Linux), iOS Vx.x, Windows Phone 7, etc…

http://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/Operating_system_placement.svg/165px-Operating_system_placement.svg.png

Page 11: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Jean-Philippe Roberge - Avril 2014

11

Introduction à la matière (2)

Analogie du restaurant:

On peut faire l’analogie entre un restaurant et un ordinateur et tenant compte des éléments suivant:

Restaurant Pour un ordinateur

Client Utilisateur

Menu, carte des vins Interface graphique

Serveurs et serveuses Interpréteur de commande

Cuisinier et aide-cuisiniers

Noyau

Cuisines, cave à vin, entrepôt

Matériel (disques, mémoire, périphériques)

Page 12: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Introduction à la matière (3)

Jean-Philippe Roberge - Avril 2014

12

En ce qui concerne la famille de S.E. Linux, un site très

intéressant à consulter est:

http://distrowatch.com/

Une façon rapide d’essayer plusieurs versions différentes de

Linux, est d’installer ces systèmes sur une machine virtuelle

(à l’aide par exemple de VMWare, VirtualBox, etc…).

Page 13: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Jean-Philippe Roberge - Avril 2014

13

Évolution de S.E. (1)

Les systèmes d’exploitation ont nécessité plusieurs itérations du point de vue conception avant de devenir les systèmes du calibre de ceux que nous connaissons aujourd’hui. Au début, ils étaient quasi-inexistants, les programmes étaient alors traités en série.

1-Traitement en série:

Un programme à la fois, généralement écrit en langage machine.

Inefficace car l’ordinateur est monopolisé par un seul programmeur.

Époque où les premières bibliothèques de fonctions et les premiers pilotes d’entrées / sorties ont été développés.

Le coût énorme de la machine fit en sorte que l’on s’attarde à l’optimisation de son utilisation.

Page 14: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Jean-Philippe Roberge - Avril 2014

14

Évolution de S.E. (2)

Ensuite, vint le traitement par lots…

2-Traitement par lots: Apparait au début des années 50 du 20e siècle; Améliore le taux d’utilisation des ordinateurs. Concept de « moniteur »: un programme qui veille sur les

programmes (jobs) des utilisateurs. Chaque utilisateur soumet leur tâche à l’opérateur de

l’ordinateur: cartes perforées, rubans magnétiques; regroupement des tâches; exécution séquentielle des regroupements.

Exemple de traitement par lots:

Facturation, impôts, calculs de comptabilité, ets…

Page 15: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Jean-Philippe Roberge - Avril 2014

15

Évolution de S.E. (3)

2-Traitement par lots (suite): Cartes perforées:

Page 16: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Jean-Philippe Roberge - Avril 2014

16

Évolution de S.E. (4)

2-Traitement par lots (suite) :

Particularité la fin d’une tâche est suivie par un branchement vers le moniteur.

Ce dernier charge en mémoire la tâche suivante et l’exécute dans le processeur.

La mise en place d’un moniteur a influencé grandement la conception des S.E. modernes.

Le moniteur réside dans la mémoire de l’ordinateur:Traitement des interruptions*

Pilotes des périphériques

Séquencement des tâches

Interpréteur de commandes

Espace pour le programme utilisateur

Moniteur

Cartes perforées Ruban magnétique

* L'utilisation des interruptions est apparue bien plus tard dans l'évolution des moniteurs

Programmes

Page 17: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Jean-Philippe Roberge - Avril 2014

17

Évolution de S.E. (5)

2-Traitement par lots (suite) :

Par contre, une tâche peut monopoliser longtemps le processeur. Attendre la fin des opérations E/S; Les rubans magnétiques avaient un temps d’accès très long.

Pour augmenter le rendement de l’ordinateur récupérer ce temps perdu!

3-Traitement par lots multiprogrammé:

Problématique du traitement par lots:

si une tâche utilise 30% de son temps à effectuer des opérations E/S;

le processeur ne travaillera pas dans la majeure partie de ce 30%.

Multiprogrammation exécuter une autre tâche dans les portions de temps où le processeur est inactif. (Plus d’un programmes)

Exige cependant la coopération du matériel.

Page 18: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Jean-Philippe Roberge - Avril 2014

18

Évolution de S.E. (6)

3-Traitement par lots multiprogrammé (suite):

Coopération du matériel interruptions matérielles.

module de gestion des interruptions;

transfert rapide des données sans intervention du processeur.

Création d’un module MM (Memory Management).

maintenir en mémoire les tâches pour l’exécution.

Création d’un module d’ordonnancement des tâches:

peut avoir plus d’une tâche en mémoire;

sélectionne l’une des tâches pour l’exécution.

Tous ces modules font partie de l’architecture moderne des S.E. !

Page 19: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Jean-Philippe Roberge - Avril 2014

19

Évolution de S.E. (7)

Le traitement par lots multiprogrammé ne gère cependant pas bien les situations où l’interactivité entre l’ordinateur et l’utilisateur est nécessaire.

4-Traitement en temps partagé:

Exemple: le CTSS (Compatible Time-Sharing System) de MIT début des années 60 du 20e siècle.

Idée de base le blocage et le redémarrage périodique des tâches à l’aide d’une interruption cadencée par une source stable.

Tour à tour, le moniteur passe le contrôle à chacune des tâches en mémoire. Chaque tâche bénéficie alors du même temps d'utilisation du processeur.

Permet à plusieurs utilisateurs de démarrer des tâches sur un même ordinateur, au moyen de terminaux, et réduit le temps de réponse interactive.

Lorsqu’une tâche est en attente d’une opération E/S: immédiatement bloquée; contrôle du processeur est passé à une autre tâche.

Page 20: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Jean-Philippe Roberge - Avril 2014

20

Évolution de S.E. (8)

4-Traitement en temps partagé (suite):

Explication du temps partagé: vidéos intéressants du point de vue historique:

https://www.youtube.com/watch?v=Anxxe8SdX78 https://www.youtube.com/watch?v=Jc6jrhycDsA

Page 21: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Jean-Philippe Roberge - Avril 2014

21

Évolution de S.E. (9) 5- Systèmes multi-tâches et multi-utilisateurs:

Environnement multiprogrammé + l’interactivité des systèmes en temps partagé.

Multitâche multiprogrammation;

Multi-utilisateur temps partagé.

Un des premiers systèmes véritablement M-M:

MULTICS (MULTiplexed Information and Computer Service) du MIT, Bell, General Electric en1969.

MULTICS avait introduit plusieurs innovations: découplage entre le S.E. et le matériel mémoire virtuelle: Pagination de la mémoire; liaison dynamique. système de fichiers hiérarchique.

Page 22: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Jean-Philippe Roberge - Avril 2014

22

Évolution de S.E. (9)

5- Systèmes multi-tâches et multi-utilisateurs (suite):

MULTICS avait introduit le concept de processus:

structure fondamentale d’un S.E. !

Un processus possède trois éléments:

1) programme exécutable;

2) données associées au programme;

3) contexte d’exécution du programme.

Processus est donc un programme en exécution.

Page 23: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Structure des systèmes d’exploitation modernes (1)

Jean-Philippe Roberge - Avril 2014

23

D’abord, cette structure est organisé en couches hiérarchiques:

M atériel

P ro cessus p rim itif s

M ém o ire seco n d aire

M ém o ire v irtuelle

C o m m un icatio n in ter- p ro cessus

Systèm e d e fi ch iers

G estio n d es p érip h ériques

G estio n d es p ro cessus u tilisateurs

I n terp réteur d e co m m an d es

R o utin es d e gestio n d es o b jets

D isques reliés lo calem en t

P ip es, m ém o ire p artagée, etc.

T erm in al, im p rim an te, etc.

ex : liste d es p ro cessus, etc.

Nous allons approfondir ces couches dans les transparents qui suivent…

Page 24: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Structure des systèmes d’exploitation modernes (2)

Jean-Philippe Roberge - Avril 2014

24

1 -Composants matériels (Processeur, mémoire, périphériques, écran, etc…):

Processeurs instructions privilégiées;

adressage segmenté;

système de signaux.

2- Mémoire virtuelle:

Donner l’illusion au programme, qu’il travaille avec de la mémoire contigüe.

Protection contre la corruption des données

Interruption logicielle

Page 25: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Structure des systèmes d’exploitation modernes (3)

Jean-Philippe Roberge - Avril 2014

25

3- Système de fichiers

organisation cohérente de la mémoire secondaire;

système de fichiers hiérarchique arbre inversé;

sous-répertoires sont des enfants d’un répertoire racine;

système de fichiers hiérarchique un répertoire peut contenir d’autres répertoires.

Page 26: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Structure des systèmes d’exploitation modernes (4)

Jean-Philippe Roberge - Avril 2014

26

3- Système de fichiers (suite)

Pour définir l’emplacement d’un fichier, on peut le faire à l’aide de plusieurs façons, dont les trois façons suivantes:

R ép erto ire racin e

So us- rép erto ireR ép erto ire co uran t

So us- rép erto ire sp écial(L ien v irtuel)

chemin absoluchemin absoluchemin relatifchemin relatifparcours non linéaireparcours non linéaire

Page 27: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Structure des systèmes d’exploitation modernes (5)

Jean-Philippe Roberge - Avril 2014

27

3 - Système de fichiers (suite):

• accès simultanés par plusieurs processus;• accès simultanés par plusieurs utilisateurs;• deux processus utilisent le même fichier.

Des droits d’accès sont nécessaires;Primitifs de verrouillage et d’ouverture exclusive sont

nécessaires.

Pi Pn

Page 28: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Structure des systèmes d’exploitation modernes (6)

Jean-Philippe Roberge - Avril 2014

28

4- Communication inter-processus

Trois points importants:

Page 29: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

29

4- Communication inter-processus (suite):

• l’impasse:

• la famine:

Interdépendance (de données) des processus empêche la Interdépendance (de données) des processus empêche la progression de progression de toustous les processus impliqués les processus impliqués

Analogie: arrêt toutes Analogie: arrêt toutes directions à l’intersection des directions à l’intersection des chemins croiséschemins croisés

Interdépendance (de données) des processus empêche la Interdépendance (de données) des processus empêche la progression d’un sous-ensemble de processus impliquésprogression d’un sous-ensemble de processus impliqués

Analogie: devant un Analogie: devant un tourniquet à l’entrée d’un tourniquet à l’entrée d’un métro à l ’heure de pointemétro à l ’heure de pointe

Structure des systèmes d’exploitation modernes (7)

Jean-Philippe Roberge - Avril 2014

Page 30: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

C onsom m ateurP rod ucteur

T uyau

L a lecture en lèv eles d o n n ées d utuyau . L a lectured 'un tuyau v id em et en atten te lep ro cessusim p liqué

L 'écriture p laceles d o n n ées

d an s le tuyau .L 'écriture à untuyau p lein m et

en atten te lep ro cessusim p liqué

P ro to co le F I F O

30

mémoire partagée; tuyaux (pipes); messages.

Structure des systèmes d’exploitation modernes (8)

Une plage de mémoire (physique ou virtuelle) partagée entre plusieurs processus

Structure de données FIFO. Leurs accès sont gérés par le S.E.

Sans liens de communication permanents. Les messages sont déposés dans la queue de message des processus. Peuvent donc réaliser des protocoles autres que le FIFO.

4a - Transfert des données entre processus:

Jean-Philippe Roberge - Avril 2014

Page 31: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

31

4b Synchronisation des processus: fonctions attendre() et signal(); variables sémaphores; instructions atomiques.

Fonctions de synchronisation qui modifient une variable sémaphore

Variable entière n’admettant que trois opérations: i) initialisation à une valeur non négative; ii) incrémentation de sa valeur; iii) décrémentation de sa valeur. Opérations réalisées par des instructions atomiques.

Des instructions exécutées en séquence sans interruption par aucune autre instruction du processeur.

Structure des systèmes d’exploitation modernes (9)

Jean-Philippe Roberge - Avril 2014

Page 32: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

32

5 - Modèle des processus:

Processus entité dynamique;

interaction par communication ;

utilise des ressources;

possède une durée de vie et sont en interaction avec d’autres processus

utilisant le système de communication inter-processus (mémoire partagée, tuyaux, messages, etc.) du S.E.

Ces ressources sont: fichiers, mémoire, sémaphores périphériques d’E/S, etc. Ces ressources sont contrôlées par le S.E.

Structure des systèmes d’exploitation modernes (10)

Jean-Philippe Roberge - Avril 2014

Page 33: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

33

5 - Modèle des processus (suite):

N o uv eau P rêt E x écutio n So rtie

B lo qué

T em p s écou lé

R ép a rti tion

E n a tten te

libérat

ionA d m ission R etra i t

Processus créé mais pas encore exécutable

Processus prêt pour l’exécution

Processus en exécution dans le processeur

Processus en suspension: attendant l’arrivée d’un événement ou la fin d’une opération

Arrêt du processus: fin de son exécution ou causé par une condition d’erreur

Structure des systèmes d’exploitation modernes (11)

Jean-Philippe Roberge - Avril 2014

Page 34: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

34

6 - Interpréteur de commandes

Un processus utilisateur;

Permet l’exécution des programmes;

Manipulation des fichiers;

Accéder aux périphériques de l’ordinateur;

Automatisation des procédures par fichiers de commandes;

Langages de programmation « shell ».

Jean-Philippe Roberge - Avril 2014

Structure des systèmes d’exploitation modernes (12)

Page 35: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

35

Tendances des S.E. modernes (1)

Tendances des systèmes d’exploitation modernes:

Architecture micro-noyau (microkernel);

Exécution multifilière (multithreading);

Traitement parallèle symétrique (symmetric multiprocessing);

Système d’exploitation pour processeurs multi-cœurs.

Jean-Philippe Roberge - Avril 2014

Page 36: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

36

1 - Architecture micro-noyau:

changement important dans l’organisation interne du S.E.;

seulement quelques fonctions importantes sont assignées au noyau;

les autres services processus utilisateurs appelés « serveurs »;

séparation explicite entre le noyau d’un S.E. et le développement des serveurs;

Jean-Philippe Roberge - Avril 2014

Tendances des S.E. modernes (2)

Page 37: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

37

Exemple du concept de micro-noyau:

M icro - n o yauO rd in ateur A

Serv eur d u systèm ed e fi ch iers

(O rd in ateur B )

Serv eur d u systèm ed e fi ch iers

(O rd in ateur A )

M icro - n o yauO rd in ateur B

Serv eur d 'in terfacegrap h iq ue

(O rd in ateur A )

Serv eur d 'in terfacegrap h iq ue

(O rd in ateur B )Jean-Philippe Roberge - Avril

2014

Tendances des S.E. modernes (3)

Page 38: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

38

2 - Exécution multi-fils:

un processus est divisé en plusieurs chemins d’exécution simultanée;

fil d’exécution unité de travail interruptible et séquentielle;

fil d’exécution ne possède pas de contexte d’exécution mais utilise celui du processus père;

Mémoire utilisée, l’état de la pile programme, les ports d’E/S associés, l’état des registres du processeur, etc.

Modèle de programmation concourante

Jean-Philippe Roberge - Avril 2014

Tendances des S.E. modernes (4)

Page 39: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

39

2 - Exécution multi-fils (suite) : un processus est une collection de fils d’exécution; fil d’exécution principal père de tous les fils d’exécution

créés;

F il p rin cip al

F il # 1 F il # 3

F il # 2 F il # 4 F il # 5

F il # 6

F il # 7

F in d e l'ex écu tio n d u fi l d 'ex écu tio n

Syn ch ro n isatio n d es fi ls d 'ex écu tio n

P ro cessus

Jean-Philippe Roberge - Avril 2014

Tendances des S.E. modernes (5)

Page 40: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

40

3 - Traitement parallèle symétrique: réalisation utilisant l’exécution multifilière; système à n processeurs (n 256); mémoire commune accessible par tous les processeurs; tous les processeurs sont gérés de la même et jouent le même rôle; ordonnancement des fils d’exécution dans tous les processeurs

libres.

Jean-Philippe Roberge - Avril 2014

Tendances des S.E. modernes (6)

Page 41: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

41

3 - Traitement parallèle symétrique (suite) :

Nouvelle exigence «extensibilité» du S.E.;

Application du concept de micro-noyau;

S.E. décentralisé;

Ordonnancement des fils d’exécution réalisé localement par chacun des processeurs;

Collaboration entre les processeurs;

Une réalisation plus complexe du S.E.

Jean-Philippe Roberge - Avril 2014

Tendances des S.E. modernes (7)

Page 42: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

42

4 - Système d’exploitation pour processeurs multi-cœurs:

Présentement le S.E. traite les cœurs comme des CPU indépendants (traitement parallèle symétrique);

en plus, doit gérer les conflits d’accès aux ressources partagées;

doit gérer le délai variable dans le transfert des données.

Jean-Philippe Roberge - Avril 2014

Tendances des S.E. modernes (8)

Page 43: Systèmes dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Références

[1] Présentations PowerPoint du cours GPA435, Tony Wong.

[2] Notes de cours, GPA435

[3] Levasseur, Yan, Wiki GPA435: http://bash.leyan.org/Accueil , consulté en avril 2014.

[4] Tanenbaum, A.S., Systèmes d’exploitation. Pearson Education France, 2008.

[5] Stallings, W., Operating Systems : Internals and Design Principals. Upper Saddle River, NJ : Prentice Hall, 1998.

[6] Références citées dans le premier chapitre des notes de cours.

43 Jean-Philippe Roberge - Avril 2014