La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Introduction aux systèmes d’exploitation

Présentations similaires


Présentation au sujet: "Introduction aux systèmes d’exploitation"— Transcription de la présentation:

1 Introduction aux systèmes d’exploitation
N.Hameurlain

2 Plan Classification des logiciels Composants du logiciel de base
logiciels d ’applications; logiciel de base. Composants du logiciel de base Modes d’exploitation et Fonctionnalités d ’un SE.

3 Logiciels exécutés sur un ordinateur : classification
Logiciels d'application achetés ou développés, pour satisfaire des besoins spécifiques. Logiciels de base fournir des services adaptés à la résolution des problèmes usuels traités sur ce type de calculateur.

4 Logiciels de base: fonctionnalités
Préparation et mise au point des programmes Exploitation (exécution) des programmes; Gestion des ensembles de données: stockage, partage.

5 Composants du logiciel de base: les Outils
Logiciels de manipulation de collections de données éditeurs de textes compilateurs, éditeurs de liens recherche dans un fichier; extraction, fusion etc ... (utilitaires divers) n'interagissent pas avec les logiciels d'application

6 Composants du logiciel de base: les Services
Logiciels facilitant le travail du programmeur ou de l'usager mais facultatif pour cette fonction, et interagissant avec les logiciels d'applications. gestionnaires de données gestionnaires de fenêtres gestionnaires de communications etc...

7 Composants du logiciel de base: Système d'exploitation
Collection de fonctions participant directement à l'exécution de logiciels sur le matériel et permettant éventuellement le partage de celui-ci: chargement et lancement des programmes gestion du (des) processeur(s), des périphériques et entrées/sorties gestion de la mémoire principale et secondaire Interagissant avec les logiciels d'application

8 Interactions entre composants logiciels de base
Matériel Système d ’Exploitation (SE) Outils Services Applications (Interprète de commandes) Les frontières entre composants sont variables dans le temps et suivant les concepteurs de systèmes d'exploitation

9 Interactions Utilisateur/système
Interactions Programmeur /système d'exploitation Interactions usager (non programmeur) ->système

10 Interactions Programmeur /système d'exploitation(1)
Pour le système d'exploitation, un programme d'application est considéré comme une procédure (presque) classique. Conséquence (MS-DOS, MacOS) : si un programme se "plante", le système aussi.

11 Interactions Programmeur /système d'exploitation (2)
Pour le programmeur, le système apparaît aussi comme une collection de procédures, trop délicates ou trop fastidieuses pour qu'il les écrive lui-même: Ces procédures sont appelables si l'on connaît leurs noms et leurs arguments. Passage du mode utilisateur en mode système: appels système ou trappe ou SVC (Supervisory Call)

12 Exemples de fonctions système
Manipulation des fichiers et des répertoires: ouverture de fichiers lecture dans un fichier etc... Accès aux périphériques d ’Entrées/Sorties (disque, réseau)

13 Appels systèmes Avantages: utiliser des bibliothèques pour éviter d'avoir à écrire des procédures en assembleur ainsi que le passage des paramètres dans la pile. Cas des langages de haut niveau: les appels systèmes pour réaliser des Entrées/Sorties sont invisibles du programmeur car mis en place par le compilateur ou l'interpréteur.

