07 - Mémoire. Morgan Barbier [email protected] L2 S4 2012/2013
|
|
|
- Alain Meunier
- il y a 10 ans
- Total affichages :
Transcription
1 07 - Mémoire Morgan Barbier morganbarbier@unicaenfr L2 S4 2012/2013
2 1 Introduction
3 Problèmatique Multitâches : L OS moderne permet d exécuter plusieurs tâches en même temps Chacune de ses tâches possèdent son code à éxécuter, ses variables Gestion de la mémoire : Rendre disponible la mémoire de manière effective et sécurisée Remarque : Le chargement de l OS se trouve également situé dans cet espace 1 Introduction 1 / 33
4 Distribution : Une distribution est un ensemble de logiciels formant un tout cohérent et prêts à installer Mémoire Morte ROM Mémoire vive RAM Logiciels User space Noyau Kernel space 1 Introduction 2 / 33
5 Gestionnaire de mémoire Rôles : Allouer et désallouer Gérer le placement de la mémoire, pour optimiser l espace ou le temps d éxécution Gérer la correspondance des adresses logiques et physiques Assurer la protection des données 1 Introduction 3 / 33
6 Techniques utilisées Segmentation : Subdivision de l espace selon la nature des variables Pagination : Subdivision de l espace d adressage en petite taille évite la fragmentation générale ; favorise la fragmentation interne Swapping : Utilisation de la mémoire secondaire (disque) augmente l espace ; utilise une mémoire plus lente 1 Introduction 4 / 33
7 Segmentation uid / gid euid / egid ordonnancement files desciptors signaux env, args stack heap data 0x text 0x7FFFFFFF 1 Introduction 5 / 33
8 2 Données et mémoire
9 Encodage Fait : La mémoire informatique fonctionne sous forme de bits 0 ou 1 (b) Ces bits sont groupés par 8 pour former des octets (bytes an anglais, B) Alignement et mots : L espace élémentaire (appelé mot) varie selon le processeur (32, 64, 128, bits) Les données doivent être alignées en mémoire 2 Données et mémoire 6 / 33
10 Nombres Représentation : Il existe trois grandes représentation des nombres en mémoire : Entier non-signé: l écriture en binaire standard ; Entier signé: écriture en complément à 2; En virgule flottante: écriture mantisse / exposant Endianess : dans le cas où l on manipule un entier de taille plus grande qu un mot mémoire, on peut le décomposer en plusieurs blocs qui sont rangés : poids fort en tête : big endian (ex : Motorola,SPARC) ; poids faible en tête : small endian (ex : x86) ; bizarrement : Middle-endian 2 Données et mémoire 7 / 33
11 Chaînes de caractères Encodage : Les chaînes de caractères sont transformées en suite d entiers à l aide d une table de codage de caractère Il en existe plusieurs : ascii: l historique ; latin-1: pour les langes ouest-européennes (avec latin-9) ; UTF-8: très général Le codage peut se faire en taille fixe ou en taille variable Une fois transformée, la chaîne peut être stockée : avec un délimiteur de fin : \0 (ex : C, python, ) ; en indiquant avant la longueur de la chaîne (ex : pascal, fortran) 2 Données et mémoire 8 / 33
12 Autres Règles : Toutes les objets sont manipulés en binaire dans l ordinateur Pointeur : Il est possible également de stocker un entier qui indique une adresse en mémoire On parle alors de pointeur 2 Données et mémoire 9 / 33
13 3 Organisation de la mémoire
14 Rappel sur les processus uid / gid euid / egid ordonnancement files desciptors signaux env, args stack heap data 0x text 0x7FFFFFFF 3 Organisation de la mémoire (mémoire et processus) 10 / 33
15 Allocation sur la pile Utilisation : La pile (stack) est utilisée pour stocker les arguments lors de l appel d une fonction et le résultat de la fonction C est également là que se trouvent les variables locales Allocation : En C, on peut allouer de la mémoire sur la pile à l aide de void * alloca(size_t size) Libération : Cette mémoire est automatiquement libérée lors de la sortie d une fonction Attention : Cette fonction n est pas POSIX 3 Organisation de la mémoire (mémoire et processus) 11 / 33
16 Allocation sur le tas Utilisation : La tas (heap) sert à stocker les données permanentes Allocation : En C, on peut allouer de la mémoire dans le tas à l aide de l appel (ou d une de ses variantes) : void * malloc(size_t size) Libération : Pour libérer un objet de cette mémoire, il faut faire appel à la fonction : void free(void *ptr) sous peine de se retrouver avec des fuites de mémoires 3 Organisation de la mémoire (mémoire et processus) 12 / 33
17 Et sous python Sous le tapis : Sous python, toutes les opérations de mémoire sont automatiques et il n existe pas de notion de pointeur Remarque : La question de libération se pose néanmoins pour les descripteurs de fichiers ouverts 3 Organisation de la mémoire (mémoire et processus) 13 / 33
18 Adresses mémoires uid / gid euid / egid ordonnancement files desciptors signaux env, args stack heap data 0x text 0x7FFFFFFF Tous les processus ont une mémoire ayant des adresses entre 0 et le maximum Question : Comment faire en sorte qu ils aient chacun un espace différent? 3 Organisation de la mémoire (mémoire et processus) 14 / 33
19 Pagination Principe : Pour gérer la mémoire, on divise en blocs élémentaires de taille importante : les pages Taille : Actuellement, la taille usuelle des pages est de 4Ko On peut l obtenir à l aide de la commande getconf PAGESIZE $ getconf PAGESIZE 4096 La taille des pages est un compromis entre l espace éventuellement gaspillé dans chaque page et l espace nécessaire pour gérer les pages 3 Organisation de la mémoire (mémoire et processus) 15 / 33
20 Segmentation Segmentation : Chaque adresse est divisé en deux parties : segment offset Le segment est transformé à l aide d une table des pages en adresse réelle par le système d exploitation Matériel : Ce processus est accéléré par la présence d une puce dédié à ce travail : la MMU (memory management unit) 3 Organisation de la mémoire (mémoire et processus) 16 / 33
21 Protection Droits : Comme dans tous les cas précédents, chaque page de mémoire dispose de droits (lecture / écriture / exécution) No exec : Dans les processeurs modernes, le processeur prend en charge un mécanisme interdisant l exécution de code si la page n est pas marquée comme exécutable Randomisation : Pour protéger encore d avantage le système, il est maintenant courant d introduire une portion d aléatoire dans la position réelle en mémoire des bibliothèques ou des données afin de rendre plus difficile l utilisation frauduleuse 3 Organisation de la mémoire (mémoire et processus) 17 / 33
22 Rôle du système d exploitation Allocation / Libération : Le système d exploitation à la charge d allouer et de libérer les pages de mémoires à destination des processus Partage : Certaines pages peuvent être partagées entre plusieurs processus (ex : bibliothèques) Mémoire virtuelle : Il est donc courant de distinguer pour un processus : la mémoire totale utilisée VSIZE; la mémoire propre utilisé RSIZE; 3 Organisation de la mémoire (utilisation de la mémoire) 18 / 33
23 Méthode d allocation Principe : Le système d exploitation reçoit des demandes de mémoires / libérations Il doit alors gérer la position de ces pages dans la mémoire réelle Heuristiques : Il existe plusieurs méthodes usuelles d affectation de la mémoire : First fit: on prend le premier espace libre ; Best fit: on prend le plus petit espace libre ; Worst fit: on prend le plus grand espace libre ; Next fit: on prend l escape libre suivant 3 Organisation de la mémoire (utilisation de la mémoire) 19 / 33
24 Fragmentation Contiguïté : on essaie de maintenir le plus possible la contiguïté des données (l accès à des zone de mémoires contiguës est facile) Fragmentation : Si les demandes / libérations de mémoires sont étalées dans le temps, il se produit un phénomène de fragmentation: l espace libre de retrouve divisé en petits blocs répartis sur toute la mémoire Conséquences : Ce phénomène ralenti l exécution de la machine et dans certains cas peut empêcher d obtenir de la mémoire alors qu il y aurait théoriquement la place 3 Organisation de la mémoire (utilisation de la mémoire) 20 / 33
25 4 Cache
26 Présentation Problème : Il existe un compromis entre la taille de la mémoire et sa vitesse d accès Idée : Garder sous le coude une partie de la mémoire pour l avoir plus rapidement : cache Cadre : Dans cette mémoire, on mets à disposition des copies de portions de mémoire Les emplacement disponibles dans le cache sont appelés cadre 4 Cache 21 / 33
27 Mise en œuvre On copie la partie utile de la mémoire dans le cache Lorsque l on a besoin de mémoire : si la portion voulue est en cache, on l utilise ; sinon, on charge la portion désiré depuis la mémoire et on effectue l étape précédente (défaut de cache) Problème : Que faire lorsque tous les cadres sont occupés? 4 Cache 22 / 33
28 Algorithmes Solution : on libère une place dans le cache Heuristiques : Pour choisir la cadre à libérer, on peux utiliser les heuristiques suivantes : choix au hasard ; choix du plus ancien (FIFO) ; choix de celui non utilisé depuis le plus longtemps (LRU) ; choix du moins fréquemment utilisé (LFU) Il existe un algorithme optimal qui consiste à libérer le cadre qui sera réutilisé dans le futur le plus lointain Cet algorithme n est bien sur pas utilisable dans le cas de l ordinateur qui ne connaît pas l utilisation future de la mémoire 4 Cache 23 / 33
29 Cohérence Dirty bit : lorsque l on choix décrire en mémoire, l écriture est faite directement dans le cache et n est pas transmise à la mémoire On note alors juste que des changements on été effectués (dirty bit) Synchronisation : Les écritures sont effectuées lors de la libération du cadre Cohérence : Ce système permet de gagner en efficacité mais pose des problèmes de cohérence 4 Cache 24 / 33
30 Hiérarchie Efficacité des caches : En pratiques, les caches sont extrêmement efficaces De nos jours, on n en rencontre partout et il n est pas rare d avoir une chaîne de cache importante entre le processeur et la mémoire la plus lente (ex : disque dur) Compromis : La taille des caches est principalement limitée par leur coût Performance : Dans le cas où l on souhaite obtenir des performances importantes de calcul, il est important de prendre en compte le fonctionnement du cache et sa taille 4 Cache 25 / 33
31 5 Garbage collector
32 Présentation Principe de base : Normalement, le programme demande afin d obtenir de la mémoire et indique quand la mémoire est de nouveau disponible Gestion automatique : Dans certains langages (comme python) la mémoire est allouée automatiquement et libérée lorsqu elle n est plus utilisée Le mécanisme dédié à cette deuxième tâche s appelle le garbage collector (Ramasse-miettes en français) 5 Garbage collector 26 / 33
33 Comptage de références Une méthode simple pour déterminer quels données sont utilisées ou non est le principe du comptage de référence À la manière du système de fichier, il existe pour chaque valeur en mémoire un compteur qui indique combien de variables pointent vers cette valeur Si ce compteur atteint 0, alors la valeur n est plus d aucune utilité et peut être libérée 5 Garbage collector 27 / 33
34 Comptage de référence (cont) Boucle : le principal problème du comptage de référence est la présence possible de boucles Elles empêchent de récupérer des valeurs pourtant inutiles Pour contrer ce problème, le garbage collector dispose souvent d un mécanisme de recherche des boucles Fragmentation : Bien évidement, de nombreuses allocations / libérations de mémoire peuvent entraîner une fragmentation de la mémoire 5 Garbage collector 28 / 33
35 Mark and sweep Une deuxième grande catégorie de méthode pour collecter l espace libre est le mark and sweep Pour cela, on divise l espace en deux parties On utilise uniquement une moitié et on effectue l opération suivante : On marque toutes les parties accessibles de la mémoire (mark) ; On recopie dans l autre partie toutes les valeurs marquées en mettant à jour les liens (sweep) On recommence cette opération périodiquement 5 Garbage collector 29 / 33
36 Mark and sweep (cont) Avantage : Cette technique permet d éliminer tous les problèmes de fragmentation Inconvénients : En théorie, le collection s effectue par à-coup et bloque le fonctionnement du programme Il est néanmoins facile de faire un mark incrémental Il est plus délicat de le faire pour le sweep Dans tous les cas, cette technique demande de recopier de grosses quantités de données 5 Garbage collector 30 / 33
37 Générations Remarque : Toutes les variables n ont pas la même durée de vie Corollaire : Il faudrait avoir des fréquence différentes pour les collections selon les types de variables Solution : On divise l espace mémoire en plusieurs zones où on classe les variables selon leur âge Le GC est d autant plus fréquent que les variables sont jeunes 5 Garbage collector 31 / 33
38 Avantages et inconvénients d un GC Avantages : La gestion de la mémoire est automatique ; On évite la fragmentation ; La perte de temps est négligeable Inconvénients : On introduit potentiellement un lag ; La gestion n est pas optimale ; On en peut plus manipuler directement la mémoire ; C est très complexe à mettre en œuvre avec du parallélisme Ce genre de mécanisme est présent principalement dans des langages de haut-niveau dans lesquels on n a pas d accès direct à la mémoire 5 Garbage collector 32 / 33
39 En python Note : le GC ne fait pas partie du langage python mais dépend de l interpréteur utilisé Tuning : Il est néanmoins possible d interagir avec le GC par l intermédiaire du module gc Implémentation : Sous CPython, il existe un système de comptage par référence muni d une méthode de recherche de cycle auquel vient s ajouter un garbage collector de type mark and sweep avec 3 générations 5 Garbage collector 33 / 33
Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université
Systèmes d Exploitation - ENSIN6U3 Gestion de la mémoire Leonardo Brenner 1 Jean-Luc Massat 2 1 [email protected] 2 [email protected] Aix-Marseille Université Faculté des Sciences
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
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 Introduction Plusieurs dizaines de processus doivent se partager
Partie 7 : Gestion de la mémoire
INF3600+INF2610 Automne 2006 Partie 7 : Gestion de la mémoire Exercice 1 : Considérez un système disposant de 16 MO de mémoire physique réservée aux processus utilisateur. La mémoire est composée de cases
6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, [email protected]
6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, [email protected] Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure
Programmation C. Apprendre à développer des programmes simples dans le langage C
Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités
Gestion de la mémoire
433 43 3 Gestion de la mémoire + 1. Qu'est-ce que la mémoire? - Définitions, exemples 2. Allocation contiguë en mémoire - Partitions de taille fixe, de taille variable 3. Pagination et mémoire virtuelle
Architecture des ordinateurs
Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?
Introduction aux SGBDR
1 Introduction aux SGBDR Pour optimiser une base Oracle, il est important d avoir une idée de la manière dont elle fonctionne. La connaissance des éléments sous-jacents à son fonctionnement permet de mieux
Java - la plateforme
Java - la plateforme Java la plateforme Java? VM GC JIT Java Aujourd'hui 3 environnements d'exécutions différents Java ME (Micro Edition) pour PDA, téléphone Android (Java SE moins certain paquetages)
LA mémoire principale est le lieu où se trouvent les programmes et les
Chapitre 9 Gestion de la mémoire LA mémoire principale est le lieu où se trouvent les programmes et les données quand le processeur les exécute. On l oppose au concept de mémoire secondaire, représentée
Bases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
Métriques de performance pour les algorithmes et programmes parallèles
Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and
Conventions d écriture et outils de mise au point
Logiciel de base Première année par alternance Responsable : Christophe Rippert [email protected] Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette
SGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre 2011. Université de Rennes I - IRISA
SGM Master S.T.S. mention informatique, première année Isabelle Puaut Université de Rennes I - IRISA Septembre 2011 Isabelle Puaut SGM 2 / 1 Organisation de l enseignement Semestre 1 : processus, synchronisation
Gestion hybride de la mémoire dynamique dans les systèmes Java temps-réel
Gestion hybride de la mémoire dynamique dans les systèmes Java temps-réel Nicolas Berthier Stage de Magistère M encadré par Christophe Rippert et Guillaume Salagnac Laboratoire Vérimag Septembre 007 Résumé
Systemes d'exploitation des ordinateurs
! " #$ % $ &' ( $ plan_ch6_m1 Systemes d'exploitation des ordinateurs Conception de Systèmes de Gestion de la Mémoire Centrale Objectifs 1. Conception de systèmes paginés 2. Conception des systèmes segmentés
GESTION DE LA MEMOIRE
GESTION DE LA MEMOIRE MEMOIRE CENTRALE (MC) MEMOIRE SECONDAIRE (MS) 1. HIÉRARCHIE ET DIFFÉRENTS TYPES DE MÉMOIRE... 2 2. MÉMOIRE CACHE... 3 3. MODÈLE D'ALLOCATION CONTIGUË (MC OU MS)... 5 3.1. STRATÉGIE
Système de Gestion de Fichiers
Chapitre 2 Système de Gestion de Fichiers Le système de gestion de fichiers est un outil de manipulation des fichiers et de la structure d arborescence des fichiers sur disque et a aussi le rôle sous UNIX
Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués
International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn: 2278-800X, www.ijerd.com Volume 7, Issue 5 (June 2013), PP.99-103 Solution A La Gestion Des Objets Java Pour Des
Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université
Systèmes d Exploitation - ENSIN6U3 Systèmes de gestion de fichiers - SGF Leonardo Brenner 1 Jean-Luc Massat 2 1 [email protected] 2 [email protected] Aix-Marseille Université Faculté
Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)
Base de l'informatique Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB) Généralité Comment fonctionne un ordinateur? Nous définirons 3 couches Le matériel
Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43
Techniques de stockage Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Contenu de ce cours : 1. Stockage de données. Supports, fonctionnement d un disque, technologie RAID 2. Organisation
Informatique Générale
Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) [email protected] Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html
Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes [email protected]
Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes [email protected] 1- Structure d un disque 2- Ordonnancement des requêtes 3- Gestion du disque - formatage - bloc d amorçage - récupération
SYSTÈME DE GESTION DE FICHIERS
SYSTÈME DE GESTION DE FICHIERS - DISQUE 1 Les couches logiciels réponse requête Requêtes E/S Système E/S Pilote E/S Interruptions utilisateur traitement S.E. commandes S.E. S.E. matériel Contrôleur E/S
Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données
EARTH et Threaded-C: Éléments clés du manuel de références de Threaded-C Bref historique de EARTH et Threaded-C Ancêtres de l architecture EARTH: Slide 1 Machine à flux de données statique de J.B. Dennis
Machines Virtuelles. et bazard autour. Rémi Forax
Machines Virtuelles et bazard autour Rémi Forax Avant propos Quelle est la complexité du code ci-dessous? Avec un processeur à 1Ghz, combien de temps le calcul prendra t'il? public static void main(string[]
SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE
SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE C.Crochepeyre MPS_SGF 2000-20001 Diapason 1 Les couches logiciels réponse SGF requête matériel matériel Requêtes E/S Système E/S Pilote E/S Interruptions Contrôleur
INITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Représentation des Nombres
Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...
SYS MEM. Gestion de la mémoire. Table des matières. IUT - Département Informatique. ASR2-Système. 1.1 Motivation
TABLE DES MATIÈRES 1 MÉMOIRE ET MULTI-PROGRAMMATION IUT - Département Informatique ASR2-Système Gestion de la mémoire SYS MEM Table des matières 1 Mémoire et multi-programmation 1 1.1 Motivation...................
1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)
Chapitre 4 Le système de Gestion de Fichiers 1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques) 1 Systèmes d entrée/sortie Concepts importants : Matériel E/S
Structure fonctionnelle d un SGBD
Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert
1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :
GIF-3002 SMI et Architecture du microprocesseur Ce cours discute de l impact du design du microprocesseur sur le système entier. Il présente d abord l architecture du cœur ARM Cortex M3. Ensuite, le cours
Algorithme. Table des matières
1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............
Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace
Processus 1) Contexte 2) Modèles de Notion de Points de vue Modèle fourni par le SX Opérations sur les 3) Gestion des Représentation des Opérations 4) Ordonnancement des Niveaux d ordonnancement Ordonnancement
Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski [email protected]
Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski [email protected] Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université
Cours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com [email protected]
Partie 1 Professeur : Haouati Abdelali CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com [email protected] Partie I : Généralités et algorithmique de base 1. Environnement matériel et logiciel
Compilation (INF 564)
Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation
Brefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs
Brefs rappels sur la pile et le tas (Stack / Heap) et les pointeurs (exemples en C) v1.11 - Olivier Carles 1 Pile et Tas Mémoire allouée de manière statique Mémoire Allouée Dynamiquement variables locales
La JVM. La machine virtuelle Java. La JVM. La JVM
La machine virtuelle Java Historique et rappels Organisation mémoire de la JVM Le garbage collector Le bytecode, la machine à pile. Les threads Suivi, tracé, optimisation d un programme Java JVM embarquées
UE Programmation Impérative Licence 2ème Année 2014 2015
UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie [email protected] 2 Programmation Impérative
DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51
DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de
La mémoire. Un ordinateur. L'octet. Le bit
Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve
Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. [email protected]
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 [email protected] LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions
Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental
INTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007
NFP 121 Java et les Threads Présentation : Thierry Escalarasse Mai 2007 Plan du cour Présentation de la notion de Threads La classe Thread L interface Runnable Les états d un thread La Synchronisation
Introduction aux Machines Virtuelles avec VMKit
Introduction aux Machines Virtuelles avec Ingénieur :, Responsables : Gaël Thomas, Gilles Müller EQUIPE REGAL LIP6 INRIA (Paris/France) un substrat de machine virtuelle : a substrate for Managed Runtime
UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
Cours d Algorithmique et de Langage C 2005 - v 3.0
Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU [email protected] Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris
Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
IV- Comment fonctionne un ordinateur?
1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions
L informatique en BCPST
L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité
Licence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un
Cours A7 : Temps Réel
Cours A7 : Temps Réel Pierre.Paradinas / @ / cnam.fr Cnam/Cedric Systèmes Enfouis et Embarqués (SEE) Motivations Du jour : les mécanismes multitâches, la gestion des priorités, l ordonnancement, la gestion
Chapitre 2. Classes et objets
Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons
Plan global. Programmation système II. Socket du domaine UNIX. Plan. Socket UNIX, Terminaux, Async IO, Mémoire, ELF.
Programmation système II Socket UNIX, Terminaux, Async IO, Mémoire, ELF Timothée Ravier LIFO, INSA-CVL, LIPN 1 re année cycle ingénieur STI 2013 2014 Plan global 1 Socket UNIX 2 Terminaux 3 Autres modèles
INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores
INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN
Cours Programmation Système
Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda [email protected] Février
Rappels d architecture
Assembleur Rappels d architecture Un ordinateur se compose principalement d un processeur, de mémoire. On y attache ensuite des périphériques, mais ils sont optionnels. données : disque dur, etc entrée
REALISATION d'un. ORDONNANCEUR à ECHEANCES
REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6
Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction
Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre Partie I : Introduction Plan de la première partie Quelques définitions Caractéristiques communes des applications temps-réel Exemples d
Cours Informatique 1. Monsieur SADOUNI Salheddine
Cours Informatique 1 Chapitre 2 les Systèmes Informatique Monsieur SADOUNI Salheddine Un Système Informatique lesystème Informatique est composé de deux parties : -le Matériel : constitué de l unité centrale
Limitations of the Playstation 3 for High Performance Cluster Computing
Introduction Plan Limitations of the Playstation 3 for High Performance Cluster Computing July 2007 Introduction Plan Introduction Intérêts de la PS3 : rapide et puissante bon marché L utiliser pour faire
Cours de Systèmes d Exploitation
Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation
TD : Codage des images
TD : Codage des images Les navigateurs Web (Netscape, IE, Mozilla ) prennent en charge les contenus textuels (au format HTML) ainsi que les images fixes (GIF, JPG, PNG) ou animée (GIF animée). Comment
C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement
C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement des objets d'une classe Utilisation d'une classe Droit
Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte
Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes
La technologie Java Card TM
Présentation interne au CESTI La technologie Java Card TM [email protected] http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages
LIVRE BLANC Pratiques recommandées pour l utilisation de Diskeeper sur les réseaux SAN (Storage Area Networks)
LIVRE BLANC Pratiques recommandées pour l utilisation de Diskeeper sur les réseaux SAN (Storage Area Networks) Think Faster. [Pensez plus vite] Visitez Condusiv.com RECOMMANDATIONS D UTILISATION DE DISKEEPER
Logiciel Libre Cours 3 Fondements: Génie Logiciel
Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli [email protected] Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/
Logiciel de Base. I. Représentation des nombres
Logiciel de Base (A1-06/07) Léon Mugwaneza ESIL/Dépt. Informatique (bureau A118) [email protected] I. Représentation des nombres Codage et représentation de l'information Information externe formats
Conversion d un entier. Méthode par soustraction
Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut
Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
Cours de Système : Gestion de Fichiers
Cours de Système : Gestion de Fichiers Bertrand Le cun et Emmanuel Hyon bertrand.le cun{at}u-paris10.fr et Emmanuel.Hyon{at}u-paris10.fr Université Paris Ouest Nanterre 25 octobre 2011 B.L.C. & E.H. (UPO)
Éléments d'architecture des ordinateurs
Chapitre 1 Éléments d'architecture des ordinateurs Machines take me by surprise with great frequency. Alan Turing 1.1 Le Hardware Avant d'attaquer la programmation, il est bon d'avoir quelques connaissances
Cours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas [email protected] PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
1 Description générale de VISFIELD
Guide d utilisation du logiciel VISFIELD Yann FRAIGNEAU LIMSI-CNRS, Bâtiment 508, BP 133 F-91403 Orsay cedex, France 11 décembre 2012 1 Description générale de VISFIELD VISFIELD est un programme écrit
Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:
Travaux Pratiques 3. IFT 1002/IFT 1005. Structure Interne des Ordinateurs. Département d'informatique et de génie logiciel. Université Laval. Hiver 2012. Prof : Bui Minh Duc. Tous les exercices sont indépendants.
Logiciel de base. Première année ENSIMAG
Logiciel de base Première année ENSIMAG 1 Procédures, paramètres, pile En assembleur une fonction est une étiquette, c'est l'adresse de sa première instruction Lors de l'appel d'une fonction, la pile sert
Architecture matérielle des systèmes informatiques
Architecture matérielle des systèmes informatiques IDEC, Renens. Version novembre 2003. Avertissement : ce support de cours n est pas destiné à l autoformation et doit impérativement être complété par
Codage d information. Codage d information : -Définition-
Introduction Plan Systèmes de numération et Représentation des nombres Systèmes de numération Système de numération décimale Représentation dans une base b Représentation binaire, Octale et Hexadécimale
CH.3 SYSTÈMES D'EXPLOITATION
CH.3 SYSTÈMES D'EXPLOITATION 3.1 Un historique 3.2 Une vue générale 3.3 Les principaux aspects Info S4 ch3 1 3.1 Un historique Quatre générations. Préhistoire 1944 1950 ENIAC (1944) militaire : 20000 tubes,
IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif :
IN SYSTEM Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL V16 Objectif : En synthèse des manuels de référence de Sage Ligne 100, ce document vous présente les préconisations,
Plan global Outils de développement et compilation. Plan. Objectifs des outils présentés. IDE, GCC/Clang, ASAN, perf, valgrind, GDB.
global Outils de développement et compilation IDE, GCC/Clang, ASAN, perf, valgrind, GDB Timothée Ravier LIFO, INSA-CVL, LIPN 1 re année cycle ingénieur STI 2013 2014 1 / 36 Objectifs des outils présentés
Initiation à la sécurité
Initiation à la sécurité UE Systèmes informatiques 12 septembre 2011 Julien Raeis - http://raeis.iiens.net/ Présentation Ingénieur IIE 2005 Carrière dans la sécurité des systèmes Consultant en sécurité
UE C avancé cours 1: introduction et révisions
Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple
Éléments de programmation et introduction à Java
Éléments de programmation et introduction à Java Jean-Baptiste Vioix ([email protected]) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-20 Les différents langages informatiques
Initiation. àl algorithmique et à la programmation. en C
Initiation àl algorithmique et à la programmation en C Initiation àl algorithmique et à la programmation en C Cours avec 129 exercices corrigés Illustration de couverture : alwyncooper - istock.com Dunod,
Virtualisation logicielle De la machine réelle à la machine virtuelle abstraite
Virtualisation logicielle De la machine réelle à la machine virtuelle abstraite Bertil FOLLIOT et Gaël THOMAS Cette version est une préversion de l article accepté par «Technique de l ingénieur» (Hermes).
Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique
Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation
LES DECIMALES DE π BERNARD EGGER
LES DECIMALES DE π BERNARD EGGER La génération de suites de nombres pseudo aléatoires est un enjeu essentiel pour la simulation. Si comme le dit B Ycard dans le cours écrit pour le logiciel SEL, «Paradoxalement,
La carte à puce. Jean-Philippe Babau
La carte à puce Jean-Philippe Babau Département Informatique INSA Lyon Certains éléments de cette présentation sont issus de documents Gemplus Research Group 1 Introduction Carte à puce de plus en plus
Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
