Qu'est-ce que la programmation système?

Tous les programmeurs écrivent du code exécutable pour les ordinateurs, mais ce qui distingue les programmeurs système des programmeurs d'applications est le but du logiciel qu'ils écrivent. La programmation d'applications produit un logiciel qui fait que le matériel d'un ordinateur génère quelque chose pour l'utilisateur, que ce soit une feuille de calcul ou les graphiques pour un jeu. La programmation système produit un logiciel qui accède et contrôle le fonctionnement interne du matériel et du système d'exploitation d'un ordinateur.

La programmation d'applications implique généralement des commandes système pour utiliser les fonctions de base du matériel et du système d'exploitation d'un ordinateur, tels que le stockage d'une pièce particulière dans la mémoire physique de l'ordinateur ou un fichier sur le disque dur. Ces types de programmes ne concernent pas les détails sur le fonctionnement du disque dur ou de la mémoire physique. À l'inverse, les programmeurs système se préoccupent des détails du fonctionnement d'un système d'exploitation et d'un matériel. Cela leur permet de créer le logiciel qui défragmente hARD entraîne et vérifie l'intégrité de la mémoire physique d'un ordinateur.

En plus de pouvoir créer de tels outils, les programmeurs système sont généralement des experts dans le fonctionnement principal des systèmes d'exploitation. Tous les programmeurs connaissent les appels système, la gestion des threads et la gestion des entrées / sorties, mais la programmation système nécessite que l'ingénieur logiciel puisse manipuler ces mécanismes de système d'exploitation. Cela permet à un programmeur système d'effectuer des installations spécialisées et d'automatiser les tâches de maintenance du système.

La connaissance du cœur d'un système d'exploitation est également nécessaire afin de maximiser les performances d'une application sur une configuration matérielle particulière. Par exemple, les détaillants en ligne très occupés ont besoin de leurs sites Web et de leurs systèmes de traitement des transactions pour fonctionner aussi efficacement et de manière fiable que possible. Utilisation de ses connaissances sur la mécanique interne des systèmes d'exploitation et HardwaLes composants RE, tels que la façon de faire optimiser un système d'exploitation particulier d'optimiser sa gestion de threads ou les algorithmes les plus rapides sur les composants matériels, un programmeur système peut aider à régler les performances d'une application.

.

Cet accès détaillé au fonctionnement interne du matériel et des composants du système d'exploitation nécessite que la programmation système soit effectuée dans un langage qui permet ce type d'accès matériel à bas niveau. Des langages tels que Java®, Python ™ ou Ruby sur Rails® sont ce que les programmeurs appellent les langages de haut niveau. Cela signifie qu'ils facilitent la programmation des applications en ne facilitant pas le programmeur des détails fins de la gestion matérielle. La programmation système nécessite exactement ce type d'accès, donc les programmeurs système utilisent un langage de bas niveau tel que C ou C ++.

DANS D'AUTRES LANGUES