Principes de Fonctionnement
des Ordinateurs
- Systèmes d'exploitation -

Frédéric Boulanger
frederic.boulanger@centralesupelec.fr

CentraleSupélec
3e année mention Science du logiciel

Systèmes d'exploitation


     

Systèmes d'exploitation


Rôle

Le système d'exploitation fournit une abstraction du matériel :
  • applications portables sur différents ordinateurs
  • système de fichiers indépendant des périphériques
  • gestion des multi-cœurs
  • accès aux périphériques via des pilotes
Il fournit également des services :
  • protocoles réseau
  • communication et synchronisation entre processus
  • protection entre processus
  • protection entre utilisateurs
  • chargement des applications
  • langage de commandes

Systèmes d'exploitation


Structure

Applications
BibliothèquesLangages de programmation
Système d'exploitation
PilotePilotePilotePilotePilote
Matériel

Sécurité


Le système d'exploitation s'appuie sur des mécanismes matériels
pour assurer la sécurité :
  • le processeur démarre en mode privilégié,
    à une adresse où se trouve le code de chargement du système
  • lorsque le système lance une application,
    il met le processeur en mode restreint
  • dans ce mode, certaines instructions sont interdites,
    notamment celles qui contrôlent les adresses accessibles
  • il n'y a pas d'instruction pour revenir en mode privilégié
  • le seul moyen d'y revenir est de restaurer le registre d'état
    en rendant la main au système : appel système
  • sauf bug dans le code du système, ce mécanisme garantit
    la protection des zones de mémoire et des périphériques
    contre les accès frauduleux.

Conclusion


En partant des transistors, nous avons construit :
  • des portes logiques
  • des fonctions arithmétiques
  • des circuits séquentiels
  • un microprocesseur (chemin de données + séquenceur)
  • des périphériques d'entrées-sorties
Nous avons vu :
  • comment traduire les langages de programmation
  • comment utiliser les interruptions
  • comment fonctionne un pilote de périphérique
Sur ces bases, un système d'exploitation :
  • fournit une vision abstraite du matériel
  • permet d'écrire des applications pour des matériels différents
  • assure la protection des processus et des utilisateurs
  • offre des services évolués grâce à des bibliothèques