La mémoire RAM<span class="wtr-time-wrap after-title"><span class="wtr-time-number">7</span> min read</span>

La mémoire RAM7 min read

Vous ne comprenez rien à la mémoire RAM ? C’est pas grave.

Nous allons découvrir ensemble le fonctionnement de la mémoire RAM ainsi que son fonctionnement dans les langages de programmation

Dans un premier temps, nous verrons à quoi sert la RAM et comment elle est utilisé dans nos ordinateurs.

Ensuite, nous découvrirons comment nos langages de programmation manipulent la RAM

C’est quoi la mémoire RAM

RAM pour Random Acces Memory ou mémoire à accès aléatoire en français (Oui , ça ne veux rien dire ) est un composant essentiel des ordinateurs.

C’est en fait le second composant le plus important derrière le processeur. Un ordinateur peux techniquement fonctionner si la RAM et le processeur sont présents.

Pour comprendre la RAM, nous allons voir rapidement comment fonctionne un disque dur.

Un disque dur permets de stocker des données en les gravant sur un disque. Ainsi, les données sont accessibles après l’extinction de l’ordinateur. Cette méthode permets de stocker sur le long terme mais rends l’accession aux données très lente.

La mémoire RAM fait tout l’inverse. Elle ne stocke pas de données sur le long terme. Si vous êtes à l’aise avec la programmation, sachez que les variables sont en fait stockés dans la mémoire RAM.

La RAM stocke donc sur le court terme mais est bien plus rapide que le disque dur. Elle permets de manipuler des données durant l’exécution d’un programme.

A quoi servent les gigas sur la RAM ?

Les gigas représentent la capacité de stockage de la mémoire RAM. Une RAM de 8go peux stocker temporairement 8 go de données.

Comprenez moi bien, ces données ne persistent pas après l’exécution du programme. Elles servent juste à être manipulés par les programmes de l’ordinateur.

Prenons un exemple simple, un programme cherchant à faire des calculs auras besoin de la RAM pour stocker les nombres qu’il va manipuler. Il va stocker les nombres de bases et les résultats dans la mémoire vive et les transférer si besoin au disque dur

On peux finalement voir la RAM comme un disque dur temporaire bien plus rapide

Comment nos ordinateurs gèrent la RAM ?

On va maintenant voir comment est-ce que nos ordinateurs gèrent la RAM, c’est à dire comment est-ce qu’ils allouent l’espace RAM, comment groupent-il les variables et comment communiquent-t-il avec les programmes demandant de l’espace RAM

La RAM est gérée à 100% par votre système d’exploitation. C’est lui qui va donner de l’espace à un programme et qui va décider quelle variable va à quelle adresse ?

Mais c’est quoi une adresse ?

Je n’avais pas encore abordé ce concept. La mémoire peux être visualisée comme un tableau clé valeur.

La clé c’est à dire l’adresse de l’espace possède un numéro allant de 0 à l’espace maximal en bits.

Chaque adresse peux stocker un bit. C’est aussi simple que ça

Mais alors, les variables prenant plus de 1 bit fonctionnement comment ?

Et bien elles occupent plusieurs adresses, tout simplement. Par exemple un nombre prenant 4 bits va être à la position n, n+1 , n+2 et n+3.

C’est en fait très simple.

Bon, revenons à nos moutons, ou plutôt à nos ordinateurs.

Comme je l’ai dit, c’est le système d’exploitation qui contrôle tout, on peux le voir comme le chef d’orchestre.

Si un programme as besoin de RAM (ce qui arrive tout le temps en fait ) , il demande au système d’exploitation de lui stocker sa variable, le système la stocke et le programme peux la récupérer quand il le désire.

C’est en partie pour cette raison que les langages compilés ne produisent pas des programmes multi platforme. Chaque système d’exploitation as un système de gestion unique et il faut donc un compilateur différent.

Bon , ça c’est la partie simple. Ce qui vous intéresse c’est de comprendre comment la mémoire RAM est allouée par rapport aux langages de programmation n’est ce pas ?

Et bien c’est ce que nous allons voir maintenant !

Les langages de programmation et la RAM

Vous le savez peut-être, il y a deux grands types de langages de programmation. Les langages compilés et les langages interprétés.

J’en parles plus en détails sur mon guide pour bien commencer la programmation mais pour faire simple , les langages compilés sont traduis au préalable en binaire et les langages interprétés sont traduis en binaire en temps réel.

Vous vous douterez que les langages compilés sont plus complexes mais aussi plus rapides que les langages interprétés

On va donc voir pour ces deux types de langages, comment le système d’exploitation alloue la RAM au programme.

Les langages compilés et la RAM

Les langages compilés nous offrent un contrôle absolu sur la RAM. Vous décidez vous même de la taille de vos variables.

Ce type de langage est dit typé, c’est à dire que chaque variable auras un type définit et non modifiable.

Pourquoi ce système ?

Et bien pour indiquer au système d’exploitation la RAM à allouer. Il est inutile de donner beaucoup d’espace à un petit nombre.

Et à l’inverse, trop peu d’espace va causer des erreurs de buffer overflow (des failles exploitable par les hackers très facilement)

Il est donc essentiel de bien contrôler la RAM lorsque l’on utilise un langage compilé.

Puisque le programmeur donne tout, le langage est complexe mais les performances sont au rendez vous.

Il n’y a jamais de mémoire gachée.

Aujourd’hui, ce n’est plus vraiment important. Mais à l’époque ou la RAM ne faisait que quelques Ko, il était vital de bien l’optimiser.

La RAM et les langages interprétés

Aujourd’hui, la grande majorité des programmeurs utilisent des langages interprétés.

Et vous avez probablement remarqués que vous n’avez jamais eu à vous soucier de la RAM.

En fait, l’interpréteur c’est à dire le programme faisant la liaison entre votre code et l’ordinateur gère la mémoire seul.

Si vous déclarer une variable contenant une chaîne de caractère par exemple. Il va automatiquement déterminer son type, en occurrence un string, et il va dire à l’ordinateur de conserver de la place pour stocker un string.

C’est pour cette raison que les langages interprétés ne sont pas typés statiquement , tout est géré par l’interpréteur

En conclusion

La RAM est un composant essentiel de l’ordinateur. Elle permets de stocker des variables et de les manipuler dans un programme.

L’ordinateur gère la RAM grâce au système d’exploitation. C’est lui qui va jouer le chef d’orchestre en donnant de la RAM à chaque programme

On peux voir la RAM comme un tableau avec des adresses et des valeurs. Chaque valeur est assignée à une adresse.

Les langages interprétés et compilés ont une façon différente de gérer la RAM. Dans les langages compilés, la gestion de la RAM se fait manuellement, il faut tout déclarer.

Alors que dans les langages interprétés, l’interpréteur gère tout pour vous

Si cet article vous as plu, vous pouvez laisser un commentaire ou me donner votre email pour que je vous envoi le guide Ultime GRATUIT pour bien débuter la programmation

Vous abonner à notre newsletter

* champ requis

Laisser un commentaire

Fermer le menu
×
×

Panier