Un logiciel est un ensemble de séquences d’instructions qui sont compréhensibles pour une machine.
La mise en œuvre des instructions du logiciel est appelée son exécution.
Un micro contrôleur, c’est lent et limité. Il n’y a de la place que pour un seul logiciel, le votre. Du coup votre logiciel doit à la fois faire son boulot et gérer tous les aspects matériels : gestion de la mémoire vive, des mémoires de stockage, de la vitesse de traitement, de la batterie, etc… Si on veut faire x choses à la fois on utilise ?
A l’inverse, un ordinateur comme le Raspberry, a assez de puissance de calcul et de mémoire pour exécuter des dizaines de logiciels en « même temps ». Dès lors on a créé des logiciels pour gérer ce cas de figure d’un ordinateur capable d’exécuter plusieurs logiciels simultanément.
Un logiciel peut être techniquement classé comme étant un logiciel système ou un logiciel applicatif selon la manière dont il interagit avec le matériel. Ce n’est pas qu’une vue abstraite : l’ordinateur fonctionne différemment quand il exécute l’une ou l’autre de ces catégories de logiciels. Sur microcontrôleur un logiciel est forcément … système. Par contre sur un ordinateur on a un système d'exploitation