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 dexploitation et programmation de systèmes -GPA435- Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge.

Présentations similaires


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

1 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

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 dexploitation (S.E.) Historique des S.E. Structure des S.E. modernes Tendance des S.E. modernes (prochain cours) 2 Jean-Philippe Roberge - Avril 2014

3 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 lexploration 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 dexpérimentation (robotique) Travaux de recherche actuels Intérêts Site web: Linkedin :

4 Présentation du plan de cours 4 Jean-Philippe Roberge - Janvier 2014

5 Jean-Philippe Roberge - Avril 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 dautres distros que jai 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/robotiqsensorui/ En recherche: À LASC (de manière intensive!) Avec plusieurs Universités Durant ma maîtrise…

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

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

8 Vos intérêts et attentes? 8 Jean-Philippe Roberge - Avril 2014

9 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, dune façon ou dune autre, peu importe votre domaine. Vous faire connaître un système dexploitation performant qui peut servir dans une foule de contextes. Mes attentes face à vous…

10 Jean-Philippe Roberge - Avril Introduction à la matière (1) Q: Quest-ce quun système dexploitation? R: Cest une suite de programmes qui gère lutilisation des ressources dun ordinateur (ou système ordiné) et qui fournit des services aux applications. Famille de systèmes dexploitation: Unix, Linux, Windows NT, Mac OS Exemples de S.E.: Ubuntu 10.04, Mac OS X v10.5, Windows Vista… Systèmes dexploitation mobiles: Android Vx.x (Noyau Linux), iOS Vx.x, Windows Phone 7, etc… mb/e/e1/Operating_system_placement.svg/165px- Operating_system_placement.svg.png

11 Jean-Philippe Roberge - Avril Introduction à la matière (2) Analogie du restaurant: On peut faire lanalogie entre un restaurant et un ordinateur et tenant compte des éléments suivant: RestaurantPour un ordinateur ClientUtilisateur Menu, carte des vinsInterface graphique Serveurs et serveusesInterpréteur de commande Cuisinier et aide-cuisiniersNoyau Cuisines, cave à vin, entrepôtMatériel (disques, mémoire, périphériques)

12 Introduction à la matière (3) Jean-Philippe Roberge - Avril En ce qui concerne la famille de S.E. Linux, un site très intéressant à consulter est: Une façon rapide dessayer plusieurs versions différentes de Linux, est dinstaller ces systèmes sur une machine virtuelle (à laide par exemple de VMWare, VirtualBox, etc…).

13 Jean-Philippe Roberge - Avril Évolution de S.E. (1) Les systèmes dexploitation ont nécessité plusieurs itérations du point de vue conception avant de devenir les systèmes du calibre de ceux que nous connaissons aujourdhui. 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 lordinateur est monopolisé par un seul programmeur. Époque où les premières bibliothèques de fonctions et les premiers pilotes dentrées / sorties ont été développés. Le coût énorme de la machine fit en sorte que lon sattarde à loptimisation de son utilisation.

14 Jean-Philippe Roberge - Avril É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 dutilisation des ordinateurs. Concept de « moniteur »: un programme qui veille sur les programmes (jobs) des utilisateurs. Chaque utilisateur soumet leur tâche à lopérateur de lordinateur: 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…

15 Jean-Philippe Roberge - Avril Évolution de S.E. (3) 2-Traitement par lots (suite): Cartes perforées:

16 Jean-Philippe Roberge - Avril Évolution de S.E. (4) 2-Traitement par lots (suite) : Particularité la fin dune tâche est suivie par un branchement vers le moniteur. Ce dernier charge en mémoire la tâche suivante et lexécute dans le processeur. La mise en place dun moniteur a influencé grandement la conception des S.E. modernes. Le moniteur réside dans la mémoire de lordinateur:

17 Jean-Philippe Roberge - Avril É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 daccès très long. Pour augmenter le rendement de lordinateur 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 dun programmes) Exige cependant la coopération du matériel.

18 Jean-Philippe Roberge - Avril É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 dun module MM (Memory Management). maintenir en mémoire les tâches pour lexécution. Création dun module dordonnancement des tâches: peut avoir plus dune tâche en mémoire; sélectionne lune des tâches pour lexécution. Tous ces modules font partie de larchitecture moderne des S.E. !

19 Jean-Philippe Roberge - Avril Évolution de S.E. (7) Le traitement par lots multiprogrammé ne gère cependant pas bien les situations où linteractivité entre lordinateur et lutilisateur 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 à laide dune 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. Lorsquune tâche est en attente dune opération E/S: immédiatement bloquée; contrôle du processeur est passé à une autre tâche.

20 Jean-Philippe Roberge - Avril É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

21 Jean-Philippe Roberge - Avril Évolution de S.E. (9) 5- Systèmes multi-tâches et multi-utilisateurs: Environnement multiprogrammé + linteractivité 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.

