IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Algorithme de l'horloge aussi appelé FINUFO


Sujet :

Algorithmes et structures de données

  1. #1
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 268
    Points : 101
    Points
    101
    Par défaut Algorithme de l'horloge aussi appelé FINUFO
    Bonjour,

    quelqu'un pourrait-il m'expliquer l'algorithme de l'horlage de gestion des défauts de pages mémoire (je sais ça n'a rien à voir avec un algorithme de programmation mais je tente ma chance).

    Je pense que j'ai un problème dans l'initialisation de l'algorithme.

    Merci

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par hacksi Voir le message
    quelqu'un pourrait-il m'expliquer l'algorithme de l'horlage de gestion des défauts de pages mémoire (je sais ça n'a rien à voir avec un algorithme de programmation mais je tente ma chance).
    C'est juste une FIFO avec un flag supplémentaire sur chaque élément. Ce flag est un booléen qui indique si l'élément a été utilisé récemment.

    Lorsque tu dois supprimer un élément, au lieu de toujours prendre celui qui est en queue comme dans une FIFO classique, tu pars de la queue et tu supprimes le premier élément rencontré qui a son flag à "false".
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 268
    Points : 101
    Points
    101
    Par défaut
    au départ, tout est à vrai ou faux ?

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par hacksi Voir le message
    au départ, tout est à vrai ou faux ?
    Quand tu ajoutes un élément, tu mets son flag à "true". A priori, si tu l'ajoutes c'est que tu vas l'utiliser .

    Tu passes les flags de "true" a "false" lors de la suppression d'un élément (pendant que tu parcours ta pile à la recherche du premier élément qui a son flag a false).
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 268
    Points : 101
    Points
    101
    Par défaut
    Oui mais au tout début, tout est à vrai ou à faux ?

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par hacksi Voir le message
    Oui mais au tout début, tout est à vrai ou à faux ?
    au début de quoi ? C'est une pile FIFO. Au début elle est vide.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  7. #7
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 268
    Points : 101
    Points
    101
    Par défaut
    je ne pense pas comprendre ce que tu dis. Moi j'essaye de faire l'algo en mettant en cercle et en essayant de faire tourner un pointeur et en changeant la référence.

  8. #8
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par hacksi Voir le message
    Moi j'essaye de faire l'algo en mettant en cercle et en essayant de faire tourner un pointeur et en changeant la référence.
    Oui, ca c'est l'implémentation de la pile FIFO.

    Mais au départ, ta pile est vide. Donc tu n'as pas d'élément dans ta pile. Donc ils n'ont pas de valeur "de début".
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  9. #9
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 268
    Points : 101
    Points
    101
    Par défaut
    bah il faut bien que les références soient initialisées à une valeur de départ...

  10. #10
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par hacksi Voir le message
    bah il faut bien que les références soient initialisées à une valeur de départ...


    On va reprendre le concept.
    1. Tu as une FIFO implémentée avec un buffer circulaire
    2. Chaque case de ton buffer possède 2 attributs : flag et valeur
    3. Tu ajoutes des valeurs dans la fifo:
    3a. la fifo n'est pas pleine, tu ajoutes un élément à la tête (set flag=true)
    3b. la fifo est pleine, tu parcours les elements depuis la queue jusqu'a trouver le premier élément qui a son flag à false (en forcant flag=false sur tous les cases parcourues). Tu remplaces le contenu de cet élément par ta valeur (set flag=true)
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  11. #11
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 268
    Points : 101
    Points
    101
    Par défaut
    je teste et je te dis ce que ça donne

  12. #12
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 268
    Points : 101
    Points
    101
    Par défaut
    bon bah ça marche pas, je dois louper une étape...

  13. #13
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    au début de quoi ? C'est une pile FIFO. Au début elle est vide.
    Erf non FIFO c'est pas une pile mais une file
    Edit : enfin j'ai vu plusieurs fois que certains appellent "Pile FIFO" une file mais ce n'est pas très judicieux à mon avis parce qu'une pile d'assiettes, si on essaie de retirer la première qu'on a posé (donc celle d'en bas), on a beaucoup de chances de renverser la pile entière...

  14. #14
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut eclaircissement
    Bonjour, c'est une réponse tardive que j'apporte mais qui apporte quelques précisions pour les futurs lecteurs.

    1. Conditions initiales:
    On rempli chaque case avec les premières pages demandées.
    On met le bit R à 0 pour chaque case.
    On a à ce moment précis autant de défauts de page que de case.

    2.algorithme de l'horloge (ou de la seconde chance)
    Le pointeur pointe sur la plus ancienne page utilisée.
    2.1Si on a besoin d'une page déjà chargée
    On met le pointeur sur la plus ancienne page utilisée.
    On recommence
    2.2Si on a besoin d'une page qui n'est pas en mémoire
    On a un défaut de page
    On examine les pages dans le sens des aiguilles d'une montre.
    La première page rencontrée ayant son bit R à 0 est remplacée.
    Le bit R de la page ajoutée est mis à 1.
    Si la page examinée a son bit R à 1, on le met à 0. (Explication du nom "seconde chance").

    Remarques: Pour cette explication, il faut se représenter les pages chargées dans des cases, les cases réunies formant un cercle; on peut représenter le pointeur par une flèche partant du centre du cercle vers la page pointée.

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/09/2014, 09h45
  2. Microsoft lance un appel à l'abandon définitif de l'algorithme RC4
    Par Cedric Chevalier dans le forum Actualités
    Réponses: 2
    Dernier message: 17/11/2013, 22h16
  3. Réponses: 4
    Dernier message: 17/06/2012, 13h19
  4. Réponses: 6
    Dernier message: 19/05/2010, 15h09
  5. fonction checkbox_click appelée aussi quand on clique pas
    Par janojano dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/01/2009, 13h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo