Livre_silo 30 août 2013 16:32 Page 25
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
25
1 – Machine, système d’exploitation et environnement de développement
1.2.6 Protections
Jean Dupont, désirant toujours lire des données qui lui sont interdites, pourrait imaginer
écrire son propre programme, qui accéderait directement au disque dur pour ne pas avoir
à demander la permission au système d’exploitation. Après tout, puisqu’il est possible de
faire exécuter au processeur des instructions arbitraires, ne pourrait-il pas en tirer parti ?
Cela n’est pas si simple : lorsqu’il lance un programme utilisateur, le système d’exploitation
fait basculer le processeur dans un mode de fonctionnement particulier (appelé mode utilisateur) dans lequel le programme est isolé : il ne peut accéder ni à l’espace mémoire des
autres processeurs, ni aux périphériques du système.
S’il tente malgré tout de lire ou d’écrire dans des parties de la mémoire qui lui sont interdites, son exécution est momentanément arrêtée et le contrôle est transféré au noyau du
système d’exploitation, pour qu’il décide de la conduite à tenir. Sa décision est (normalement) sans appel : le programme est définitivement arrêté ².
Pour ce qui est de l’accès aux périphériques, la seule possibilité pour le programme consiste
à appeler des fonctions du noyau du système d’exploitation (on parle d’appels système). On
peut les voir comme des branchements d’un type particulier, qui transfèrent le contrôle
au système d’exploitation et remettent le processeur en mode noyau. Ensuite, le système
d’exploitation fait parvenir sa réponse au programme et lui rend le contrôle en mode utilisateur.
Un programme lancé par Jean Dupont doit donc passer par un appel système pour accéder
à un fichier. Comme on l’a vu, le système vérifiera les droits de l’utilisateur du programme
et refusera si celui-ci n’ est pas autorisé à y accéder.
Ainsi le système d’exploitation protège-t-il les différents programmes et utilisateurs les uns
des autres.
1.3 Environnement de développement intégré
Un ordinateur est donc une machine universelle, sur laquelle tout utilisateur a la capacité
d’écrire et d’exécuter un programme, dans les limites fixées par le système d’exploitation.
Il serait cependant assez ardu de produire des programmes complexes s’il n’existait pas des
moyens adaptés pour les développer. Cette section présente une famille de logiciels qui
ont pour seul but de faciliter la conception de programmes, en fournissant dans un cadre
unique la plupart des outils dont peut avoir besoin un programmeur.
2. Sous MS-Windows, on peut voir apparaître des fenêtres d’erreur indiquant « Ce programme va être arrêté
parce qu’il a effectué une opération non conforme ». Il s’agit de la réaction du système d’exploitation à une erreur
de ce type.
Précédent

- 38/402

Suivant