Semaphores sous KS 31 (WB1.1)

5 sujets de 1 à 5 (sur un total de 5)

  • Gilloo

      #5604

      Comment implémenter simplement les routines exec

      ObtainSemaphore()

      AttemptSemaphore()

      pour pouvoir fonctionner sous WB1.1 (noyau exec qui ne supporte pas les sémaphores, le pôvre)

      Voxel

        #93664

        Salut Giloo :-)

        Voilà une question que tu pourrais poser sur Amiga-C2, non?

        t’es tu inscrit à ma mailling list d’Amiga Coders?

        Non? alors rejoins vite les Frieden Bros et tout les autres ici :

        à bientôt :-)

        Fab1

          #93665

          Gilloo:

          Solution bourrin: à coup de Forbid() Permit() et le compteur mis à jour dans la zone critique j’imagine.

          Sinon, en assembleur, il y aurait bien l’instruction atomique TAS (test and set) qui te permettrait d’implémenter des sémaphores aussi.

          Gilloo

            #93666

            Fab1 a écrit :

            Gilloo:

            Solution bourrin: à coup de Forbid() Permit() et le compteur mis à jour dans la zone critique j’imagine.

            Sinon, en assembleur, il y aurait bien l’instruction atomique TAS (test and set) qui te permettrait d’implémenter des sémaphores aussi.

            J’aime bien les ch’vaux.

            Oui, avec forbid/permit on peut protéger un compteur (0 = ok acces possible; >0 y’a du monde on attend), mais comment mettre en file d’attente plusieurs tâches sans faire perdre du temps au processeur?

            Il me semble que l’instruction TAS part en vrille si on accède à la chipmem… :-?

            henes

              #93667

              obtain :

              – forbid

              – petite structure contenant un pointeur vers la tache courante

              – la rajouter dans une liste du semaphore

              – wait sur un signal dédié

              – permit

              release :

              – forbid

              – signaler toutes les taches de la liste du semaphore

              – permit

              C’est ce que font les semaphores d’amigaos.

              Plus plein de bordel de compteur, mémorisation de la tache ayant obtenu le semaphore, etc…

            5 sujets de 1 à 5 (sur un total de 5)

            • Vous devez être connecté pour répondre à ce sujet.

            Forums AmigaOS, MorphOS et AROS Développement Semaphores sous KS 31 (WB1.1)

            Amiga Impact