Vous êtes sur la page 1sur 34

LO41

Architecture et Utilisation des systèmes


d’exploitation

edohmessan@gmail.com
Partie 1 : Éléments d’un SE

1 Introduction
– 1.1 Présentation d’un SE
– 1.2 Rôle d’un SE
– 1.3 Historique des S.E
– 1.4 Historique d’Unix
– 1.5 Présentation d’Unix

2 Les Processus
– 2.1 Notion de Processus
– 2.2 Gestion des Processus
– 2.3 Ordonnancement
– 2.4 Le cas d’Unix
Partie 1 : Éléments d’un SE

3 Le Système de Gestion de Fichiers


– 3.1 Représentation des données
– 3.2 Notion de fichier
– 3.3 Système de Gestion de Fichiers
– 3.4 La sécurité des mécanismes de protection
– 3.5 le cas d’Unix

4 Les Entrées Sorties


– 4.1 Les différents types d’E/S
– 4.2 Les gestionnaires d’E/S
– 4.3 Le cas d’Unix
Partie 1 : Éléments d’un SE

5 La Mémoire
– 5.1 Mémoire segmentée
– 5.2 Pagination
– 5.3 Mémoire virtuelle
– 5.4 le cas d’Unix

6 L’Interaction entre processus


– 6.1 Mécanisme de synchronisation
– 6.2 Communication entre processus
– 6.3 Le cas d’Unix
Partie 2 : Communication et Gestion des Processus

7 La Gestion du Parallélisme
– 7.1 Compétition / Coopération
– 7.2 Mécanisme de synchronisation
– 7.3 Modèle Producteur - Consommateur
– 7.4 Modèle Lecteur – Rédacteur

8Les Mécanismes de Synchronisations reposant sur la


notion d’Exclusion Mutuelle
– 8.1 Représentation formelle de l’Exclusion Mutuelle
– 8.2 Algorithmes de Gestion de l’Exclusion Mutuelle
– 8.3 l’Exclusion Mutuelle par sémaphores
– 8.4 Producteurs Consommateurs par sémaphores
Partie 2 : Communication et Gestion des Processus

9 Ordonnancement

10 Inter blocage

11 Conclusion : Systèmes d’Exploitation modernes


– 11.1 Les micro - noyaux
– 11.2 Les systèmes distribués
– 11.3 Les environnements Client - Serveur
– 11.4 Les systèmes temps – réel
– 11.5 Les systèmes mobiles
– 11.6 Les perspectives
Historique de l’évolution des ordinateurs

Origine : Traitement des besoins spécifiques pour des


exploitants autonomes

Introduction de nouveaux concepts au regard


– de l’évolution des besoins
– des raisons économiques
– de l’amélioration des performances
Les systèmes purement séquentiels

1950 – 1960 : Carte (Programme binaire + données) Carte ou


Impression
Les systèmes purement séquentiels

Avantages
– Vitesse de calcul (relative)
– Base de travail scientifique

Inconvénients
– Faible débit
– Matériel sous utilisé
– Délais de manipulation des cartes
– Pas de langage de commande
– Dump
Les systèmes purement séquentiels

1955: Émergence des supports magnétiques


– Outil de gestion des supports magnétiques
– Moniteur d’enchaînement des travaux
• Notion JOB
• Langage de description des étapes

Le langage de commande
permet à l'utilisateur de
préciser en quoi consiste le La protection des données et
travail. des instructions

Le superviseur d'entrées-sorties assurent le


contrôle des opérations d'entrées-sorties des
programmes des utilisateurs.
Les systèmes purement séquentiels

1960: Ordinateur spécialisé d’entrées sorties


– Gestion des E/S par transfert des cartes sur bandes et
lecture des bandes par le moniteur des travaux

•Le débit des travaux


est amélioré.
•Le temps de réponse
est augmenté
Les systèmes purement séquentiels

