syst emes d’exploitation avanc es - .pourquoi etudier les syst emes...

Download Syst emes d’Exploitation Avanc es - .Pourquoi etudier les syst emes d’exploitation? ... Noyau

Post on 14-Sep-2018

221 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

  • Systemes dExploitation Avances

    Pablo Oliveira

    ISTY

    Pablo Oliveira (ISTY) Systemes dExploitation Avances 1 / 43

  • Informations Administratives (1)

    Cours Systemes Exploitations Avance (SEA)

    Site du cours : https://www.sifflez.org/lectures/SEA/

    Emploi du temps, documents et notes de cours

    Bibliographie :

    Operating System Concepts, 8th Edition,de Silberschatz, Galvin, and GagneModern Operating Systems, 4th Edition,de TanembaumStanford CS 140 lectures Winter14,de David Mazieres

    Pablo Oliveira (ISTY) Systemes dExploitation Avances 2 / 43

    https://www.sifflez.org/lectures/SEA/

  • Informations Administratives (2)

    Prof. : pablo.oliveira@uvsq.fr

    Group de discussion (inscription obligatoire)

    https://groups.google.com/group/iatic4-os/

    Poser des questions sur les cours, TDs, projets.Tout le monde est encourage a repondre !

    Dates cles :

    Cours : Lundi 09 :15-10 :45TDs : Lundi G2 13 :15-15 :45 G1 16 :00-18 :30

    Controle Continu

    30% QCMs en debut de cours35% Mini-Projets notes35% Controle

    Pablo Oliveira (ISTY) Systemes dExploitation Avances 3 / 43

    https://groups.google.com/group/iatic4-os/

  • TDs

    Ne pas utiliser/recuperer les solutions des autres groupes

    Vos rendus sont compares avec un logiciel anti-plagiatNe publiez pas vos solutionsRespectez la charte anti-plagiat de lUVSQ (document disponible sur leportail de lISTY)

    Citez tout code dont vous vous inspirez

    Si cest cite, cest pas de la tricheDes points seront deduits si une grosse partie rendu est du codeexterieur. Mais les emprunts cites nentrainerons pas de sanctions.

    Pablo Oliveira (ISTY) Systemes dExploitation Avances 4 / 43

  • Systemes dExploitation 1

    Presentation des SE du point de vue de lutilisateur

    Utilisation du shell (commandes de base, redirections, tubes/pipes)Creation de threads et processusIntroduction a lordonnancementUtilisation des principaux appels systemesProjet : syteme de fichiers virtuel

    Pablo Oliveira (ISTY) Systemes dExploitation Avances 5 / 43

  • Objectifs du cours

    Presentation des SE du point de vue du concepteur

    Approfondir les concepts fondamentaux des SE

    Comprendre le SE fait de vous de meilleurs programmeurs

    Comprendre les enjeux et limplementation des mechanismes des SE

    Caching, concurrency, memory management, I/O, protection

    Vous apprendre a travailler avec un projet logiciel complexe

    Attention : ce cours est considere difficile par de nombreux etudiantsTDs : beaucoup de code a rendreTravail regulier et soutenu necessaire

    Pablo Oliveira (ISTY) Systemes dExploitation Avances 6 / 43

  • Sujets abordes

    Threads et Processus

    Concurrence et Synchronisation

    Ordonnancement

    Memoire virtuelle

    Entrees/Sorties

    Protection & Securite

    Systemes de Fichiers

    Machines Virtuelles

    Note : Nous prendrons souvent Unix comme example

    SE actuels fortement influences par UnixWindows est lexception

    Pablo Oliveira (ISTY) Systemes dExploitation Avances 7 / 43

  • Quest ce quun systeme dexploitation ?

    Interface entre les applications et le materiel

    Rends le materiel utilisable par le programmeur

    [Souvent] Abstrait le materiel

    Gere et cache les details du materielAccede au materiel a travers des interfaces bas niveau interdites auxapplications

    [Parfois] Protege

    Evite quun utilisateur/processus puisse lire/detruire les donnees dunautre utilisateur/processus

    Pablo Oliveira (ISTY) Systemes dExploitation Avances 8 / 43

  • Pourquoi etudier les systemes dexploitation ?

    Concepts systeme importants pour bien programmer la machine

    Important pour HPC ou applications critiquesAlgorithmes reutilisables dans dautres contextesImportant pour comprendre linteraction avec le materiel

    Comprendre les Serveurs Haute Performance

    Memes problemes que dans un SE

    Comprendre le Partage des Resources

    Duree de la batterie, spectre Hertzien, etc.

    Comprendre la Securite

    Isolation, capabilites, DoS, etc.

    Apparition de nouveaux SE embarques (eg. Android)

    Navigateur ressemble de plus en plus a un SE (eg. Chrome isolationdes tabs)

    Pablo Oliveira (ISTY) Systemes dExploitation Avances 9 / 43

  • Annees 40-50 : Super calculateur ENIAC

    Pablo Oliveira (ISTY) Systemes dExploitation Avances 10 / 43

  • Annees 40-50 : Super calculateur ENIAC

    1946 : P. Eckert et J. Mauchly, simulation des tirs dartillerie

    frequence 100kHz

    Turing-complet

    Programmable avec des interrupteurs et tableau de connexion

    Pablo Oliveira (ISTY) Systemes dExploitation Avances 11 / 43

  • Systeme Exploitation des premiers Calculateurs ?

    Calculateurs gigantesques :

    Dizaines de milliers de relais mecaniques

    Remplaces par des lampes

    Programmation :

    ManuelleEn langage machine avec des panneaux de connexionPas de SE, le programme tourne directement sur la machine1950 : generalisation des cartes perforees

    Pablo Oliveira (ISTY) Systemes dExploitation Avances 12 / 43

  • IBM 701

    Pablo Oliveira (ISTY) Systemes dExploitation Avances 13 / 43

  • Traitements par lots (55-65)

    Invention des transistors en silicone (1954) :

    plus petit et rapide que les lampesBell Labs TRADIC (1MHz) et IBM 608

    Operateurs :

    Charges de la surveillance du systeme

    Allocation et supervision des taches

    Les taches sont traitees par lots :

    Des operateurs chargent les cartes perforees pour chaque programme

    Pablo Oliveira (ISTY) Systemes dExploitation Avances 14 / 43

  • Moniteur Resident

    Bandes magnetiques remplacent les cartes perforees

    Moniteur resident : premier SE

    Il charge automatiquement les taches successivement $LOAD et $RUN

    Probleme : inactivite du CPU pendant les chargements depuis la bande.

    Pablo Oliveira (ISTY) Systemes dExploitation Avances 15 / 43

  • Systemes dExploitation Primitifs

    Juste une librairie de services standards [pas de protection]

    Interface standard communique avec des pilotes materiels

    Hypotheses simplificatrices

    Un seul programme tourne a la foisPas de programmes ou utilisateurs malicieux (mauvaise hypothese)

    Probleme : Mauvaise utilisation des ressources

    . . . du materiel (e.g., CPU attends que le disque envoie les donnees)

    . . . de lhumain (doit attendre la fin dun programme pour en lancer unnouveau)

    Pablo Oliveira (ISTY) Systemes dExploitation Avances 16 / 43

  • Execution multi-tache

    Compilateur Editeur de Texte Base de donnes...

    Userland

    Systme d'Exploitation

    Matriel

    Utilisateur 1

    Utilisateur 2

    Utilisateur N

    Idee : Executer plusieurs processus en meme temps

    Lorsque un processus bloque (attente disque, reseau, entree clavier, etc.)on execute un autre processus

    Probleme : Que peut faire un processus malicieux/mal ecrit ?

    Boucle infinie et ne jamais lacher le CPUEcraser la memoire dautres processus pour les faire cracher

    SE propose des mecanismes pour empecher ces problemes

    Preemption interrompt regulierement le processus boucle infinieProtection Chaque processus necrit que sur sa propre memoire

    Pablo Oliveira (ISTY) Systemes dExploitation Avances 17 / 43

  • Execution multi-tache

    Compilateur Editeur de Texte Base de donnes...

    Userland

    Systme d'Exploitation

    Matriel

    Utilisateur 1

    Utilisateur 2

    Utilisateur N

    Idee : Executer plusieurs processus en meme temps

    Lorsque un processus bloque (attente disque, reseau, entree clavier, etc.)on execute un autre processus

    Probleme : Que peut faire un processus malicieux/mal ecrit ?

    Boucle infinie et ne jamais lacher le CPUEcraser la memoire dautres processus pour les faire cracher

    SE propose des mecanismes pour empecher ces problemes

    Preemption interrompt regulierement le processus boucle infinieProtection Chaque processus necrit que sur sa propre memoire

    Pablo Oliveira (ISTY) Systemes dExploitation Avances 17 / 43

  • SE Multi Utilisateurs

    Idee : Avec N utilisateurs, systeme nest pas forcement N fois plus lent

    Les demandes de CPU, memoire, etc. sont intermittentesTous les programmes nont pas besoin de la meme ressourcesimultanement

    Ou ca peut coincer ?

    Utilisateurs gloutons (mise en place de politiques dallocation)Memoire utilisee par lensemble des processus superieure a la memoiredisponible (virtualisation)Ralentissements super-lineaire (trashing)

    Les SE mettent en place des protections pour eliminer ces problemes

    Pablo Oliveira (ISTY) Systemes dExploitation Avances 18 / 43

  • SE Multi Utilisateurs

    Idee : Avec N utilisateurs, systeme nest pas forcement N fois plus lent

    Les demandes de CPU, memoire, etc. sont intermittentesTous les programmes nont pas besoin de la meme ressourcesimultanement

    Ou ca peut coincer ?

    Utilisateurs gloutons (mise en place de politiques dallocation)Memoire utilisee par lensemble des processus superieure a la memoiredisponible (virtualisation)Ralentissements super-lineaire (trashing)

    Les SE mettent en place des protections pour eliminer ces problemesPablo Oliveira (ISTY) Systemes dExploitation Avances 18 / 43

  • Protection

    Mecanismes pour isoler les utilisateurs/processus malicieux

    Preemption :

    Donner une ressource, mais la reprendre au bout dun certain temps

    Mediation :

    SE est le mediateur entre les processus et les ressourcesControle toutes les ressources quune application peut utiliser (table decapabilites)P

View more