Cours Système M1Master professionnel MiageAgilité des systèmes d’information et e-businessJean-François Pradat-Peyre&Emmanuel HyonUniversité Paris Ouest Nanterre La Défense UFR SEGMISeptembre 20111 : IntroductionSeptembre 2011 1Objectifs du cours Voir un certain nombre de notions avancées de système Concurrence Partage de ressources Processus légers Etudier le multi-tâches plus en détails Créer des programmes multi-t âches Créer, terminer, synchroniser des processus léger Partager des variables communes Comprendre les modèles qui conduisent Paradigme de la concurrence Modèle producteur consommateur etc..Septembre 2011 2Système M1 - J.-F. Pradat-Peyre E. HyonBibliographie « Systèmes d'exploitation » 2nd édition, Andrew Tanenbaum, Pearson Education Programmation Linux en pratique, A Robbins, Campus Press Unix Programmation et communication, J.M. Rifflet & J.B. Yunes, Dunod Programmation Concurrente en Java, B Goetz, Pearson Education http://en.wikipedia.org/wiki/Operating_system http://deptinfo.cnam.fr/Enseignement/CycleProbatoire/SRI/Systemes/Septembre 2011 3Système M1 - J.-F. Pradat-Peyre E. HyonSuite du cours Introduction (presque finie !) Généralités sur les systèmes d’exploitation (1) Rappel sur Gestion des processus (2) Mécanismes de protection et de synchronisation (2) Paradigmes de la concurrence (2) Ouverture sur les systèmes temps réels (1) Révisions / ouverture (1)Septembre 2011 4Système M1 - J.-F. ...
Jean-François Pradat-Peyre & Emmanuel Hyon Université Paris Ouest Nanterre La Défense UFR SEGMI
Septembre 2011
1 : Introduction
1
SètsyMem-1erE.yHnoS2peetJ.-F.Pradat-Pey012remb1
Voir un certain nombre de notions avancées de système Concurrence Partage de ressources Processus légers
Etudier le multi-tâches plus en détails Créer des programmes multi-tâches Créer, terminer, synchroniser des processus léger Partager des variables communes
Modèle producteur consommateur etc..
Comprendre les modèles qui conduisent Paradigme de la concurrence Modèle producteur consom
Objectifs du cours
Programmation Linux en pratique, A Robbins, Campus Press
« Systèmes d'exploitation » 2nd édition, Andrew Tanenbaum, Pearson Education
Programmation Concurrente en Java, B Goetz, Pearson Education
Unix Programmation et communication, J.M. Rifflet & J.B. Yunes, Dunod
-.JM1rPdaF-.tèmeSyspeS3bmet2er110-Patreey.EonHy
Ouverture sur les systèmes temps réels (1)
Révisions / ouverture (1)
Mécanismes de protection et de synchronisation (2)
Paradigmes de la concurrence (2)
Généralités sur les systèmes d’exploitation (1)
Suite du cours
Introduction (presque finie !)
Rappel sur Gestion des processus (2)
erbmetpeS4noyH.Ereey-PatadPr.12011-.JF-syètemMS
Choix des langages pour les illustrations du cours
Langage C / API Posix
Système Linux
langage Java
1120arP-tadryeP.EeyoHSen5emptebrySstèmeM1-J.-F.
Permettre un partage des ressources physiques
Fournir des interfaces d’accès aux ressources de haut niveau Abstraction du matériel Abstraction des activités
Assurer la communication inter activités
Synchroniser les activités
Assurer la sécurité et l’intégrité des données Identification Contrôle d’accès aux données
Gérer/simplifier les entrées sorties
Rôles d’un système
Concepts apparus peu à peu !
1021on6S.Hymbreeptedata.rPerEP-yeMmetèys-FJ.-1S
SystèmeadarP.F-.J-1Mn7yoHE.eyrPet-11e02merbeStp
Simplifier le développement en fournissant une machine virtuelle correspondant aux besoins du programmes
Pourquoi fournir des abstractions Assurer la portabilité
Le système offre une vue abstraite de la machine à l’utilisateur et aux programmes
Abstractions offertes par le système (1)
Assurer l’indépendance des usagers
Simuler les ressources qui manquent
Désignation des ressources
Gestion des fichiers et système de fichiers En Unix l’arborescence unique est construite à l’aide de points de montage
Accès aux périphériques et dialogue avec les pilotes de périphérique En Unix ce sont des fichiers spéciaux (type block ou caractères)
Accès à la mémoire physique avec la Mémoire virtuelle Dissociation entre la mémoire physique et celle manipulée par les programmes Les adresses sont virtuelles, la translation est faite par le CPU à l’aide de circuits MMU (Memory Management Units) et de cache pour la table des pages TLB (Translation Lookaside Buffer) Pagination, segmentation (ou les deux à la fois)
Manipulation et gestion de Programmes grâces aux processus Un processus exécute un programme dans un espace d’adressage privé Plusieurs processus peuvent se dérouler simultanément (meilleur efficacité du système, conception plus simple) Un processus est caractérisé par son état, son espace d’adresssage et son contexte Lorsque les processus partagent leur espace d’adressage on parle de thread
Abstractions offertes par le système (2)
ePryad-tPar-..Fptemn8SeHyoeE.J-M1eèmstSyerb1102
noitlpxeatiometè’dysseeunhcniam
6
Architecture générale d’un système
programmes utilitaires il t éditeur comp a eur de liens
programmes d ’applications déeditteutreassemble ur ex