Introduction aux systèmes d’exploitation

Slides:



Advertisements
Présentations similaires
Un environnement de développement éducatif
Advertisements

Active Directory Windows 2003 Server
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
LES NOMBRES PREMIERS ET COMPOSÉS
Module Systèmes d’exploitation
Module Systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
PC / Traitement numérique / Contrôle Environnement logiciel
GEF 435 Principes des systèmes dexploitation Les systèmes dexploitation en général (Tanenbaum 1.1 et 1.3)
Chapitre annexe. Récursivité
Licence pro MPCQ : Cours
1 CNAM Vendredi 29 Novembre 2002 Bases de Données Avancées UV C Responsable : Mr Scholl PROTOCOLE A DEUX PHASES Meryem Guerrouani.
Distance inter-locuteur
Karima Boudaoud, Charles McCathieNevile
Les systèmes d’informations documentaires et les ENT Éléments de cahier des charges pour les projets nouveaux.
Les numéros
Serveur jeu Le serveur fait partie d'un logiciel de jeu en ligne multi joueur en architecture client serveur. Il répond à des demandes.
Types des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)
Chapitre 3: Système d’exploitation
PLAN du COURS Introduction Structure des Systèmes Informatiques
Objectif de l’exposé.
Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.
A abstraction b assembleur c nombre binaire d bit e cache f UC g puce h compilateur i famille dordinateurs j contrôle k chemin de données l défaut m dé
Sirop de Liège « industriel »

Plan de formation Chapitre 1 : Présentation de SAP
Plan de formation Chapitre 1 : Présentation de SAP
Phase de préparation des itérations Produit Story 11 Release1 Story 1mStory 21 Release2 Story 2m… …
wireless sensor networks
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
Active Directory Windows 2003 Server
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Interagir avec un objet mixte Propriétés physiques et numériques Céline Coutrix, Laurence Nigay Équipe Ingénierie de lInteraction Homme-Machine (IIHM)
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
Module 1 : Préparation de l'administration d'un serveur
le profil UML en temps réel MARTE
Vuibert Systèmes dinformation et management des organisations 6 e édition R. Reix – B. Fallery – M. Kalika – F. Rowe Chapitre 1 : La notion de système.
Les Systèmes d’Exploitation
Synchronisation et communication entre processus
Cours de physique générale I Ph 11
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
Système d’exploitation
Virtual Local Area Network
Titre : Implémentation des éléments finis sous Matlab
Configuration de Windows Server 2008 Active Directory
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
Gestion des bases de données
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
LES NOMBRES PREMIERS ET COMPOSÉS
Structures des Systèmes d’Exploitation
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
Programmation concurrente
1 10 pt 15 pt 20 pt 25 pt 5 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Les fonctions.
Module 2 : Préparation de l'analyse des performances du serveur
Module 3 : Analyse des performances du serveur
Titre : Implémentation des éléments finis en Matlab
Ordonnancement de tâches
Équipe 2626 Octobre 2011 Jean Lavoie ing. M.Sc.A.
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
Systèmes d’exploitation
Qu’est-ce qu’un système d’exploitation ?
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Biologie générale 5ème année
Module 8 : Surveillance des performances de SQL Server
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Transcription de la présentation:

Introduction aux systèmes d’exploitation N.Hameurlain http://www.univ-pau.fr/~hameur

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.

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.

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.

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

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...

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

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

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

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.

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)

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)

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.

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.

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

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.

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.

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,

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.

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.

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 )

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.

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

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.

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

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.

Les principaux Aspects des Systèmes d’Exploitation N.Hameurlain http://www.univ-pau.fr/~hameur

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

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

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.

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 »

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.

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.

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.

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 .

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)

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.

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.

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

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

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

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)

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;

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,..

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

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);

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, …).

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, ..

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