1. Coin du débutant
    1. Comprendre l'informatique
      1. Introduction
      2. Le matériel
      3. Le logiciel
      4. Les réseaux
      5. Une évolution fulgurante
      6. Histoire de l'informatique
    2. Comprendre ce que vous faites
      1. La numération binaire
      2. La découverte du Mac
      3. Retour au B BA
      4. Configurez votre bureau
      5. Les gestes de base du Mac
      6. Le Finder : redécouverte
      7. Le système de fichiers
      8. Formats et autorisations
      9. Internet
      10. Le mail (courriel)
    3. Débuter avec Lion
      1. Conserver Lion
      2. Installer Lion
      3. Les mystères de la restauration
  2. Choisir une configuration
    1. Bureau ou portable
    2. Supériorité d'Apple
      1. Gamme Apple
        1. l'iMac
        2. le Mac Mini
        3. la loi de Murphy en action
        4. les Mac Book
        5. les Mac Pro
      2. Logiciels Apple
        1. Mac OS X
        2. Le Bureau
        3. Les applications
        4. Les utilitaires
        5. Technologies originales
        6. Suite iLife
        7. Suite iWork
        8. et les jeux ?
        9. XCode
    3. OS X hors Apple
    4. Autre OS sur Apple
  3. Utiliser Internet
    1. Internet

La numération binaire




Tout le monde sait que l'informatique, c'est une affaire de zéros et de uns.

Les processeurs qui constituent le cœur d'un ordinateur sont constitués d'unités de calcul (ALU, FPU) qui manipulent des registres. Les registres contiennent des données ; les unités de calcul sont là pour traiter les données selon un programme qui est inscrit en mémoire, et est exécuté séquentiellement par le compteur ordinal. En fait, le compteur ordinal est un registre qui va chercher en mémoire les instructions à exécuter l'une après l'autre. D'autres registres informent le processeur de l'endroit en mémoire où aller chercher les données, et déposer les résultats.

Tout ce monde là est constitué d'unités élémentaires d'information juxtaposées : le bit (binary digit, ou chiffre binaire). Un bit peut prendre deux états : 0 ou 1, vrai ou faux, oui ou non ; comme une porte qui doit être ouverte ou fermée (mais jamais entrouverte), ou un interrupteur qui est fermé ou ouvert. Tout seul, un bit ne peut pas servir à grand chose ; il permet quand même une décision (y aller ou pas, faire ou ne pas faire). Mais si on groupe plusieurs bits ensemble, l'information qu'ils peuvent véhiculer est plus complexe :
• avec 2 bits, on peut faire 4 combinaisons différentes : 00, 01, 10, 11, donc prendre 4 décisions.
• avec 3 bits, on dispose de 8 combinaisons : 000, 001, 010, 011, 100, 101, 110, 111. On peut représenter ces combinaisons par 8 chiffres de 0 à 7 ; c'est la numération octale.
• avec 4 bits, 16 combinaisons sont possibles : 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111. C'est la numération héxadécimale, qui s'exprime avec 16 chiffres : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. (NB : A à F sont des chiffres héxadécimaux, pas des lettres) !

Un groupe de 4 bits est un nibble ; un groupe de 8 bits est un octet, ou byte au sens courant du terme. Plutôt que de représenter un byte par sa combinaison caractéristique de 0 et de 1 (10010011 par exemple), il est souvent plus commode d'en donner l'équivalent héxadécimal (93H). Des groupes plus importants sont appelés mots (words). Il existe des processeurs (et des ordinateurs) avec des mots de longueurs très variées.

