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

1 Introduction aux systèmes dexploitation N.Hameurlain

Présentations similaires


Présentation au sujet: "1 Introduction aux systèmes dexploitation N.Hameurlain"— Transcription de la présentation:

1 1 Introduction aux systèmes dexploitation N.Hameurlain

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

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

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

10 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 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 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 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 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 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 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 17 Qualités attendues Simplicité dutilisation 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 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 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 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 21 Fonctionnalités à développer Idem ordinateur individuel plus, allocation et partage des ressources physique communs: –processeur(s); mémoire principale; disque,… gestion de linformation partagée (fichiers) gestion des communications entre usagers (courrier )

22 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 23 Gestion des transactions Gestion dun 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 24 Qualités dun 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 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 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 27 Les principaux Aspects des Systèmes dExploitation N.Hameurlain

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

29 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 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 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 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 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 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 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 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 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 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 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 40 Structuration des systèmes Monolitiques; A couches; Client/Serveurs ou Micro-noyau.

41 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 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 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 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 45 Systèmes à couches(2) Matériel Gestion de la Mémoire Gestion des IT et des processus Gestion des E/S Allocation de ressources Gérant de fichiers Inter de comProg. dapp utilisateur Matériel Gestion des périphériques et d Interruptions Gérant de fichiers Inter de comProg. dapp utilisateur Mono-utilisateur monotâche Idéal

46 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 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 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 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 "1 Introduction aux systèmes dexploitation N.Hameurlain"

Présentations similaires


Annonces Google