110 - Définition et rôles Flashcards
Définition SE
Un système d’exploitation est une couche logicielle qui sert d’intermédiaire entre les utilisateurs et les ressources matérielles de l’ordinateur et qui offre un environnement d’exécution aux programmes qui se veut efficace, robuste et utilisable.
Composantes d’un ordinateur
Du « matériel »
* Processeur, mémoire, disques, périphériques, etc.
Un « système d’exploitation »
* Configurer le matériel
* Installer et exécuter des applications
Exemples: Windows, Debian, MacOS, Android
Des « programmes d’application »
* Les vrais logiciels utiles à l’utilisateur
Rôles d’un système d’exploitation
- Cache certains détails que l’utilisateur n’a pas à connaître pour exploiter la machine
- Présente à l’utilisateur une machine virtuelle facile à utiliser et à programmer
- Offre toute sorte de services abstraits: gestion des fichiers, communication entre programmes, etc.
- Connaît les détails internes intimes de la machine
- Utilise les services concrets (matériels) de la machine
Spécificité es applications ?
Pour les applications ?
* Pas besoin d’être spécifique à chaque matériel possible
→ Y compris du matériel qui n’existe pas encore
* Mais peuvent devenir spécifique à un système d’exploitation
→ Développer des applications portables entre différents systèmes
d’exploitation est plus difficile
Spécificité du materiel
Pour les matériels ?
* Développement de pilotes (driver) spécifiques au système d’exploitation
* Mais tous les systèmes d’exploitation sont pas égaux
→ Version de système d’exploitation non maintenu, matériel
discontinué, effort de développement non rentable
Gestion des processus
- Création et destruction des processus
- Décider de l’attribution processeur aux processus
- Suspendre et continuer les processus
- Permettre la synchronisation et la communication des processus
Gestion de la mémoire
- Répartir la mémoire entre les processus
- Gérer l’espace libre et les demandes de mémoire
- Décider du passage en mémoire distante
Gestion des fichiers
- Création, manipulation et destruction des fichiers et répertoires
- Gestion de l’espace disque libre
- Gestion des droits
Avantages SE
Les privilèges
Le système d’exploitation a le monopole de privilèges exclusifs
* Tout accès au matériel passe nécessairement par lui
* Toute allocation de ressource à un logiciel sera respectée
→ Sauf, bien sûr, si le système d’exploitation autorise des formes de contournement
Gestion des périphériques
- Gestion de la mémoire, cache, tampons, IRQ, DMA
- Pilotes spécifiques
- Gestion de l’énergie (batterie)
- Répartition des ressources entre processus (bande passante
disque, réseau, etc.)
Avantages bibliothèques logicielles
Avantages
* Permet de factoriser du bon comportement
* Mise à jour indépendante des bibliothèques dynamiques
partagées
Bibliothèques logicielles
C’est quoi?
Composantes logicielles prêtes à l’usage par des programmes
* Exemple: bibliothèque cryptographique
* Compilées ou non, statiques ou dynamiques (.so, .dll)
* Offrent une interface abstraite aux programmes (API/ABI)
Services, démons, serveurs
C’est quoi?
Processus s’exécutant en arrière-plan qui répondent à des requêtes
* Servent aussi à gérer l’activité de périphériques
* Exemple: serveur d’impression
* Offrent des services abstraits via des mécanismes de
communication entre processus
Avantages Services, démons, serveurs
Avantages
* Permet de sous-traiter du bon comportement * Mise à jour indépendante des logiciels
Qu’est-ce qui rend les systèmes d’exploitation différents ?
Bibliothèques et services vont souvent encapsuler des services système pour harmoniser, simplifier (ou complexifier) les choses
* En informatique, on aime résoudre les problèmes en ajoutant un nouveau niveau d’abstraction