Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Notion de distribution
Commandes de Bases
Linux vs Unix
Familles de Distributions
Types de Distributions
X86 vs x64
Niveaux de Cache
Qu'est-ce qu'une
Distribution ?
Écrit par Geeky-Calou
Distribution Linux
Une distribution Linux est un ensemble cohérent de logiciels rassemblant un système
d'exploitation composé d'un noyau Linux et d'applications, la plupart étant des
logiciels libres. On peut aussi utiliser la dénomination distribution GNU/Linux pour
les distributions rassemblant des logiciels du projet GNU.
http://toulonux.tuxfamily.org/index.php?option=com_content&view=article&id=3:quest-ce-
quune-distribution-&catid=3:histoire&Itemid=37
Linux vs Unix
Tableau de comparaison
http://global-informatique-securite.over-blog.com/2018/05/linux-vs-unix.html
Types de Distributions
Il existe 3 types de distributions Linux
Client : ou Desktop : dédiée généralement pour une utilisation monoposte (1 seul poste)
Exemples de Distribution : Fedora, Ubuntu, Mint, etc.
Serveur : dédiée généralement pour les Serveurs pour une utilisation en mode
multiutilisateur multitâche
Familles de Distributions
Chaque famille de distribution ses propres outils, package et commandes
Il existe généralement 3 types de distributions Linux (dont on citera les distributions qui en
appartiennent) :
la gamme x86 d'intel est en 32 bits (ce que vous appelez x32 et qui n'existe
pas). Elle est capable de s'adresser à 2^32 adresses memoire, soit 4294967296
soit 4Go. Ce qui signifie que cela ne sert à rien d'avoir plus de 4 Go de
mémoire avec un processeur de ce type.
où la gamme de processeurs x64 venant d'AMD cette fois est capable de travailler sur
64 bits... soit plus de mémoire que vous ne pouvez acheter !!!!
Ceci dit, on peut utiliser un processeur x64 avec un OS (Operating System, comme
linux ou windows ou bien d'autres encore) ne sachant gérer que le 32 bits. C'est le cas
en général quand on installe un simple windows sur son PC.
https://forums.commentcamarche.net/forum/affich-12308796-difference-entre-
x64-et-x86
Difference between x64 and x86
It usually refers to x86 for 32 bit OS and x64 for system with 64 bit.
Technically x86 simply refers to a family of processors and the instruction set they all
use. It doesn't actually say anything specific about data sizes. The term x86 started out
as a 16-bit instruction set for 16-bit processors (the 8086 and 8088 processors), then
was extended to a 32-bit instruction set for 32-bit processors (80386 and 80486), and
now has been extended to a 64-bit instruction set for 64-bit processors. It used to be
written as 80x86 to reflect the changing value in the middle of the chip model
numbers, but somewhere along the line the 80 in the front was dropped, leaving just
x86.
When 64 bit processors compatible with the x86 architecture were introduced, they
were referred to as x86-64. x86-32 (and x86-16) were used for the 32 (and 16) bit
versions. This was eventually shortened to x64 for 64 bit and x86 alone refers to a 32
bit processor. The 32 bit processors are designed to handle a limited amount of
physical memory maximum of 4GB but 64 bit can handle high memory utilizing 8,16
and some even32 GB.
The 64 bit computers can run both 32bit programs and 64 bit programs. 32 bit
computers cannot run 64 bit programs, because the bit sizes are fundamentally
different. Latest Laptops with pre-installed Windows are usually x64 i.e. 64 Bit, old
Desktops and Laptops could be having Windows x86 which means 32 bit.
http://net-informations.com/q/mis/x86.html
Niveaux de Cache
La mémoire cache est gérée en niveaux
L'évolution technique vers des architectures multicœur a conduit à une réunion des
trois mémoires cache sur le processeur lui-même. Ainsi, la configuration et les
performances de la mémoire cache intégrée sont à prendre en considération au
moment du choix d'un processeur multicœur car elles détermineront les performances
générales d'un ordinateur.
https://www.futura-sciences.com/tech/definitions/informatique-memoire-cache-
1911/
La mémoire
cache
Concept de base
La mémoire cache, appelée encore peu mémoire tampon est devenue en quelques années le compagnon
indispensable des microprocesseurs. C'est même devenue, à tort, le principale critère de comparaison
entre les processeurs.
Cependant il n'existe pas une mémoire cache mais plusieurs qui se différencient par leur architecture,
leur taille ou encore leur vitesse de fonctionnement.
La mémoire cache a pour rôle l'accélération des communications entre un processeur et un composant
servant à stocker les données (RAM, disque dur..).
En effet, pour calculer et exécuter ses instructions, un microprocesseur a besoin d'informations. Celles ci
sont situées dans une unité de stockage. Or les microprocesseurs sont si performants qu'aucune unité de
stockage n'est capable de fournir autant d'informations que le microprocesseur peut en traiter. La
mémoire cache a pour fonction de palier à cette insuffisance.
Lorsque le microprocesseur a besoin d'une donnée , il regarde si elle est disponible dans la mémoire
cache, si ce n'est pas le cas, il va la chercher dans l'unité de stockage et en même temps la dépose dans la
mémoire cache. Ainsi la prochaine fois qu'il aura besoin de cette information, il y accédera directement
par la mémoire cache et donc plus rapidement.
Attention, toute unité de stockage peut servir de mémoire cache, il suffit juste qu'elle soit plus rapide que
l'unité de stockage principale. Voici 3 exemples :
Dans le premier exemple, le mémoire cache se matérialise sous la forme d'une mémoire sram, dans le
second exemple, une RAM traditionnelle fera l'affaire, dans le troisième cas, le disque dur fera office de
mémoire cache à travers un fichier de pagination.
Une mémoire cache est une unité de stockage plus petite mais plus rapide qui s'interpose entre le
microprocesseur et l'unité de stockage. Rien ne nous empêche de répéter cette opération et d'ajouter une
autre mémoire cache, même une troisième, etc......
On peut associer actuellement jusqu'à trois niveaux de cache ( L1, L2, L3) entre un microprocesseur et
la mémoire RAM.
Cache de Niveau 1 ou L1
Ce cache a été le premier à être mis en œuvre et a plusieurs particularités. D'une part, il est intégré au
microprocesseur et sa taille est essentiellement fonction de l'architecture du microprocesseur. AMD a
toujours privilégié des caches L1 de grande taille, 64ko pour le k6 et 128 ko pour les premiers
ATHLON, tandis qu'INTEL privilégie des caches L1 de petite taille, 32 ko pour les PENTIUM 2/3.
D'autre part, c'est un cache scindé en deux parties de taille égale. L'une stocke les instructions des
programmes, l'autre les données des programmes. Les autres caches ne font pas cette distinction.
Cache de niveau 2 ou L2
Cette mémoire cache sert d'intermédiaire entre le cache L1 et la mémoire RAM. Il ne différencie pas
données et programmes, il est moins rapide que le cache L1, mais sa taille est plus importante de 256 Ko
à 2 Mo, voire plus pour les années à venir.
Cache de niveau 3 ou L3
Si ce type de cache est courant sur des machines haut de gamme ( Sun, HP, IBM, ALPHA,...), dans le
monde des PC, il n'a existé qu'un seul exemple de microprocesseur utilisant une mémoire cache de
niveau 3. Il s'agit du k6-3 d'AMD. Jusqu'à présent, ce type de cache a toujours été composé de mémoire
SRAM, et implanté sur la carte mère. Sa taille varie de 1 Mo à 8 Mo.
Cela désigne la manière dont vont coopérer les caches entre eux, en particulier les caches L1 et L2.
Le cache inclusif est la méthode la plus ancienne et la plus courante. Elle était utilisée sur tous les
microprocesseurs jusqu'à l'arrivée des Duron et des Athlon Thunderbirds d'AMD. Lorsqu'une donnée
part de la RAM vers la CPU, elle passe par le cache L2 puis par le cache L1. Une donnée peut donc être
stockée, au même instant, à la fois dans le cache L1 et dans le cache L2. Il peut y avoir une redondance
d'informations.
Le cache exclusif est apparu est les Duron et les Athlon Thunderbirds. Les caches L1 et L2 vont
fonctionner comme s'il y'avait qu'un seul cache. Une donnée ne peut être au même instant dans les deux
caches. Cependant, l'accès est plus long que dans le cadre des méthodes de cache inclusif. Cela est
d'autant plus vrai que le cache est grand.
Les performances de la mémoire cache s'apprécient en fonction de la quantité de mémoire RAM que le
cache pourra gérer, (avec 256 ko, on ne peut pas gérer efficacement voir pas du tout 4 Go de RAM), la
rapidité avec laquelle le processeur pourra accéder à ces données, le % de chance qu'a le
microprocesseur de trouver l'information dans le cache. Plus ce pourcentage est élevé, plus le traitement
est rapide.
Pour optimiser la gestion de la mémoire en rapport à la taille de la RAM, plusieurs techniques se sont
développés : le " direct mapped " , Le " N-way set associative " , et le " fully associative " . Chaque
technique apporte ses avantages et ces inconvénients. Le " Direct Mapped " est une technique simple qui
peut privilégié les accès CPU - RAM plutôt que CPU - cache. Le " N-way set associative " résout ce
problème mais demande un temps de lecture du cache et donc de l'accès au donnée plus long. Quant au
" fully associative " , il oblige la CPU à lire toutes les lignes du cache pour savoir l'information y figure.
Ce qui entraîne des dégradations de performances si l'on augmente la taille du cache.
Pour pouvoir comparer les performances respectives de chaque méthode, on utilise deux informations :
Le ratio de réussite, rapport entre le nombre total d'accès au cache sur le nombre d'accès ayant permis de
trouver l'information dans le cache. On exprime la valeur en %. C'est le nombre de chance qu'a le
microprocesseur de trouver l'information dans le cache.
Plus le % est élevé, moins le processeur fait appel à la RAM, et les programmes fonctionnent plus
rapidement. On considère les ratios suivants pour les méthodes de d'organisation du cache : " Direct
mapped " , 60 à 80%, " N-way associative " , 80 à 90% et " fully associative " , 90-95%.
Cet indice est à prendre en compte avec le temps de latence du microprocesseur qui désigne le temps
moyen que le microprocesseur met pour consulter les lignes de cache. C'est le temps que le
microprocesseur met pour savoir si l'information est ou n'est pas dans le cache. On considère que le
temps de latence est largement défavorable au " fully associative ", adaptée à des caches de petite taille.
Le " direct mapped " apparaît comme le cas idéal, surtout avec de faibles quantités de mémoire RAM.
Le " N-way associative " dégage le meilleur compromis au niveau des performances c'est pourquoi il est
aujourd'hui le plus employé.
La gestion du cache
Le microprocesseur utilise des méthodes bien particulière pour lire et écrire dans la mémoire cache.
Pour lire les données, il n'utilise qu'une seule technique, il demande l'information à la mémoire cache, si
elle ne la contient pas, il lit la RAM. Pour l'écriture des données, il peut utiliser le " Write-trough cache
" , toutes les écritures des données allant de la CPU à la mémoire se font aussi dans le cache et le " Write
-back cache " , toute les écriture se font dans la mémoire cache. Les données ne sont écrites en mémoire
RAM qu'au moment où celles-ci ne sont plus utilisées par le microprocesseur et deviennent inutiles à
conserver dans la mémoire cache.
La technique de " Write-through cache " est à privilégier car elle est une méthode qui garantit l'intégrité
des données. En cas de dysfonctionnement de votre système, elle peut permettre la récupération des
données au redémarrage de la machine.
Pour conclure, la mémoire cache permet d'augmenter la vitesse moyenne de communication entre un
processeur et des composants de stockage comme la RAM ou un disque dur. On peut utiliser plusieurs
cache en cascade. Celui qui est le plus près de la CPU est le plus rapide et le plus petit (sauf pour le
Duron). On parle de cache L1, L2 etL3. Quand on dispose de plusieurs niveaux de cache, on peut les
faire fonctionner de façon indépendante ( inclusif ) soit de concert ( exclusif ), comme s'il s'agissait d'un
seul cache. Il existe trois méthodes d'organisation des informations dans le cache : " Direct mapped " où
chaque ligne de cache correspond à un bloc déterminé de la RAM ; le " Fully associative " où chaque
ligne de cache peut gérer n'importe quel bloc de la RAM ; et le " N-way associative " , compromis des
autres méthodes où l'on regroupe n lignes de caches pour les affecter à un bloc déterminé. Le
fonctionnement normal entre une mémoire cache et un composant de stockage ( RAM, disque dur )
implique que toute écriture qui se fait dans le cache se fasse aussi en mémoire, c'est la méthode appelée
write - through. Pour l'améliorer, on utilise la méthode write-back (écriture différée ). Cependant elle ne
garantit pas la cohérence du cache, c'est à dire que les données contenues dans le cache doivent
correspondrent à celles situées dans le composant de stockage (RAM, disque dur ). Dans ce cas, on dit
que l'intégrité des données est préservée.
http://sfavreau.chez-alice.fr/hardware/memoire/cache.htm
Je vous ai dit plus haut qu´une mémoire cache est une unité de stockage plus petite mais
plus rapide qui s´interpose entre le microprocesseur et l´unité de stockage. Rien ne nous
empêche de répéter cette opération et d´ajouter une autre mémoire cache, même une
troisième, etc ... On parle dans ce cas de niveaux de cache.
On peut associer actuellement jusqu´à trois niveaux de cache (L1, L2, L3) entre un
microprocesseur et la mémoire RAM. C´est souvent le cas des serveurs haut de gamme.
Pour les microprocesseurs équipant les PC ou Apple, on en compte généralement deux.
Voyons chacun de ces niveaux de cache en détail.
Remarque :
Le L de L1, L2, L3 vient de l´abréviation anglaise Level qui signifie niveau.
http://patrick.hede.free.fr/wolf/CNAM/lamemoirecache.htm
Un exemple concret peut être : ls -a /home ou ls est la commande qui permet de lister
l’ensemble des fichiers d’un répertoire, en l’occurrence, le répertoire /home et
l’option -a permet d’inclure les fichiers cachés dans le résultat.
Voici une liste des commandes les plus populaires et que vous devriez connaitre lors
de la manipulation d’un système Linux :
1. La Commande pwd
2. La Commande cd
3. La Commande ls
Permet de lister les fichiers disponibles dans un répertoire, si appelé sans arguments,
ls liste les fichiers du répertoire courant.
[root@centos home]# ls
user1 user2
=> Ainsi, dans le répertoire home, deux fichiers existent et sont : user1 et user2
4. La Commande mkdir
=> Dans cet exemple, on s’est déplacé sous le répertoire tmp disponible sous la racine
/, affiché notre emplacement gràce à la commande pwd, puis créé un répertoire
(dossier) nomé repertoiredetest et le visualisé avec la commande ls.
5. La Commande rmdir
=> Avec cette commande, on vient de supprimer le répertoire qu’on vient de créer et
la commande ls nous l’a confirmé.
6. La Commande touch
7. La Commande cp
8. La Commande rm
=> La commande rm nous a permit dans cet exemple de supprimer les deux fichiers
précédemment créés.
9 La Commande mv
le fichier “fichier4” est vide, donc la commande “cat” ne renverra aucun résultat, dans
un autre cas on pourrait avoir :
12. La Commande echo
=> echo permet aussi d’écrire du contenu dans un fichier moyennant le signe “>” pour
écraser le contenu du fichier ou “>>” pour suffixer le contenu du fichier.
13. La Commande man
14. La Commande ln
Cette commande est utilisée pour créer un lien matériel ou symbolique (raccourci)
vers un fichier ou un répertoire.
C’est pourquoi, après avoir modifié fichier source en ajoutant le mot “contenu2“, un
ls sur fichiercible va afficher le contenu de fichiersource.
14. La Commande which
/bin/pwd
/bin/mkdir
15. La Commande more
La commande more permet de visualiser le contenu d’un fichier page à page. Utilisez
la touche entrée ou espace pour avancer l’affichage du contenu de votre fichier.
contenu
16. La Commande head
La commande head permet d’afficher le début d’un fichier (par défaut, les 10
premières lignes). Pour démontrer son fonctionnement, j’ai créé un fichier nommé
fichier2 avec un contenu de 20 lignes.
[root@centos tmp]# cat fichier2
ligne 1
ligne 2
ligne 3
ligne 4
ligne 5
ligne 6
...
...
ligne 17
ligne 18
ligne 19
ligne 20
[root@centos tmp]# head fichier2
ligne 1
ligne 2
ligne 3
ligne 4
ligne 5
ligne 6
ligne 7
ligne 8
ligne 9
ligne 10
17. La Commande tail
La commande tail permet d’afficher la fin d’un fichier (par défaut, les 10 dernière
lignes)
La commande find permet de chercher un fichier sous Linux. J’ai écrit un article
complet qui l’explique => la-commande-find-linux/
https://www.sitedetout.com/tutoriels/commandes-linux-de-base/