INFOR 101 Chapitres 5 et 6 Marianne Morris 1 Discussion du devoir # 2 La solution du devoir No. 2 est à la page Web du cours! 2 Les parties du système de l’ordinateur L’architecture Von Neumann a 4 unités fonctionnelles Mémoire Entrée/Sortie Unité arithmétique et logique Unité de contrôle 3 Figure 5.18 The Organization of a Von Neumann Computer 4 Figure 5.2 Components of the Von Neumann Architecture 5 Figure 5.14 Typical Machine Language Instruction Format 6 Figure 5.16 Organization of the Control Unit Registers and Circuits 7 Instructions Von Neumann LOAD STORE ADD JUMP COMPARE JUMPTGT (pages 220-223) 8 Instructions Von Neumann Exercices: Quelles sont les instructions Von Neumann utilisées pour: Charger deux valeurs de la mémoire au registre, les additionner et les sauvegarder dans une nouvelle adresse dans la mémoire Comparer deux valeurs Soustraire deux valeurs 9 Instructions Von Neumann Charger deux valeurs de la mémoire au registre, les additionner et les sauvegarder dans une nouvelle adresse dans la mémoire LOAD ADD STORE 10 Instructions Von Neumann Comparer deux valeurs LOAD COMPARE 11 Instructions Von Neumann Soustraire deux valeurs LOAD SUBTRACT STORE 12 Chapitre 6 Objectifs: Logiciels – Machine virtuelle Systèmes d’exploitation Assembleurs et langage assembleur 13 Introduction Il est bien difficile de travailler directement (sans interface) avec le matériel « hardware » Ordinateur Von Neumann Une interface entre l’utilisateur et l’ordinateur pour rendre l’ordinateur plus usable Windows XP 14 Introduction Le rôle de l’interface: Cacher les détails du matériel de l’utilisateur Présenter l’information sans montrer la structure interne du système Accéder les ressources facilement Prévenir des dégâts au matériel, au programme et aux données 15 Machine virtuelle Non, ce n’est pas de la Science fiction Intermédiaire entre l’utilisateur et l’ordinateur (matériel) Environnement virtuel qui ne permet à l’utilisateur de voir l’architecture interne de l’ordinateur Services et ressources créées par les logiciels du système et qui sont visibles à l’utilisateur 16 Figure 6.1 The Role of System Software 17 Logiciels du système Une collection de plusieurs programmes: Systèmes d’exploitation Contrôler le fonctionnement de l’ordinateur Communiquer avec l’utilisateur Déterminer ce que l’utilisateur veut Activer les programmes et les logiciels de l’utilisateur pour exécuter ses commandes 18 Systèmes d’exploitation « Operating System » Un ensemble de programmes responsables de la liaison entre les ressources matérielles d'un ordinateur et les applications de l'utilisateur (traitement de texte, jeu vidéo…) . 19 Systèmes d’exploitation « Operating System » Il assure le démarrage de l'ordinateur, et fournit aux programmes applicatifs des interfaces standardisées pour les périphériques (parties physiques, matérielles de l’ordinateur). 20 Figure 6.2 Types of System Software 21 Logiciels du système Interface (Graphical User Interface - GUI) Un environnement graphique est, en informatique, ce qui est affiché en mode pixel au moniteur d’ordinateur et sur lequel l'utilisateur peut agir avec différents périphériques d'entrée comme le clavier, la souris, etc. Des images, des animations (en 2 ou 3 dimensions), et même des vidéos peuvent être rendues à l'écran. 22 Logiciels du système Services de langage Assembleurs, compilateurs et interpréteurs Permettent à l’utilisateur de réaliser des programmes en langage plus évolués et d’exécuter ces programmes 23 Logiciels du système Gestion de la mémoire Gérer l'espace mémoire alloué à chaque application et à chaque usager Gestion des informations Fournir un certain nombre d'indicateurs permettant de diagnostiquer le bon fonctionnement de la machine 24 Logiciels du système Gestion des entrées/sorties Permettre d'unifier et de contrôler l'accès des programmes aux ressources matérielles par l'intermédiaire des pilotes (appelés également gestionnaires de périphériques ou gestionnaires d'entrée/sortie). 25 Logiciels du système Gestion du processeur Gérer l'allocation du processeur entre les différents programmes grâce à un algorithme d'ordonnancement Gestion de l'exécution des applications Exécution des applications en leur affectant les ressources nécessaires à leur bon fonctionnement. Il permet à ce titre de «tuer» une application ne répondant plus correctement 26 Logiciels du système Gestion des fichiers Gérer la lecture et l'écriture dans le système de fichiers et les droits d'accès aux fichiers par les utilisateurs et les applications. 27 Sommaire Les logiciels du système et les systèmes d’exploitation sont responsables de la gestion de: Service de langage Mémoire, informations, entrées/sorties Processeur Applications, fichiers, droits de sécurité 28 Figure 6.2 Types of System Software 29 Langage assembleur Langage de Machine Système binaire Adresses numériques de la mémoire Difficile à modifier Difficile de créer des données 30 Langage assembleur Langage assembleur Surmonter les faiblesses des langages de machine Créer un environnement plus facile pour l’utilisateur Dans le passé, c’était un langage de deuxième génération Aujourd’hui, c’est considéré comme langage de bas niveau 31 Figure 6.3 The Continuum of Programming Languages 32 Langage assembleur Programme source Programme objet En langage assembleur En langage de machine Assembleur Traduit le programme source en programme objet 33 Figure 6.4 The Translation/Loading/Execution Process 34 Langage assembleur Avantages de l’utilisation de langage assembleur plutôt que le langage de machine Utiliser des instructions plutôt que des valeurs binaires Utiliser des adresses symboliques de la mémoire plutôt que des adresses binaires Pseudo opérations et création des données 35 Figure 6.6 Structure of a Typical Assembly Language Program 36 Langage assembleur Exemple Algorithmic operations Set the value of i to 1 (line 2). : Add 1 to the value of i (line 7). 37 Langage assembleur Exemple Assembly language translation LOAD STORE : INCREMENT : I: .DATA ONE: .DATA ONE --Put a 1 into register R. I --Store the constant 1 into i. I --Add 1 to memory location i. 0 1 --The index value. Initially it is 0. --The constant 1. 38 Langage assembleur Exemple Arithmetic expression A=B+C–7 (Assume that B and C have already been assigned values) 39 Langage assembleur Exemple Assembly language translation LOAD ADD SUBTRACT STORE : A: .DATA B: .DATA C: .DATA SEVEN: .DATA B C SEVEN --R A 0 0 0 7 --Put the value B into register R. --R now holds the sum (B + C). now holds the expression (B + C - 7). --Store the result into A. --These data should be placed after the HALT. --The constant 7. 40 Langage assembleur Exercice Problem Read in a sequence of non-negative numbers, one number at a time, and compute a running sum When you encounter a negative number, print out the sum of the non-negative values and stop 41 Figure 6.7 Algorithm to Compute the Sum of Numbers 42 Figure 6.8 Assembly Language Program to Compute the Sum of Nonnegative Numbers 43 Traduire et charger Avant d’exécuter un programme source Assembleur Traduit le langage assembleur symbolique en langage de machine Chargeur Lire des instructions du fichier objet et les garde dans la mémoire pour l’exécution 44 Traduire et charger Rôle de l’assembleur Convertir les op codes au système binaire Convertir les adresses symboliques en valeurs binaires Performer des services commandés par les pseudo ops Mettre les instructions traduites dans un fichier pour futur usage 45 Systèmes d’exploitation Traduire, charger ou exécuter un programme Types de commandes au système Ligne de texte tapé au pupitre Options d’un menu qui peuvent être cliquées en utilisant la souris Toutes commandes sont examinées pour le système d’exploitation 46 Fonctions du système d’exploitation Gérer l’interface d’utilisateur Procéder et activer un programme Contrôler l’accès aux fichiers Allouer les ressources efficacement Détecter les erreurs et les impasses « deadlock » 47 Interface Le système d’exploitation Attendre les commandes de l’utilisateur Si la commande est légale, le système active le logiciel approprié de façon que celui-ci aurait son tour pour exécuter Types d’interface À base de texte Graphique 48 Figure 6.15 User Interface Responsibility of the Operating System 49 Sécurité et protection du système Les systèmes d’exploitation doivent Prévenir les gens non autorisés d’utiliser l’ordinateur Utilisation de ID et de mot de passe Prévenir les utilisateurs autorisés d’avoir accès à des ressources ou des fichiers pour lesquels ils n’ont pas d’autorisation Utilisation de liste d’autorisation 50 Allouer les ressources efficacement Le système d’exploitation assure que Plusieurs processus exécutent en même temps Le processeur est toujours occupé Une file de processus prêts à être exécutés N’importe quand le processeur est en attente, le système lui assigne un processus de la file d’attente 51 Bon usage des ressources Deadlock Deux processus, chacun garde les ressources dont l’autre a besoin Ni l’un ni l’autre ne finira jamais! Les systèmes d’exploitation doivent Prévenir les « deadlocks » Dépanne les « deadlocks » 52 Figure 6.24 Some of the Major Advances in Operating Systems Development 53 Sommaire Langage assembleur Machine virtuelle Plus facile que le langage de machine Environnement virtuel qui rend plus facile d’utiliser l’ordinateur et le matériel Système d’exploitation Intermédiaire entre le matériel informatique et l’utilisateur 54