Conception et vie d'un programme, partie 4 : exécution et interaction avec le noyau

Magazine
Marque
GNU/Linux Magazine
Numéro
132
|
Mois de parution
novembre 2010
|


Résumé
Après avoir étudié les différentes formes et transformations d'un programme depuis le code source jusqu'à l'exécutable chargé, il nous reste à nous intéresser aux mécanismes qui régissent son exécution. Celle-ci doit s'effectuer dans un cadre très strict, contrôlé à outrance par un autre programme qui joue le rôle d'autorité du système : le noyau.

La suite est réservée aux abonnés. Déjà abonné ? Se connecter

Par le même auteur

Conception et vie d'un programme, partie 4 : exécution et interaction avec le noyau

Magazine
Marque
GNU/Linux Magazine
Numéro
132
|
Mois de parution
novembre 2010
|
Résumé
Après avoir étudié les différentes formes et transformations d'un programme depuis le code source jusqu'à l'exécutable chargé, il nous reste à nous intéresser aux mécanismes qui régissent son exécution. Celle-ci doit s'effectuer dans un cadre très strict, contrôlé à outrance par un autre programme qui joue le rôle d'autorité du système : le noyau.

Conception et vie d'un programme : le format ELF

Magazine
Marque
GNU/Linux Magazine
Numéro
129
|
Mois de parution
juillet 2010
|
Résumé

Dans le précédent article, nous avions disséqué le processus de compilation d'un programme et étudié les différents états qu'il traverse. Mais le fichier binaire obtenu à la fin de cette chaîne nous semble bien opaque... Pourtant, bien que la distinction soit toujours faite entre fichiers « programmes » exécutables et fichiers « classiques » de données, les premiers ne sont guère différents des seconds en ce qu'ils obéissent à un format bien précis et sont gérés par un programme tiers, le chargeur. Afin de mieux comprendre ce qui fait un programme, nous allons dans le présent article disséquer le format exécutable ELF utilisé par Linux et de nombreux autres systèmes d'exploitation.

Conception et vie d'un programme : les sous-traitants de GCC

Magazine
Marque
GNU/Linux Magazine
Numéro
128
|
Mois de parution
juin 2010
|
Résumé

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.

OpenSUSE Build Service : créez vos paquets binaires pour (presque) toutes les distributions

Magazine
Marque
GNU/Linux Magazine
Numéro
126
|
Mois de parution
avril 2010
|
Résumé
Développer son projet open source est une chose, le faire parvenir jusqu'à ses utilisateurs potentiels en est une autre. L'époque où l'utilisateur moyen de Linux acceptait de compiler le source d'un logiciel est en effet révolue et tout le monde n'a pas l'honneur de voir son projet figurer dans les dépôts officiels des distributions. La solution consiste alors à fournir soi-même les paquets binaires pour le plus de plates-formes possible – une démarche fastidieuse et frustrante, mais l'OpenSUSE Build Service est là pour vous simplifier la vie.

SQLite: tables virtuelles

Magazine
Marque
GNU/Linux Magazine
Numéro
119
|
Mois de parution
septembre 2009
|
Résumé
Cela fait déjà quelque temps que nous naviguons dans les méandres de SQLite, et celui-ci doit déjà commencer à vous sembler familier. Après avoir défini des fonctions personnalisées, nous allons apprendre à créer nos propres définitions de tables. Celles-ci auront une particularité par rapport aux tables classiques de SQLite : leur stockage et leur accès sera sous notre entière responsabilité.