Bouvier Zappa 2005 Pfe

  • View
    215

  • Download
    0

Embed Size (px)

Text of Bouvier Zappa 2005 Pfe

  • 8/12/2019 Bouvier Zappa 2005 Pfe

    1/50

    E COLE P OLYTECHNIQUE

    DE M ONTR EAL

    D EPARTEMENT DE G ENIE INFORMATIQUE

    Projet de Fin d etudesRapport nal

    Rapport de projet de n d etudes soumis

    comme condition partielle ` a lobtention du

    dipl ome de baccalaur eat en ing enierie.

    Pr esent e par: S IMON B OUVIER -Z APPA

    Matricule: 1161843

    Directeur de projet: P ROFESSEUR M ICHEL DAGENAIS

    Entreprise: G enie informatique, Ecole Polytechnique de Montr eal

    Date: 17 avril 2005

  • 8/12/2019 Bouvier Zappa 2005 Pfe

    2/50

    Resum e

    Ce pr esent rapport fait etat du travail effectu e sur le module de ltrage du Linux Trace

    Toolkit Viewer ( Lttv ). Ces realisations ont eut lieu durant la session dhiver 2005

    comme projet de n d etudes au baccalaur eat en g enie informatique ` a l Ecole Poly-

    technique de Montr eal.

  • 8/12/2019 Bouvier Zappa 2005 Pfe

    3/50

    Table des mati eres

    1 Introduction 1

    2 Probl ematique 3

    2.1 Mise en contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.1.1 Travaux ant erieurs . . . . . . . . . . . . . . . . . . . . . . . 3

    2.1.2 Travail `a accomplir . . . . . . . . . . . . . . . . . . . . . . . 4

    2.2 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2.3 Int erets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2.4 Difcultes escomptees . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2.4.1 S eparation du probl` eme . . . . . . . . . . . . . . . . . . . . 5

    2.4.2 D enition de lexpression de ltrage . . . . . . . . . . . . . . 6

    2.4.3 Larbre de recherche . . . . . . . . . . . . . . . . . . . . . . 7

    3 M ethodologie 8

    3.1 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    3.1.1 Requis de lapplication . . . . . . . . . . . . . . . . . . . . . 8

    3.1.2 Langage dimplantation . . . . . . . . . . . . . . . . . . . . 9

    3.1.3 Analyse generale du probl`eme . . . . . . . . . . . . . . . . . 9

    3.1.4 Analyse de lexpression de ltrage . . . . . . . . . . . . . . . 11

    3.1.5 Analyse de la structure de larbre . . . . . . . . . . . . . . . 13

    i

  • 8/12/2019 Bouvier Zappa 2005 Pfe

    4/50

    TABLE DES MATI ERES ii

    3.2 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    3.2.1 Etapes de conception . . . . . . . . . . . . . . . . . . . . . . 17

    3.2.2 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 23

    3.3 Implantation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    3.3.1 Pr ecompilation du ltre . . . . . . . . . . . . . . . . . . . . 23

    3.3.2 Parcours du ltre . . . . . . . . . . . . . . . . . . . . . . . . 24

    4 R esultats 27

    4.1 Entr ees du programme . . . . . . . . . . . . . . . . . . . . . . . . . 27

    4.1.1 Utilisation du module ltre textuel . . . . . . . . . . . . . . . 27

    4.1.2 Utilisation du module ltre graphique . . . . . . . . . . . . . 28

    4.2 Sortie du programme . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    5 Discussion 33

    5.1 Port ee du travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    5.2 Analyse des m ethodes exploit ees . . . . . . . . . . . . . . . . . . . . 33

    5.2.1 Analyse de la performance . . . . . . . . . . . . . . . . . . . 33

    5.3 Recommandations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    5.3.1 Optimisation eventuelles . . . . . . . . . . . . . . . . . . . . 35

    6 Glossaire 38

    A Annexes 41

  • 8/12/2019 Bouvier Zappa 2005 Pfe

    5/50

    Table des gures

    3.1 Mod ele MVC du ltre . . . . . . . . . . . . . . . . . . . . . . . . . 10

    3.2 Repr esentation dune expression de ltre en arbre n-aire . . . . . . . 14

    3.3 Repr esentation dune expression de ltre en arbre binaire . . . . . . . 15

    3.4 Repr esentation dune expression avec parenth` eses . . . . . . . . . . . 15

    3.5 Diagramme de classes du module noyau . . . . . . . . . . . . . . . . 18

    3.6 Diagramme de s equence du module textuel . . . . . . . . . . . . . . 20

    3.7 Diagramme de classes du module graphique . . . . . . . . . . . . . . 21

    3.8 Diagramme de s equence du module graphique . . . . . . . . . . . . . 22

    4.1 D ependance des modules textuels . . . . . . . . . . . . . . . . . . . 28

    4.2 Module ltre graphique . . . . . . . . . . . . . . . . . . . . . . . . . 29

    4.3 Exemple darbre de ltrage . . . . . . . . . . . . . . . . . . . . . . . 31

    4.4 Exemple de parcours darbre de ltrage . . . . . . . . . . . . . . . . 31

    5.1 Evolution du temps de construction de larbre binaire . . . . . . . . . 35

    iii

  • 8/12/2019 Bouvier Zappa 2005 Pfe

    6/50

    Liste des tableaux

    3.1 Op erateurs logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    3.2 Champs de ltrage . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    3.3 Op erateurs mathematique . . . . . . . . . . . . . . . . . . . . . . . . 13

    3.4 Heuristiques de larbre de ltrage . . . . . . . . . . . . . . . . . . . . 16

    3.5 Widgets de FilterViewerData . . . . . . . . . . . . . . . . . . . . . . 21

    3.6 Widgets de FilterViewerData . . . . . . . . . . . . . . . . . . . . . . 22

    4.1 Exemple detat des traces . . . . . . . . . . . . . . . . . . . . . . . . 30

    iv

  • 8/12/2019 Bouvier Zappa 2005 Pfe

    7/50

    Liste des Algorithmes

    1 Precompilation du ltre . . . . . . . . . . . . . . . . . . . . . . . . . 25

    2 Parcours du ltre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    v

  • 8/12/2019 Bouvier Zappa 2005 Pfe

    8/50

    Listes des symboles et

    abr eviations

    Ltt Linux Trace Toolkit

    Lttv Linux Trace Toolkit Viewer

    vi

  • 8/12/2019 Bouvier Zappa 2005 Pfe

    9/50

    LISTES DES SYMBOLES ET ABR EVIATIONS vii

    Remerciements

    Michel Dagenais, pour mavoir donn e la chance de travailler sur un projet den-

    vergure comme Lttv.

    Mathieu Desnoyers, pour son aide et ses conseils tout au long du projet.

  • 8/12/2019 Bouvier Zappa 2005 Pfe

    10/50

    Chapitre 1

    Introduction

    Dans le cadre dune etude approfondie du syst` eme dexploitation, il est primordialde proc eder a une analyse des processus de m eme que leur ordonnancement au sein du

    noyau. Ainsi, pour les syst` emes dexploitations Linux, le Linux Trace Toolkit a depuis

    plusieurs annees maintenant fourni une s erie dapplications permettant de g enerer des

    traces dexecution du syst`eme dexploitation puis de proc eder a leur analyse. le Linux

    Trace Toolkit ( ou ltt ) a ete d eveloppe a lorigine par Opersys.

    La ou le Linux Trace Toolkit poss` ede des failles, le Linux Trace Toolkit Viewer

    prend la rel`eve. Cette application est d eveloppee au laboratoire de Conception et Ana-

    lyse de Syst`emes Informatiques ( ou CASI ) de l Ecole Polytechnique. Le Linux Trace

    Toolkit Viewer ( ou Lttv ) est une application totalement modulaire permettant aux usa-

    gers de faire lanalyse de traces dex ecution tout en y rajoutant leurs propres modules

    personnalises.

    Lespace en m emoire que peut prendre une trace dex ecution sur Lttv dependra

    de plusieurs facteurs. Entres autres, le temps denregistrement de la trace aura une

    1

  • 8/12/2019 Bouvier Zappa 2005 Pfe

    11/50

    CHAPITRE 1. INTRODUCTION 2

    cons equence proportionnelle sur la taille de celle-ci. De m eme, le nombre de pro-

    cessus ordonnanc es aura un effet direct sur lenregistrement. An de donner ` a lusa-

    ger un meilleur contr ole de ce quil veut analyser et afcher, il est possible dajouter

    un module de ltre au programme qui permettra ` a lusager de choisir par expression

    conditionnelle quels elements de trace il d esire conserver. Le chapitre 2 propose une

    denition compl` ete du probl`eme a r esoudre et des principales difcult es du projet.

    Limplantation dun module ltre au programme actuel n ecessite a la base une

    precompilationdun arbre de ltrage qui sera parcouru lors de lex ecution pour d eterminer

    quels elements de traces doivent etre ltr es.

    An dinclure un module de ltrage au programme Lttv, il est necessaire dajoutertrois nouveaux modules au programme. Un module noyau servira ` a construire et par-

    courir larbre de recherche. Un module textuel servira dinterface de base ` a lusager.

    Enn, un module graphique servira dinterface plus evolu ee. Le chapitre 3 fournit les

    deta