1) Compiler un programme, c'est prendre le code source et le convertir en binaire, chose que l'ordinateur peut déchiffer. Genre, en faire un exécutable.
Par exemple, si tu as le code
int main
{
printf("Hello world!\n");
}
en c, ben tu le compile, et sa te donne un exécutable qui affichera Hello World! à l'écran.
2) Compiler le noyau (kernel) de Linux, sa sert à avoir une version "personalisée" du noyau. Bon, le kernel c'est la base du système. Et avant la compilation, on peut choisir tout ce qui va etre compiler. Donc, si on met seulement ce dont on a besoin, notre kernel sera plus rapide qu'un autre qui met toutes les options par exemple. Enfin bref... Souvent quand tu downloads une distribution de Linux, il y a déjà un noyau précompiler avec, donc tu n'as pas à te casser la tête avec sa... =)
3) Décompiler, c'est pas une pratique très courante... Sa permet de décompiler un exécutable pour le mettre en assembleur (un language de prog de tres bas niveau).
C'est pas mal tout ce que je peux te dire...
Bye!
==============================================
RTFMFM