Avantages :
– Utilisation de langages de commandes évolués
– Préparation des travaux indépendante de l’exploitation
– Débit amélioré (meilleure utilisation du matériel)
Inconvénients :
– Pas d'interaction directe utilisateur/système
– Monoprogrammation
– Processeurs souvent inactif
– Temps de réponse augmenté
– On ne peut supprimer complètement le temps d’opération
des E/S
Les systèmes en temps partagé

la séquence de cartes perforées d’un job batch


1. Définition du travail notamment du propriétaire
2. Exécution du compilateur avec en entrée le code source
3. Chargement en mémoire du programme exécutable
4. Exécution du programme et production des données
Les systèmes en temps partagé

Utilisation de transistors
– Machines plus fiables (mainframes)
Opérateur professionnel
– Engagé pour s’occuper du système
– Enchaînement des tâches, surveillance de leur déroulement etc.
– Le programmeur n’a plus accès à la console
Mise en commun des tâches similaires
– Exemple : deux programmes FORTRAN utilisent le même compilateur
=) Toujours de longues périodes d’inactivité de l’unité centrale.

Traitement hors ligne (offline)


Utilisation de bandes magnétiques comme buffers E/S de l’unité centrale (IBM-7094).
Conversion cartes $ bandes sur des machines distinctes (IBM-1401).

Moniteur résident
Les systèmes en temps partagé

IBM 7004 Console 7094


Introduction du parallélisme

1960 : Entrées Sorties tamponnées


– Processeur spécialisés dans le traitement autonome d’opérations
spécifiques Traitement parallèle
– Superviseur E/S
– Introduction du mécanisme « des interruptions »
La multiprogrammation

1965 : Circuit intégré


– Développé grâce à l’augmentation de la taille des mémoires centrales
– Offrir une gamme de machines compatibles : Éviter les machines dédiées (IBM-1401
vs. IBM-7094) et Permettre la montée en puissance progressive.
– Première famille d’ordinateurs dotés de circuits intégrés. Rapport performance / coût
cassé.
– OS/360 : des millions de lignes d’assembleur. Des milliers de programmeurs. Autant de
bugs.
La multiprogrammation

1965 : IBM 36091


La multiprogrammation

Progrès du matériel :
– Amélioration des périphériques
– Processeurs dédiés aux entrées-sorties (E/S tamponnées)
– Organisation de la mémoire (mémoire virtuelle)
Progrès du logiciel :
– Entrées-sorties en mode différé (spool)
– Faire coexister plusieurs travaux dans la mémoire, et faire
travailler celui qui peut.
– Exécution parallèle d’entrée-sortie et d’activités d’exécution (E/S
tamponnée)
– Moniteur plus évolué
La multiprogrammation

Spooling (Simultaneous Peripheral Operation Online) :Utilisation de


disques (accès direct) plutôt que de bandes (accès séquentiel)
Plus besoin de conversion cartes $ bandes
Forme rudimentaire d’ordonnancement : Le système choisi un candidat
parmi les travaux disponibles (modification de l’ordre initial des travaux)
Premier cas de prise de décision à la place des utilisateurs
Temps partagé (multitâche / timesharing) : Extension
logique de la multiprogrammation

Plusieurs travaux sont lancés simultanément (multiprogrammation)


Commutation très fréquente entre les différents programmes en cours
(illusion de parallélisme)
Possibilité de dialogue avec le programmeur (celui-ci redevient le
contrôleur de ses travaux)
CTSS (Compatible Time Sharing System), MULTICS
(MULTiplexed Information and Computing Service).
=) Un accès interactif aux données nécessite un système de fichiers, et
pose donc les premiers problèmes de sécurité.
Amélioration de l’interface

1965 : Le temps partagé


– Avantages :
• Meilleur temps de réponse
• Délais d’attente plus court
• Interaction utilisateur
• Illusion multi-tâches

– Inconvénients :
• Complexité
• Pas réellement multitâches
• Changement de contextes fréquents
Amélioration de l’interface

