Compiler, lier, exécuter, … autant de tâches familières pour le programmeur que vous êtes. Mais les détails de ces opérations sont plus confidentielles. Par exemple, connaissez-vous les formes que prend un programme durant sa construction ? Savez-vous comment il est chargé en mémoire et exécuté ? Comment il communique avec le noyau et les bibliothèques du système ? Cette série vous fera découvrir les ficelles de la production et de l'exécution d'un programme sous Linux, un sujet vaste qui nous fera plonger jusque dans les détails du noyau et nous aidera à devenir un meilleur programmeur, conscient de la relation entre son code, le système et le matériel.
Le but de cette nouvelle série est de lever le voile sur le travail effectué par la chaîne de compilation et le système d'exploitation pour donner vie à ce qui n'est, au début, qu'une collection de fichiers textes. Le sujet s'avérera particulièrement diversifié et nous fera appréhender de nombreux éléments ayant trait à la conception des systèmes d'exploitation. Notamment, nous serons amenés à comprendre comment le programme binaire est créé, son format de fichier, comment il est chargé en mémoire, et enfin, comment Linux fait fonctionner tous ces programmes simultanément en les gardant isolés les uns des autres.
Cette série se veut aussi accessible que possible pour un tel sujet – cependant, une connaissance du langage C ainsi que de l'utilisation des outils de compilation GNU (gcc, ld, …) est supposée, et des bases en assembleur x86 sont un plus. Il faudra également savoir compter en héxadécimal !
Nous utiliserons de nombreux exemples...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première