L’objectif global de l’architecture logicielle est de fournir une machine virtuelle comme abstraction du matériel utilisé (processeurs, disques, réseaux...). La machine virtuelle a pour rôle d’offrir aux utilisateurs des fonctionnalités adaptées à leurs besoins. Le premier de ces besoins est bien sûr de masquer les caractéristiques physiques du matériel afin que l’utilisateur ne voie pas de différence entre les différents ordinateurs qu’il utilise avec un même système d’exploitation. Par exemple, le système Unix est utilisé de la même façon, que l’on travaille sur une machine monoprocesseur ou une machine multiprocesseur. Le second besoin est la distinction de plusieurs niveaux d’abstraction. Un informaticien utilise sans doute directement les commandes du système d’exploitation. En revanche, un utilisateur néophyte accède, par exemple, à une application de comptabilité, qui s’occupe des appels des commandes de base du système d’exploitation. En conséquence, l’architecture logicielle suit, tel que dessiné sur cette page de cours, une structure en couches logicielles, chacune offrant des services de plus en plus évolués au niveau supérieur. Plus les services sont évolués, moins les utilisateurs ont besoin de connaissance sur la gestion des ressources matérielles, la contrepartie étant plus de consommation mémoire, des performances moindres...

Ce cours étudie la couche logicielle de base constituée du système d’exploitation. Les cours de programmation présenteront des langages et la méthodologie permettant de construire des logiciels applicatifs.  
 
Retour à la page de cours