lundi 13 juin 2016

Le kernel de Linux

Linux se comporte comme un système Unix, surtout en termes de comportement et de support périphérique, Linux a toutes les caractéristiques d’Unix, plus plusieurs extensions récentes.

Tout le code source de Linux est librement distribuable. Le kernel de Linux a été développé originellement pour le CPU Intel 80386 en mode protégé, Le 80386 a été crée avec le multi-tâches(en dépit du fait que la plupart des CPU Intel sont utilisés avec des simples tâche DOS et Windows), et Linux fait une bonne utilisation des caractéristiques avancés construits dans les instructions du CPU. La gestion de la mémoire est spécialement forte avec 80386. une routine d’émulation du point flottant permet à Linux de fonctionner sur des machines qui n’ont pas de co-processeurs mathématiques (tel que les séries SX des CPU Intel).

Linux permet les exécutables partagés ainsi, si plus d’une copie d’une application est chargée (soit par un utilisateur lançant plusieurs tâches identiques ou, plusieurs utilisateurs lançant la même tâche), toutes les tâches peuvent partager la même mémoire. cette procédure, appelé copy-write pages, utilise plus efficacement la RAM.

Le kernel de Linux supporte aussi la demande de paging ce qui signifie que seule la section du programme  ,qui est nécessaire, est lue dans la RAM. Pour optimiser encore plus la mémoire, Linux utilise une réserve de mémoire unifiée. Cette réserve active tout la mémoire libre sur le système pour être utilisée comme cache disque, accélérant ffectivement l’accès aux programmes et aux données fréquemment utilisées. Quand l’utilisation de la mémoire augmente, la quantité du cache est automatiquement ajustée.

Pour supporter un besoin de mémoire plus grande que la mémoire physique disponible, Linux supporte un espace swap. Un espace swap active des pages de mémoires pour être écrits sur une zone réservée du disque dur et traité comme une extension physique de la mémoire. en utilisant cette technique, Linux peut effectivement se comporter comme s’il avait plus de mémoire physique qu’il n’en a, bien que ça occasionne un ralentissement de l’accès du disque dur. Linux utilise des librairies dynamiques partagées. Ces librairies utilisent une section commune de librairie pour beaucoup d’applications différentes réduisant ainsi la taille de chaque application. Linux permet aussi les librairies liées (appelée aussi librairies liées statiques) pour la portabilité sur des machines qui n’ont pas de librairies dynamiques.

Linux supporte beaucoup de systèmes de fichiers différents, incluant ceux compatibles avec le DOS et Windows. Le propre système de fichier de Linux a été crée pour une utilisation optimale du disque dur. Linux est idéal pour le développement et l’expérimentation de nouveaux langages. plusieurs compilateurs différents, incluant C,C++,Fortran, Pascal, Modula-2,LISP,Ada,,Basic et SmallTalk, viennent avec la
distribution. Beaucoup de compilateurs Linux, outils et débuggeurs, et éditeurs proviennent du projet GNU de la Free software Foundation.