La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Systèmes d’exploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant:"— Transcription de la présentation:

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

2 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) 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 ( ): -Ingénieur & adjoint de recherche en robotique au département du développement de l’exploration spatiale. École Polytechnique ( ) : -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: Linkedin: Jean-Philippe Roberge - Avril 2014

4 Présentation du plan de cours
Jean-Philippe Roberge - Janvier 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 ( & ) En recherche: À L’ASC (de manière intensive!) Avec plusieurs Universités Durant ma maîtrise… Jean-Philippe Roberge - Avril 2014

6 Un petit aparté (2) Jean-Philippe Roberge - Avril 2014

7 Un petit aparté (3) Jean-Philippe Roberge - Avril 2014

8 Vos intérêts et attentes?
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… 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… 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) Jean-Philippe Roberge - Avril 2014

12 Introduction à la matière (3)
En ce qui concerne la famille de S.E. Linux, un site très intéressant à consulter est: 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…). 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. Jean-Philippe Roberge - Avril 2014

14 Évolution de S.E. (2) Ensuite, vint le 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… Jean-Philippe Roberge - Avril 2014

15 Évolution de S.E. (3) 2-Traitement par lots (suite): Cartes perforées:
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: 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. 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. ! 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. 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: 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. 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. Jean-Philippe Roberge - Avril 2014

23 Structure des systèmes d’exploitation modernes (1)
D’abord, cette structure est organisé en couches hiérarchiques: Nous allons approfondir ces couches dans les transparents qui suivent… Jean-Philippe Roberge - Avril 2014

24 Structure des systèmes d’exploitation modernes (2)
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 Jean-Philippe Roberge - Avril 2014

25 Structure des systèmes d’exploitation modernes (3)
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. Jean-Philippe Roberge - Avril 2014

26 Structure des systèmes d’exploitation modernes (4)
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: chemin absolu chemin relatif parcours non linéaire Jean-Philippe Roberge - Avril 2014

27 Structure des systèmes d’exploitation modernes (5)
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 Jean-Philippe Roberge - Avril 2014

28 Structure des systèmes d’exploitation modernes (6)
4- Communication inter-processus Trois points importants: Jean-Philippe Roberge - Avril 2014

29 Structure des systèmes d’exploitation modernes (7)
GPA435 - Systèmes d'exploitation et programmation de système 4- Communication inter-processus (suite): l’impasse: la famine: Interdépendance (de données) des processus empêche la progression de tous les processus impliqués Analogie: arrêt toutes directions à l’intersection des chemins croisés Interdépendance (de données) des processus empêche la progression d’un sous-ensemble de processus impliqués Analogie: devant un tourniquet à l’entrée d’un métro à l ’heure de pointe Jean-Philippe Roberge - Avril 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

30 Structure des systèmes d’exploitation modernes (8)
GPA435 - Systèmes d'exploitation et programmation de système Structure des systèmes d’exploitation modernes (8) 4a - Transfert des données entre processus: mémoire partagée; tuyaux (pipes); messages. Une plage de mémoire (physique ou virtuelle) partagée entre plusieurs processus 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. Structure de données FIFO. Leurs accès sont gérés par le S.E. Jean-Philippe Roberge - Avril 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

31 Structure des systèmes d’exploitation modernes (9)
GPA435 - Systèmes d'exploitation et programmation de système 4b Synchronisation des processus: fonctions attendre() et signal(); variables sémaphores; instructions atomiques. Des instructions exécutées en séquence sans interruption par aucune autre instruction du processeur. 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. Fonctions de synchronisation qui modifient une variable sémaphore Jean-Philippe Roberge - Avril 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

32 Structure des systèmes d’exploitation modernes (10)
GPA435 - Systèmes d'exploitation et programmation de système Structure des systèmes d’exploitation modernes (10) 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. Jean-Philippe Roberge - Avril 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

33 Structure des systèmes d’exploitation modernes (11)
GPA435 - Systèmes d'exploitation et programmation de système Structure des systèmes d’exploitation modernes (11) 5 - Modèle des processus (suite): Processus prêt pour l’exécution Processus créé mais pas encore exécutable Processus en exécution dans le processeur Arrêt du processus: fin de son exécution ou causé par une condition d’erreur Processus en suspension: attendant l’arrivée d’un événement ou la fin d’une opération Jean-Philippe Roberge - Avril 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

34 Structure des systèmes d’exploitation modernes (12)
GPA435 - Systèmes d'exploitation et programmation de système Structure des systèmes d’exploitation modernes (12) 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 ETS - GPA, (c) Tony Wong, Ph.D., ing.

35 Tendances des S.E. modernes (1)
GPA435 - Systèmes d'exploitation et programmation de système 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 ETS - GPA, (c) Tony Wong, Ph.D., ing.

36 Tendances des S.E. modernes (2)
GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (2) 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 ETS - GPA, (c) Tony Wong, Ph.D., ing.

37 Tendances des S.E. modernes (3)
GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (3) Exemple du concept de micro-noyau: Jean-Philippe Roberge - Avril 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

38 Tendances des S.E. modernes (4)
GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (4) 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; Modèle de programmation concourante Mémoire utilisée, l’état de la pile programme, les ports d’E/S associés, l’état des registres du processeur, etc. Jean-Philippe Roberge - Avril 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

39 Tendances des S.E. modernes (5)
GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (5) 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; Jean-Philippe Roberge - Avril 2014 ETS - GPA, (c) Tony Wong, Ph.D., ing.

40 Tendances des S.E. modernes (6)
GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (6) 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 ETS - GPA, (c) Tony Wong, Ph.D., ing.

41 Tendances des S.E. modernes (7)
GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (7) 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 ETS - GPA, (c) Tony Wong, Ph.D., ing.

42 Tendances des S.E. modernes (8)
GPA435 - Systèmes d'exploitation et programmation de système Tendances des S.E. modernes (8) 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 ETS - GPA, (c) Tony Wong, Ph.D., ing.

43 Références [1] Présentations PowerPoint du cours GPA435, Tony Wong.
[2] Notes de cours, GPA435 [3] Levasseur, Yan, Wiki GPA435: , consulté en avril [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. Jean-Philippe Roberge - Avril 2014


Télécharger ppt "Systèmes d’exploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant:"

Présentations similaires


Annonces Google