Le nombre des combinaisons possibles est une puissance de deux : pour 4 bits, on a 24 = 16 combinaisons, pour 8 bits, on a 28 = 256 combinaisons, pour 10 bits, 210 = 1024 combinaisons, et ainsi de suite. Le nombre de bits pris en compte simultanément par un processeur conditionne la puissance du processeur ; historiquement, on a commencé par 4 bits (le 4004 d'Intel en 1971). Avec 16 combinaisons possibles, 4 bits permettaient de représenter des chiffres de 0 à 9 (6 combinaisons étaient inutilisées dans la notation dite DCB) (Décimal Codé Binaire). On pouvait donc manipuler des nombres de plusieurs chiffres en s'y reprenant plusieurs fois. Depuis, les micro-processeurs sont passés à 8 bits, puis 16 bits, puis 32 bits, et maintenant 64 bits.

La représentation DCB utilise des suites de 4 bits pour représenter chacun des chiffres d'un nombre, mais il y a une autre façon de procéder. En regroupant plusieurs octets, on peut représenter des nombres entiers très grands ; par exemple 232 permet de représenter un nombre correspondant à 231 soit 2147483648 ; on garde un bit pour indiquer le signe, positif ou négatif du nombre en question. Cependant, il n'y a pas dans la vie que des nombres entiers ; la plupart des nombres que nous manipulons sont décimaux (2,59 € par exemple). Pour ces nombres là, on utilise une notation en virgule flottante : 2,59 = 259 * 10 -2. On conserve alors le nombre entier (259) dans un groupe de bits, et l'exposant (-2) dans un autre groupe de bits, le tout occupant plusieurs octets.

Les combinaisons possibles dans un processeur ne permettent pas que de représenter des nombres. Tout est une question de conventions ; il s'agit seulement de savoir ce qu'on manipule. Pour le processeur, 8 bits permettent un jeu de 256 instructions, et 16 bits autorisent 216 = 65 536 instructions possibles (beaucoup plus que ce dont on a besoin).

8, 16, 32 ou 64 bits permettent aussi d'adresser la mémoire vive de l'ordinateur. Avec 32 bits, cet adressage était limité à 4 Téra bytes (ou To) : 232 soit 4 294 967 296 adresses possibles (4 milliards, c'est peu selon les besoins actuels !)

8 bits permettent aussi de représenter un jeu de 256 caractères alphanumériques : le code ASCII utilise 7 bits, et plusieurs codes ASCII étendus utilisent 8 bits. Pour éviter les confusions de codage entretenues par plusieurs codes ASCII étendus, un consortium international s'est entendu sur Unicode, qui utilise 7 plans de 16 bits. Le plan de base (Basic Multilingual Plane) représente l'encodage UTF-16 universellement utilisé maintenant. Pratiquement, toutes les langues (y compris les idéogrammes chinois ou japonais) y sont représentées. Apple et NeXT ont été parmi les premiers à travailler sur Unicode.

Pour représenter des points de couleur sur une image ou un écran, on utilise couramment un codage RGBA : 8 bits pour le rouge, 8 pour le vert, 8 pour le bleu, et 8 bits de canal alpha qui définit la transparence. Un processeur de 32 bits est donc bien adapté. Une image est dans ce cas un tableau (x,y) de mots de 32 bits. Mais on peut aussi définir un point de couleur avec seulement 8 ou 16 bits ; là encore, tout est question de conventions ; il suffit de les définir, et de les appliquer.

Les séquences sonores sont échantillonnées : des mots de 8 ou 16 bits représentent l'intensité sonore d'une très petite fraction de temps. Pour satisfaire les critères d'audition de l'oreille humaine, il "suffit" de 44 000 échantillons (le double de la fréquence maximale audible) par seconde (doublés en stéréo). Ces échantillons sont couramment en 8 ou 16 bits.

Les séquences vidéo sont des images mouvantes associées à une bande sonore. Il "suffit" donc d'échantillonner un grand nombre d'images dans le temps (au minimum 25 par seconde), et de les compléter avec un échantillonnage sonore (à 44 000 échantillons par seconde). Dans la pratique, les choses sont beaucoup plus compliquées : on tient compte des imperfections de la vision humaine pour simplifier le signal visuel, et compresser les données afin qu'elles occupent moins de place.

Une application simple de la numération binaire intervient dans les permissions des fichiers. Sous Unix, les fichiers peuvent avoir trois acteurs différents : le possesseur, le groupe auquel il appartient, et tous les autres. Ils peuvent aussi être autorisés en lecture seule, en lecture et écriture, et par leur capacité d'être exécutables. Dans la pratique, cela se symbolise par 3 groupes de 3 lettres, précédés d'un caractère spécial

permissions Unix

le résultat (partiel) de la commande ls -l sur le dossier maison.


Le caractère spécial indique la nature du fichier : - pour un simple fichier, d pour un répertoire (directory), l pour un lien symbolique.
Les trois groupes de trois lettres suivants précisent les permissions (r = lecture possible, w = écriture possible, x = fichier exécutable) pour le possesseur, son groupe, et les autres successivement.
Puisqu'on dispose de trois bits (r, w, x) pour définir les permissions, on a 8 combinaisons possibles, qui peuvent être représentées par un nombre octal. x correspond à 20, w corresponds à 21, et r correspond à 22. Il suffit donc de trois chiffres octal pour représenter les permissions de l'utilisateur, du groupe, et des autres. La combinaison rwx correspond au chiffre octal 7, la combinaison --- à zéro, la combinaison -wx au chiffre octal 3, et ainsi de suite.
Ainsi, la commande chmod 760 nom_de_fichier donne toutes les autorisations de fichiers (7 octal) au possesseur, l'autorisation d'écrire et de lire (6 octal) aux membres de son groupe, et aucune permission (0 octal) aux autres.