22 Jean-Philippe Roberge - Avril Évolution de S.E. (9) 5- Systèmes multi-tâches et multi-utilisateurs (suite): MULTICS avait introduit le concept de processus: structure fondamentale dun S.E. ! Un processus possède trois éléments: 1) programme exécutable; 2) données associées au programme; 3) contexte dexécution du programme. Processus est donc un programme en exécution.

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

24 Structure des systèmes dexploitation modernes (2) Jean-Philippe Roberge - Avril 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 lillusion au programme, quil travaille avec de la mémoire contigüe. Protection contre la corruption des données Interruption logicielle

25 Structure des systèmes dexploitation modernes (3) Jean-Philippe Roberge - Avril 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 dun répertoire racine; système de fichiers hiérarchique un répertoire peut contenir dautres répertoires.

26 Structure des systèmes dexploitation modernes (4) Jean-Philippe Roberge - Avril Système de fichiers (suite) Pour définir lemplacement dun fichier, on peut le faire à laide de plusieurs façons, dont les trois façons suivantes: chemin absolu chemin relatif parcours non linéaire

27 Structure des systèmes dexploitation modernes (5) Jean-Philippe Roberge - Avril 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 daccès sont nécessaires; Primitifs de verrouillage et d ouverture exclusive sont nécessaires. PiPi PnPn

28 Structure des systèmes dexploitation modernes (6) Jean-Philippe Roberge - Avril Communication inter-processus Trois points importants:

29 29 4- Communication inter-processus (suite): limpasse: la famine: Interdépendance (de données) des processus empêche la progression de tous les processus impliqués Analogie: arrêt toutes directions à lintersection des chemins croisés Interdépendance (de données) des processus empêche la progression dun sous-ensemble de processus impliqués Analogie: devant un tourniquet à lentrée dun métro à l heure de pointe Structure des systèmes dexploitation modernes (7) Jean-Philippe Roberge - Avril 2014

30 30 mémoire partagée; tuyaux ( pipes ); messages. Structure des systèmes dexploitation 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

31 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 nadmettant 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 dexploitation modernes (9) Jean-Philippe Roberge - Avril 2014

32 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 dautres 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 dE/S, etc. Ces ressources sont contrôlées par le S.E. Structure des systèmes dexploitation modernes (10) Jean-Philippe Roberge - Avril 2014

33 Modèle des processus (suite): Processus créé mais pas encore exécutable Processus prêt pour lexécution Processus en exécution dans le processeur Processus en suspension: attendant larrivée dun événement ou la fin dune opération Arrêt du processus: fin de son exécution ou causé par une condition derreur Structure des systèmes dexploitation modernes (11) Jean-Philippe Roberge - Avril 2014

34 Interpréteur de commandes Un processus utilisateur; Permet lexécution des programmes; Manipulation des fichiers; Accéder aux périphériques de lordinateur; Automatisation des procédures par fichiers de commandes ; Langages de programmation « shell ». Jean-Philippe Roberge - Avril 2014 Structure des systèmes dexploitation modernes (12)

35 35 Tendances des S.E. modernes (1) Tendances des systèmes dexploitation modernes: Architecture micro-noyau ( microkernel ); Exécution multifilière ( multithreading ); Traitement parallèle symétrique ( symmetric multiprocessing ); Système dexploitation pour processeurs multi-cœurs. Jean-Philippe Roberge - Avril 2014

36 Architecture micro-noyau: changement important dans lorganisation 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 dun S.E. et le développement des serveurs; Jean-Philippe Roberge - Avril 2014 Tendances des S.E. modernes (2)

37 37 Exemple du concept de micro-noyau: Jean-Philippe Roberge - Avril 2014 Tendances des S.E. modernes (3)

38 Exécution multi-fils: un processus est divisé en plusieurs chemins dexécution simultanée; fil dexécution unité de travail interruptible et séquentielle; fil dexécution ne possède pas de contexte dexécution mais utilise celui du processus père; Mémoire utilisée, létat de la pile programme, les ports dE/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)

39 Exécution multi-fils (suite) : un processus est une collection de fils dexécution; fil dexécution principal père de tous les fils dexécution créés; Jean-Philippe Roberge - Avril 2014 Tendances des S.E. modernes (5)

40 Traitement parallèle symétrique: réalisation utilisant lexé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 dexécution dans tous les processeurs libres. Jean-Philippe Roberge - Avril 2014 Tendances des S.E. modernes (6)

41 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 dexé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)

42 Système dexploitation 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 daccè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)

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 2014.http://bash.leyan.org/Accueil [4] Tanenbaum, A.S., Systèmes dexploitation. Pearson Education France, [5] Stallings, W., Operating Systems : Internals and Design Principals. Upper Saddle River, NJ : Prentice Hall, [6] Références citées dans le premier chapitre des notes de cours. 43 Jean-Philippe Roberge - Avril 2014


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

Présentations similaires


Annonces Google