Sélectionner une page

Linux est un système d’exploitation, une plateforme, un écosystème et une culture. Alors que la domination continue de Windows et Mac OS pour l’informatique de bureau amène le consommateur non initié à supposer que Linux est une sorte d’option marginale pour les geeks extrêmes et ceux qui ne veulent pas payer pour un système d’exploitation, la vérité est que Linux est le système d’exploitation le plus utilisé et le plus important de la planète. Il alimente le web, il alimente notre infrastructure, il alimente les plus grands superordinateurs du monde.

Le développement pour Linux peut représenter un certain défi, mais il peut aussi être extrêmement gratifiant. Ce petit guide vous fournira une introduction aux informations et aux ressources dont vous avez besoin pour vous lancer dans la programmation Linux. Il couvre quatre domaines du développement Linux : la contribution au noyau, la création de nouveaux modules, le développement d’applications pour Linux et les scripts Shell.

Développement du système d’exploitation Linux

Le système Linux est peut-être le projet de développement logiciel le plus ambitieux de la planète. De nouvelles versions stabilisées sortent environ tous les trois mois, et chaque version implique des milliers de développeurs travaillant dans des dizaines de pays.

S’impliquer dans le développement du système Linux est, C’est plus facile qu’il n’y paraît, car il n’y a pas de processus d’embauche, pas d’entretien, pas de bureaucratie. Toute personne qui sait ce qu’elle fait est la bienvenue pour développer le système de base et soumettre des corrections. D’un autre côté, c’est aussi extrêmement difficile car le système est extrêmement compliqué. De plus, la communauté de développement du noyau, bien que très accueillante à certains égards, ne tolère pas très bien les manigances des amateurs. Bien qu’il soit utile d’avoir la peau dure, rien ne remplace le fait de savoir ce que l’on fait. Le développement du noyau est une affaire assez sérieuse, qui implique une science informatique assez sérieuse. Si vous débutez dans le développement de systèmes d’exploitation, ce n’est pas vraiment l’endroit où commencer.

Compétences en matière de développement

Ce que vous devez connaître

La programmation du système Linux se fait en C. Pas en C++, ni en Objective-C, ni en C#. La première chose que vous devez faire est donc d’apprendre le langage de programmation C de manière approfondie.

Vous devez également avoir une connaissance approfondie de la théorie des systèmes d’exploitation, notamment en ce qui concerne le système Linux. Nous y reviendrons dans la prochaine section.

Comprendre Linux

Naturellement, vous devez comprendre Linux à la fois en tant qu’utilisateur et en tant que développeur. Cela inclut une compréhension assez approfondie de la structure du noyau Linux et de la manière dont les différents sous-projets s’assemblent.

Processus et culture

Enfin, vous devez comprendre comment le processus de développement de Linux fonctionne réellement. Cela implique d’avoir une idée de la communauté dans son ensemble, de sa culture et des relations entre les différents membres de la communauté de développement. Cela signifie également comprendre le contrôle de version distribué et le cycle de publication du développement.