1970 : Le transactionnel

– Partage d’informations fondamentales qui couvrent les données ainsi


que les instructions qui décrivent les opérations

– Transaction : pour gérer le partage et garder la cohérence des


données partagées

– Sauvegarde des données


Les Systèmes Parallèles

Plusieurs processeurs partagent les mêmes ressources


matérielles (bus, mémoire, périphériques etc.)
– Mémoire partagée ou répartie
– Même bus de données
– Partage des travaux
– Exécution simultanée
– Dégradation progressive

Deux familles :
– Symétriques (SMP) :
• Tâches prédéfinies pour chaque processeur
• Les processeurs exécutent tous une copie du système;
• Partage « collaboratif » des travaux
• Philosophie maître esclave (Sun Os4)
– Asymétriques :
• Chaque processeur exécute une copie du système d’exploitation et
communique avec les autres pour l’allocation des tâches (ex. SunOS 5 (Solaris
2) et LINUX)
Les Systèmes Parallèles

Avantages :
– Réellement multitâches
– Tolérances aux pannes

Inconvénients :
– Équilibrage de charge entre les processeurs (file d ’attente)
– Manque de souplesse
Les Systèmes Distribués

Plusieurs processeurs ne partagent pas les mêmes


ressources matérielles (bus, mémoire, périphériques etc.)
Partage de ressources éloignées et communication sur un
réseau
Avantages :
– Réellement multitâches,
– Tolérances aux pannes,
– Souplesse et Évolutivité.
Inconvénients :
– Délais de propagation,
– Équilibrage de charge entre les ordinateurs connectés,
– Complexité,
– Administration.
Les Systèmes Temps réels

Les systèmes temps réel sont principalement utilisés pour des


applications dédiées (ex. robotique industrielle). Ils doivent fournir les
résultats attendus quelles que soient les contraintes de temps
imposées.

Temps réel rigide


– Système garantissant que les tâches critiques finissent à temps.
Caractéristique incompatible avec les systèmes à temps partagé.

Temps réel souple


– Système donnant la priorité aux tâches critiques jusqu’à ce qu’elles se
terminent. Cette fonctionnalité se retrouve de plus en plus dans les
systèmes modernes (UNIX en particulier).
Historique
Le Système d’Exploitation

Définition :
– « Abstraction régissant l’exécution des programmes et pouvant remplir
des fonctions telles que l’affectation des ressources, l’ordonnancement, la
gestion des E/S et des données » [AFNOR]
Le Système d’Exploitation : Objectif (1)

Masquer le matériel en fournissant la notion


de ressource

– Abstraction indépendante des détails matériels

– Abstraction protégée par le système


Le Système d’Exploitation : Objectif (2)

Contrôler et gérer l’accès aux ressources


– Plusieurs programmes peuvent s’exécuter en même temps
• multi multi-tâches / mono tâches
– Plusieurs utilisateurs peuvent utiliser le système en même temps
• multi utilisateurs / mono utilisateurs /

Exemples :
– UNIX : multi -tâches + multi-utilisateurs
– NT/ 2000 : multi-tâches + mono-utilisateur
Le Système d’Exploitation

Double fonction :

– En tant que machine étendue ou machine virtuelle

– En tant que gestionnaire de ressources


Le Système d’Exploitation

Décomposition fonctionnelle d’un SE :


– fonction de base :
• les processus
• la gestion de la mémoire, le système de
fichiers, les entrées sorties
– fonctions supplémentaires :
• les réseaux, les systèmes répartis
• les systèmes de fenêtrage
Description d’un S E

Lors de la phase de conception d'un système


d'exploitation, il est nécessaire de faire de nombreux
choix :
– choix d'algorithmes,
– choix de politique de gestion,
– choix de paramètres, etc...

Ces choix sont guidés par la nature de l'utilisation du


système, et conduisent à des solutions de compromis.

Vous aimerez peut-être aussi