14 Interactions usager (non programmeur) ->système
Problème : pour avoir accès à une fonction système (exécution d'un programme par exemple) l'usager doit exécuter un programme qui fasse l'appel système correspondant ! Solution: Interpreteur de commandes: Programme usager (ou système) exécuté quand il n'y a rien d'autre à faire.

15 Présentation de différents modes d'exploitation
Selon les besoins d'une classe d'applications, un système d'exploitation remplit des fonctions différentes. Exemples: ordinateur individuel centre de calcul gestion de transactions temps réel et gestion de procédés industriels

16 Fonctionnalités à développer
interpréteur de commandes gestion des entrées/sorties série et parallèles gestion des communications, des réseaux gestion de fichiers, gestion de fenêtres utilitaires de manipulation de fichier gestionnaire de fenêtres.

17 Qualités attendues Simplicité d’utilisation
Temps de réponses acceptables Problèmes simplifiées: un seul utilisateur à la fois allocation des ressources simplifiée pas ou peu d ’activités en parallèle.

18 Solutions retenues Développement des SE spécifiques mono-utilisateur et mono-tâche (MSDOS); fiabilité médiocre du fait du « mono_utilsateur » (absence de protection). Utilisation des SE multi-utilisateurs et multi-tâches (UNIX, Windows NT, …) bonne fiabilité mise en réseaux immédiate,

19 Centre de calcul: Objectifs
Offrir des services communs inaccessible individuellement logiciels complexes accès à des périphériques divers; Offrir des possibilités découlant d ’un ensemble d ’usagers: partage d ’information; communications.

20 Mode de traitement des travaux
Multiprogrammation (traitement par lots, différés, batch): Non interactif justification: rentabiliser au max le Matériel; Temps partagé (time sharing): Interactif justification: satisfaire le plus rapidement possible les demandes des services « courts » des usagers.

21 Fonctionnalités à développer
Idem ordinateur individuel plus, allocation et partage des ressources physique communs: processeur(s); mémoire principale; disque,… gestion de l’information partagée (fichiers) gestion des communications entre usagers (courrier )

22 Qualités attendus Protection des travaux des utilisateurs;
sûreté de fonctionnement (disponibilité) Performances face à de nombreux usagers flexibilité par rapport aux besoins des utilisateurs; extensibilité dans le temps.

23 Gestion des transactions
Gestion d’un ensemble d ’informations très volumineux (Base de données); Accès aux informations uniquement au moyen d ’opérations pré-définies: transactions. Grand nombre de points d ’accès (terminaux) répartis géographiquement

24 Qualités d’un système de transactions
Grande sécurité de données; performances; disponibilités; outils pour le maintien de l ’intégrité de la BD; synchronisation des transactions mécanismes de reprise et de sauvegarde.

25 Temps réels et gestion des procédés industriels
Exemple: Systèmes embarqués (avions, trains); gestion du trafic; conduite de raffineries, etc... Types de mission : surveillance/sécurité; production/régulation

26 Fonctionnalités à développer
Mesures et commandes: températures, pressions, etc Nécessité des E/S spécialisées efficaces. Gestion des événements et priorités mécanismes permettant de régir à un événement du procédé dans un délai déterminé Traitements: mise à disposition de mécanismes de hiérarchisation des traitements: contrainte: sûreté de fonctionnement.

27 Les principaux Aspects des Systèmes d’Exploitation
N.Hameurlain

28 Plan Processus et synchronisation Allocation de ressources
Structuration des systèmes Gestion des objets

29 Processus et synchronisation
Problèmes: identifier et définir les activités autonomes; Processus: activité résultant de l'exécution d'un ou plusieurs programmes séquentiellement en vue de la réalisation d'une tâche bien définie; synchronisation: coordination d ’activités autonomes mais dépendantes

30 Processus Le processus est l'entité d'affectation du processeur : en dehors des traitements d'interruptions et des périodes de transition, le processeur est alloué à un processus. Le mécanisme d'allocation du processeur (scheduler) considère les processus comme des activités autonomes et a priori indépendantes.

31 Synchronisation Problème: Comment faire pour qu'une activité A, arrivée à un point X de son exécution, attende pour continuer qu'une activité B ait atteint ou dépassé un point Y de son exécution ? Solutions: approche par temporisation , et par « synchronisation »

32 Approche par temporisation
Principe: mesure le délai maximum D qu'il faut à B pour atteindre Y. Il suffit alors de commencer à exécuter A à partir de (début de B) + D; problème: solution difficile et périlleuse.

33 Approche par temporisation: problèmes
Aléa des temps d'entrées/sorties et indéterminisme induit; Variabilité du [Delta] avec la charge; Pannes partielles; Modification des programmes si évolutions des délais; Mauvaise utilisation des ressources car utilisation d'un délai maximum.

34 Approche par synchronisation
Conception de mécanismes de synchronisation utilisables par les processus qui doivent se synchroniser : un processus signale aux autres processus un "événement" (changement significatif) par rapport à sa situation ou dans l'environnement d'exécution. Exemple : sémaphores (Dijkstra 1967), nombreuses autres propositions.

35 Mécanismes de synchronisation
Doivent permettre l'auto-suspension d'un processus l'activation d'un processus suspendu Interaction forte avec le coeur du système d'exploitation car touche à l'allocation ou à l'abandon du processeur par un processus .

36 Tendances actuelles Intégration des mécanismes de synchronisation dans les langages de programmation de haut niveau; Conception d'outils de synchronisation pour les systèmes répartis; Méthodes de preuves de la validité des solutions aux problèmes de synchronisation. Processus légers (lightweight process ou thread)

37 Processus légers (Threads)
Systèmes classiques (dérivés d'UNIX) : les processus ne peuvent communiquer que par des mécanismes impliquant des appels systèmes, ce qui est relativement long. Définition de plusieurs activités (threads) coopérantes au sein d'un même espace d'adresses de processus. Communication, synchronisation inter-activités sans passer par le système.

38 Allocation de ressources(1)
Aspects qualitatifs et quantitatifs : Problèmes en univers centralisé gestion des processeurs, gestions de l'espace disque, gestion de la mémoire centrale, traitement de l'interblocage.

39 Allocation de ressources(2)
Problèmes en univers réparti: gestion des voies communes; contrôle des flux, contrôle de congestion dans les réseaux; Développement des techniques de simulation et modélisation mathématiques par systèmes de files d'attente

40 Structuration des systèmes
Monolitiques; A couches; Client/Serveurs ou Micro-noyau.

41 Structuration des systèmes: système monolitique (1)
Collection de procédures qui collaborent à la réalisation de fonctions complexes. Chaque procédure est visible a toutes les autres, et peut appeler a tout moment n'importe quelle autre; Exemple: UNIX

42 Système monolitique (2)
Les services (Appels système) offerts par le SE sont adressées en : mettant les paramètres dans des registres ou la pile; et en exécutant une instruction spéciale nommée appel au noyau ou appel au superviseur; Le SE examine alors les paramètres pour déterminer l'appel système a exécuter (pointeur sur l'appel système)

43 Système monolitique (3)
Le SE appelle la procédure correspondante (localisation et identification du service, qui est ensuite appelé); Le contrôle est rendu au programme de l'utilisateur;

44 Systèmes à couches(1) Vu comme un ensemble de couches logiciels superposées. Chaque couche utilise les couches inférieures et fournis un service supplémentaire aux couches supérieures Exemple: THE, MULTICS,..

45 Systèmes à couches(2) Matériel Matériel Mono-utilisateur monotâche
Gestion de la Mémoire Gestion des IT et des processus Gestion des E/S Allocation de ressources Gérant de fichiers Inter de com Prog. d’app utilisateur utilisateur Inter de com Prog. d’app Gérant de fichiers Gestion des périphériques et d ’Interruptions Matériel Mono-utilisateur monotâche Idéal

46 Système Client/Serveur ou Micro-noyau(1)
Certaines fonctions complexes du système sont sorties du système proprement dit et confiées à des serveurs indépendants (serveur de fichiers, de mémoire, etc…) Les processus utilisateur (clients) et les serveurs s ’exécutent en mode utilisateur; La communication entre clients et serveurs se fait par envoi de messages à travers le noyau du système (mode noyau);

47 Système micro-noyau (2)
Système configurable: changer les serveurs pour obtenir une meilleur adéquation; Système transportable: il suffit de réécrire la couche micro-noyau qui coordonne tous les serveurs; Incorporation des systèmes existants(DOS, UNIX) Se prête bien à une utilisation sur les systèmes distribués(Amoeba, Mach, …).

48 Gestion des Objets Un système d'exploitation gère des objets (structures d'informations) comme le fait un langage de programmation et définit les moyens d'accès à ces objets. Exemples : fichiers, ..

49 Gestion des Objets Problèmes de gestion des objets
implantation ; désignation protection ;partage; destruction migration ; communication; réutilisation Définition de serveurs d'objets normalisés : CORBA


Télécharger ppt "Introduction aux systèmes d’exploitation"

Présentations similaires


Annonces Google