Planification du cours #1



Documents pareils
Introduction aux Systèmes et aux Réseaux, Master 2 CCI

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Introduction à l informatique en BCPST

CH.3 SYSTÈMES D'EXPLOITATION

Partie 7 : Gestion de la mémoire

But de cette présentation. Bac à sable (Sandbox) Principes. Principes. Hainaut P

Généralités sur les systèmes d Exploitation

Généralités sur les systèmes d Exploitation

Introduction aux Systèmes et aux Réseaux

1 Mesure de la performance d un système temps réel : la gigue

Système de Gestion de Fichiers

Systèmes informatiques

gestion des processus La gestion des processus

Exécutif temps réel Pierre-Yves Duval (cppm)

HISTORIQUE DES SYSTEMES D'EXPLOITATION (S.E.)

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Manuel logiciel client Java

Virtual Box Mettez un PC dans votre... PC

L informatique en BCPST

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Procédure d installation pour WinEUR PROCÉDURE D INSTALLATION POUR WINEUR. Copyright GIT SA 2015 Page 1/16

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

WebSphere MQ & Haute Disponibilité

Les générations d'ordinateurs de 1945 à nos jours

Conseils et astuces pour un déploiement réussi de la solution VMware Mirage

SÉCURISATION DES CONNEXIONS À DISTANCE SUR LES RÉSEAUX DE CONTRÔLE

Retrouver de vieux programmes et jouer sur VirtualBox

Module : Virtualisation à l aide du rôle Hyper-V

DAns un système multi-utilisateurs à temps partagé, plusieurs processus

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Commandes Linux. Gestion des fichiers et des répertoires. Gestion des droits. Gestion des imprimantes. Formation Use-IT

Accéder à ZeCoffre via FTP

Installation et prise en main d UBUNTU

NiceLabel pour Services Microsoft Windows Terminal Serveur et Citrix MetaFrame

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Métriques de performance pour les algorithmes et programmes parallèles

Présentation d HyperV

INSTALL ATION D UNE D I S T RIBUTION

LA VIRTUALISATION. Etude de la virtualisation, ses concepts et ses apports dans les infrastructures informatiques. 18/01/2010.

VMWare Infrastructure 3

Un ordinateur, c est quoi?

SYSTÈME DE GESTION DE FICHIERS

Windows Server Chapitre 1: Découvrir Windows Server 2008

User Documentation. Documentation utilisateur. version 0.2b

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

vbladecenter S! tout-en-un en version SAN ou NAS

Linux 1: Présentation

Rapport du projet Qualité de Service

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

GESTION DE LA MEMOIRE

ARCHITECTURE ET SYSTÈMES D'EXPLOITATIONS

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Cours de Systèmes d Exploitation

1. Présentation du TP

Support de cours système d exploitation

en version SAN ou NAS

But de cette présentation

Machine virtuelle W4M- Galaxy : Guide d'installation

École Polytechnique de Montréal. Département de Génie Informatique et Génie Logiciel. Cours INF2610. Contrôle périodique.

PLAN. Connexion Mac vers PC. mercredi 15 juillet 2009

AOLbox. Partage de disque dur Guide d utilisation. Partage de disque dur Guide d utilisation 1

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Le système GNU/Linux IUP NTIC /11/05

Concept de machine virtuelle

Bases de données Cours 1 : Généralités sur les bases de données

Administration de systèmes

II- Préparation du serveur et installation d OpenVpn :

Travail d équipe et gestion des données L informatique en nuage

Les avantages de la virtualisation sont multiples. On peut citer:

L accès à distance du serveur

Démarrage des solutions Yourcegid On Demand avec Citrix

TP Déploiement de réseaux IP sous Linux et MS Windows sur une infrastructure virtualisée

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année

Système de vidéosurveillance Guide de configuration

Instructions relatives à l installation et à la suppression des pilotes d imprimante PostScript et PCL sous Windows, version 8

Lutter contre les virus et les attaques... 15

La mémoire. Un ordinateur. L'octet. Le bit

Cours Bases de données

Comment installer la configuration des salles sur son ordinateur personnel?

Présentation Utilisation. VirtualBox. Firas Kraïem. 22 février 2014

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

WEA Un Gérant d'objets Persistants pour des environnements distribués

Préparation à l installation d Active Directory

Catalogue des stages Ercom 2013

Chapitre 02. Configuration et Installation

Projet Active Object

Comment paramétrer manuellement mon mobile pour accéder à la 2G/3G+ et configurer mes s?

Brique BDL Gestion de Projet Logiciel

Manuel Utilisateur Version 1.6 Décembre 2001

Système clients serveur Kwartz Vulgarisation, identification, dossier personnel

Démarrer et quitter... 13

Mise en œuvre d une solution de virtualisation

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Transcription:

Systèmes d exploitation et programmation de systèmes -GPA435- Planification du cours #1 Présentation personnelle Présentation du plan de cours Cours #1: Présentation du cours & introduction à la matière Enseignant: Jean-Philippe Roberge Discussion sur les 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 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 (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 3 Présentation du plan de cours Plan de cours 4 Jean-Philippe Roberge - Janvier 2014 1

