Skip to content

Latest commit

 

History

History
571 lines (388 loc) · 15.4 KB

glossaire.rst

File metadata and controls

571 lines (388 loc) · 15.4 KB

Glossaire

.. glossary::
   :sorted:

 CPU
    Central Processing Unit

 C
    Langage de programmation permettant d'interagir facilement avec le matériel.

 RISC
    Reduced Instruction Set Computer

 CISC
    Complex Instruction Set Computer

 x86
    Famille de microprocesseurs développée par intel_. Le 8086 est le premier processeur de cette famille. Ses successeurs (286, 386, Pentium, Centrino, Xeon, ...) sont restés compatibles avec lui tout en introduisant chacun de nouvelles instructions et de nouvelles fonctionnalités. Aujourd'hui, plusieurs fabricants développent des processeurs qui supportent le même langage machine que les processeurs de cette famille.

 Unix
    Système d'exploitation développé initialement par AT&T Bell Labs.

 gcc
    Compilateur pour la langage C développé par un groupe de volontaires qui est diffusé depuis http://gcc.gnu.org gcc est utilisé dans plusieurs systèmes d'exploitation de type Unix, comme MacOS, Linux ou FreeBSD. Il existe d'autres compilateurs C. Une liste non-exhaustive est maintenue sur http://en.wikipedia.org/wiki/List_of_compilers#C_compilers

 llvm
    Ensemble de compilateurs pour différents langages de programmation et différents processeurs développé par un groupe de volontaire. llvm est distrubé depuis http://llvm.org/

 cpp
 préprocesseur
    Le préprocesseur C est un programme de manipulation de texte sur base de macros qui est utilisé avec le compilateur. Le préprocesseur de :term:`gcc` est http://gcc.gnu.org/onlinedocs/cpp/

 microprocesseur
 processeur
    à compléter

 CPU
    Central Processing Unit. Voir :term:`microprocesseur`

 stdin
    Entrée standard sur un système Unix (par défaut le clavier)

 stdout
    Sortie standard sur un système Unix (par défaut l'écran)

 stderr
    Sortie d'erreur standard sur un système Unix (par défaut l'écran)

 X11
    à compléter

 Gnome
    à compléter

 CDE
    à compléter

 shell
    Interpréteur de commandes sur un système Unix. `bash(1)`_ est l'interpréteur de commandes le plus utilisé de nos jours.

 bit
    Plus petite unité d'information. Par convention, un bit peut prendre les valeurs ``0`` et ``1``.

 nibble
    Un bloc de quatre bits consécutifs.

 byte
 octet
    Un bloc de huit bits consécutifs.

 BSD Unix
    Variante de Unix développée à l'Université de Californie à Berkeley.

 FreeBSD
    Variante de BSD Unix disponible depuis http://www.freebsd.org

 OpenBSD
    Variante de BSD Unix disponible depuis http://www.openbsd.org

 MacOS
    Système d'exploitation développé par Apple Inc. comprenant de nombreux composantes provenant de :term:`FreeBSD`

 Minix
    Famille de noyaux de systèmes d'exploitation inspiré de :term:`Unix` développée notamment par :term:`Andrew Tanenbaum`. Voir http://www.minix3.org pour la dernière version de Minix.

 Linux
    Noyau de système d'exploitation compatible Unix développé initialement par Linus Torvalds.

 Solaris
    Système d'exploitation compatible Unix développé par Sun Microsystems et repris par Oracle. La version open-source, OpenSolaris, est disponible depuis http://www.opensolaris.org

 Application Programming Interface
 API
    Un API est généralement un ensemble de fonctions et de structures de données qui constitue l'interface entre deux composants logiciels qui doivent collaborer. Par exemple, l'API du noyau d'un système Unix est composée de ses appels systèmes. Ceux-ci sont décrits dans la section 2 des pages de manuel (voir `intro(2)`_).

 GNU is not Unix
 GNU
    GNU est un projet open-source de la Free Software Foundation qui a permis le développement d'un grand nombre d'utilitaires utilisés par les systèmes d'exploitation de la famille Unix actuellement.

 GNU/Linux
     Nom générique donné à un système d'exploitation utilisant les utilitaires :term:`GNU` notamment et le noyau :term:`Linux` .

 Andrew Tanenbaum
     Andrew Tanenbaum est professeur à la VU d'Amsterdam.

 Linus Torvalds
     Linus Torvalds est le créateur et le mainteneur principal du noyau :term:`Linux`.

 Aqua
     Aqua est une interface graphique spécifique à :term:`MacOS`.

 pipe
     Mécanisme de redirection des entrées-sorties permettant de relier la sortie standard d'un programme à l'entrée standard d'un autre pour créer des pipelines de traitement.

 assembleur
     Programme permettant de convertir un programme écrit en langage d'assemblage dans le langage machine correspondant à un processeur donné.

 warning
     Message d'avertissement émis par un compilateur C. Un :term:`warning` n'empêche pas la compilation et la génération du code objet. Cependant, la plupart des warnings indiquent un problème dans le programme compilé et il est nettement préférable de les supprimer du code.

 bit de poids fort
     Par convention, le bit le plus à gauche d'une séquence de n bits.

 bit de poids faible
     Par convention, bit le plus à droite d'une séquence de n bits.

 simple précision
     Représentation de nombre réels en virgule flottante (type ``float`` en C). La norme `IEEE754 <http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=4610933>`_ définit le format de ces nombres sur 32 bits.

 double précision
     Représentation de nombre réels en virgule flottante (type ``double`` en C). La norme `IEEE754 <http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=4610933>`_ définit le format de ces nombres sur 64 bits.

 buffer overflow
     Problème à compléter

 garbage collector
     Algorithme permettant de libérer la mémoire qui n'est plus utilisée notamment dans des langages tels que Java

 pointeur
     à compléter

 adresse
     à compléter

 C99
     Standard international définissant le langage C [C99]_

 fichier header
     à compléter

 segmentation fault
     Erreur à l'exécution à compléter

 NOT
 négation
     Opération binaire logique.

 AND
 conjonction logique
     Opération binaire logique.

 OR
 disjonction logique
    Opération binaire logique.

 XOR
 ou exclusif
    Opération binaire logique.

 libc
     Librairie C standard. Contient de nombreuses fonctions utilisables par les programmes écrits en langage C et décrites dans la troisième section des pages de manuel. Linux utilise la librairie GNU `glibc <http://www.gnu.org/software/libc/manual/>`_ qui contient de nombreuses extensions par rapport à la libraire standard.

 FSF
     Free Software Foundation, http://www.fsf.org

 buffer overflow
     à compléter

 portée
      à compléter

 portée locale
      à compléter

 portée globale
     à compléter

 debugger
     à compléter

 text
 segment text
     à compléter

 segment des données initialisées
     à compléter

 segment des données non-initialisées
     à compléter

 heap
 tas
     à compléter

 stack
 pile
     à compléter

 etext
     à compléter

 memory leak
      à compléter

 processus
   Ensemble cohérent d'instructions utilisant une partie de la mémoire, initié par le système d'exploitation et exécuté sur un des processeurs du système. Le système d'exploitation libère les ressources qui lui sont allouées à la fin de son exécution.

 pid
 process identifier
      identifiant de processus. Sous Unix, chaque processus est identifié par un entier unique. Cet identifiant sert de clé d'accès à la :term:`table des processus`. Voir `getpid(2)`_ pour récupérer l'identifiant du processus courant.

 table des processus
      Table contenant les identifiants (:term:`pid`) de tous les processus qui s'exécutent à ce moment sur un système Unix. Outre les identifiants, cette table contient de nombreuses informations relatives à chaque :term:`processus`. Voir également :term:`/proc`

 /proc
      Sous Linux, représentation de l'information stockée dans la :term:`table des processus` sous la forme d'une arborescence directement accessible via les commandes du :term:`shell`. Voir `proc(5)`_

 signal
     mécanisme permettant la communication entre processus. Utilisé notamment pour arrêter un processus via la commande `kill(1)`_

 von Neumann
     Un des inventaires des premiers ordinateurs. A défini l'architecture de base des premiers ordinateurs qui est maintenant connue comme le modèle de von Neumann [Krakowiak2011]_

 mémoire
     à compléter

 SRAM
 static RAM
     Un des deux principaux types de mémoire. Dans une SRAM, l'information est mémorisée comme la présence ou l'absence d'un courant électrique. Les mémoires SRAM sont généralement assez rapides mais de faible capacité. Elles sont souvent utilisées pour construire des mémoires caches.

 DRAM
 dynamic RAM
     Un des deux principaux types de mémoire. Dans une DRAM, l'information est mémorisée comme la présence ou l'absence de charge dans un minuscule condensateur. Les mémoires DRAM sont plus lentes que les :term:`SRAM` mais ont une plus grande capacité.

 RAM
 Random Access Memory
     Mémoire à accès aléatoire. Mémoire permettant au processeur d'accéder à n'importe quelle donnée en connaissant son adresse. Voir :term:`DRAM` et :term:`SRAM`.


 registre
     Unité de mémoire intégrée au processeur. Les registres sont utilisés comme source ou destination pour la plupart des opérations effectuées par un processeur.

 hiérarchie de mémoire
     Ensemble des mémoires utilisées sur un ordinateur. Depuis les registres jusqu'à la mémoire virtuelle en passant par la mémoire centrale et les mémoires caches.

 mémoire cache
     Mémoire rapide de faible capacité. La mémoire cache peut stocker des données provenant de mémoires de plus grande capacité mais qui sont plus lentes, et exploite le :term:`principe de localité` en stockant de manière transparente les instructions et les données les plus récemment utilisées. Elle fait office d'interface entre le processeur et la mémoire principale et toutes les demandes d'accès à la mémoire principale passent par la mémoire cache, ce qui permet d'améliorer les performances de nombreux systèmes informatiques.

 principe de localité
     Voir :term:`localité spatiale` et :term:`localité temporelle`.

 localité spatiale
     à compléter

 localité temporelle
     à compléter

 lignes de cache
     à compléter

 write through
     Technique d'écriture dans les mémoires caches. Toute écriture est faite simultanément en mémoire cache et en mémoire principale. Cela garantit la cohérence entre les deux mémoires mais réduit les performances.

 write back
     Technique d'écriture dans les mémoires caches.  Toute écriture est faite en mémoire cache. La mémoire principale n'est mise à jour que lorsque la donnée modifiée doit être retirée de la cache. Cette technique permet d'avoir de meilleures performances que :term:`write through` mais il faut faire parfois attention aux problèmes qui pourraient survenir sachant que la mémoire cache et la mémoire principale ne contiennent pas toujours exactement la même information.

 eip
 pc
 compteur de programme
 instruction pointer
     Registre spécial du processeur qui contient en permanence l'adresse de l'instruction en cours d'exécution. Le contenu de ce registre est incrémenté après chaque instruction et modifié par les instructions de saut.

 mode d'adressage
      à compléter

 accumulateur
      Registre utilisé dans les premiers processeurs comme destination pour la plupart des opérations arithmétiques et logiques. Sur l'architecture [IA32]_, le registre ``%eax`` est le successeur de cet accumulateur.

 bus
       à compléter

 ligne de cache
       à compléter. Voir notamment [McKenney2005]_ et  [Drepper2007]_

 write-back
       à compléter

 program counter
       à compléter

 makefile
       à compléter

 fichier objet
       à compléter

 linker
       à compléter

 errno
       à compléter

 loi de Moore
       à compléter

 kHz
       à compléter

 MHz
    à compléter

 GHz
       à compléter

 MIPS
      Million d'instructions par seconde

 benchmark
       à compléter

 multi-coeurs
       à compléter

 multi-threadé
       à compléter

 section critique
       à compléter

 exclusion mutuelle
       à compléter

 sureté
 safety
       à compléter

 liveness
 vivacité
       à compléter

 multitâche
 multitasking
        à compléter

 contexte
       à compléter

 changement de contexte
       à compléter

 interruption
       à compléter

 scheduler
       à compléter

 round-robin
       à compléter

 livelock
        à compléter

 opération atomique
       à compléter

 deadlock
       à compléter

 mutex
       à compléter

 problème des philosophes
       à compléter

 appel système
       à compléter

 appel système bloquant
       à compléter

 sémaphore
       à compléter

 problèmes des readers-writers
       à compléter

 inode
       à compléter

 segment de données
       à compléter

 problème des readers-writers
       à compléter

 thread-safe
        à compléter

 loi de Amdahl
       à compléter

 static library
 librairie statique
        à compléter

 shared library
 librairie dynamique
 librairie partagée
       à compléter

 kernel
       à compléter

 mode utilisateur
       à compléter

 mode protégé
       à compléter

 processus père
       à compléter

 processus fils
       à compléter

 processus orphelin
       à compléter

 processus zombie
       à compléter

 filesystem
 système de fichiers
       à compléter

 descripteur de fichier
       à compléter

 répertoire
       à compléter

 secteur
       à compléter

 répertoire courant
       à compléter

 offset pointer
       à compléter

 little endian
       à compléter

 big endian
       à compléter

 lien symbolique
       à compléter

 lock
       à compléter

 advisory lock
 advisory locking
       à compléter

 mandatory lock
 mandatory locking
       à compléter

 open file object
       à compléter

 sémaphore nommé
       à compléter

 appel système lent
       à compléter

 handler
       à compléter

 signal synchrone
       à compléter

 signal asynchrone
       à compléter

 interpréteur
       à compléter

 MMU
 Memory Management Unit
       à compléter

 adresse virtuelle
       à compléter

 mémoire virtuelle
       à compléter

 SSD
 Solid State Drive
       Système de stockage de données s'appuyant uniquement sur de la mémoire flash.

 page
       à compléter

 table des pages
       à compléter

 bit de validité
       à compléter

 TLB
 Translation Lookaside Buffer
       à compléter

 Mémoire partagée
       à compléter

 copy-on-write
       à compléter

 adresse physique
       à compléter

 page fault
 défaut de page
       à compléter

 file FIFO
       De "First In, First Out". Le premier élement à entrer dans la file sera le premier à en sortir. (!= LIFO, "Last In First Out")

 dirty bit
 bit de modification
       à compléter

 reference bit
 bit de référence
       à compléter

 swapping
       à compléter

 pagination
       à compléter