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