Un petit aparté (1) Expérience avec Linux: Distributions: Ubuntu (à peu près toutes les versions depuis v.8.04 jusqu à 14.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 Un petit aparté (2) Durant ma maîtrise 5 6 Un petit aparté (3) 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 7 8 2

Introduction à la matière (1) Introduction à la matière (2) 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 Analogie du restaurant: On peut faire l analogie entre un restaurant et un ordinateur et tenant compte des éléments suivant: Client Restaurant Menu, carte des vins Serveurs et serveuses Cuisinier et aide-cuisiniers Cuisines, cave à vin, entrepôt Utilisateur Interface graphique Pour un ordinateur Interpréteur de commande Noyau Matériel (disques, mémoire, périphériques) Systèmes d exploitation mobiles: Android Vx.x (Noyau Linux), ios Vx.x, Windows Phone 7, etc http://upload.wikimedia.org/wikipedia/commons/thu mb/e/e1/operating_system_placement.svg/165px- Operating_system_placement.svg.png 9 10 Introduction à la matière (3) 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 ). É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 programme / 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. 11 12 3

Évolution de S.E. (2) Évolution de S.E. (3) 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: 2-Traitement par lots (suite): Cartes perforées: Facturation, impôts, calculs de comptabilité, etc 13 14 Évolution de S.E. (4) Évolution de S.E. (5) 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: 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. 15 16 4

Évolution de S.E. (6) Évolution de S.E. (7) 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. 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. Tous ces modules font partie de l architecture moderne des S.E.! 17 18 Évolution de S.E. (8) Évolution de S.E. (9) 4-Traitement en temps partagé (suite): Explication du temps partagé: vidéos intéressants du point de vue historique: 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. https://www.youtube.com/watch?v=anxxe8sdx78 https://www.youtube.com/watch?v=jc6jrhycdsa 19 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. 20 5

É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. 21 22 modernes (1) modernes (2) D abord, cette structure est organisé en couches hiérarchiques: Interpréteur de commandes Gestion des processus utilisateurs Gestion des périphériques Terminal, imprimante, etc. Communication inter-processus Pipes, mémoire partagée, etc. Système de fichiers Mémoire virtuelle Mémoire secondaire Disques reliés localement Processus primitifs Routines de gestion des objets ex: liste des processus, etc. Matériel Nous allons approfondir ces couches dans les transparents qui suivent 23 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: Protection contre la corruption des données Interruption logicielle Donner l illusion au programme, qu il travaille avec de la mémoire contigüe. 24 6

modernes (3) modernes (4) 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. 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épertoire courant Répertoire racine Sous-répertoire Sous-répertoire spécial (Lien virtuel) chemin absolu chemin relatif parcours non linéaire 25 26 modernes (5) modernes (6) 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. 4- Communication inter-processus Trois points importants: P i P n Des droits d accès sont nécessaires; Primitifs de verrouillage et d ouverture exclusive sont nécessaires. 27 28 7

modernes (7) 4- Communication inter-processus (suite): 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 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 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. L'écriture place les données dans le tuyau. L'écriture à un tuyau plein met en attente le processus impliqué 30 Producteur Structure de données FIFO. Leurs accès sont gérés par le S.E. Protocole FIFO Tuyau Consommateur La lecture enlève les données du tuyau. La lecture d'un tuyau vide met en attente le processus impliqué 29 modernes (9) modernes (10) 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 5 - Modèle des processus: Processus entité dynamique; possède une durée de vie et sont en interaction avec d autres processus interaction par communication ; utilisant le système de communication inter-processus (mémoire partagée, tuyaux, messages, etc.) du S.E. utilise des ressources; 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. 31 32 8

modernes (11) modernes (12) 5 - Modèle des processus (suite): Nouveau Prêt Exécution Sortie Admission Répartition Retrait Processus créé mais pas encore exécutable Processus prêt pour l exécution libération Bloqué Temps écoulé Processus en suspension: attendant l arrivée d un événement ou la fin d une opération 33 En attente Processus en exécution dans le processeur Arrêt du processus: fin de son exécution ou causé par une condition d erreur 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». 34 Tendances des S.E. modernes (1) Tendances des S.E. modernes (2) 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. 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; 35 36 9

Tendances des S.E. modernes (3) Tendances des S.E. modernes (4) Exemple du concept de micro-noyau: Micro-noyau Ordinateur A Serveur du système de fichiers (Ordinateur A) Serveur du système de fichiers (Ordinateur B) Micro-noyau Ordinateur B 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 Serveur d'interface graphique (Ordinateur A) Serveur d'interface graphique (Ordinateur B) Mémoire utilisée, l état de la pile programme, les ports d E/S associés, l état des registres du processeur, etc. 37 38 Tendances des S.E. modernes (5) Tendances des S.E. modernes (6) 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; Fil #1 Fil #3 Fil #6 Fil principal Fil #7 Fil #2 Fil #4 Fil #5 Processus Fin de l'exécution du fil d'exécution Synchronisation des fils d'exécution 39 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. 40 10

Tendances des S.E. modernes (7) Tendances des S.E. modernes (8) 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. 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. 41 42 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 11