img
Fr  En     
Vous cherchez des forums, un endroit pour discuter ? C'est ici ! Actualité, blogs, bd, ciné, programmation, jeux vidéo, consoles, pockets, calculettes TI, études ... y'a too :) Attention ... addictif ! :D
Partenaires  
UpToTech Forum discussions Pixel Invaders Web-Tricheur Alvasoft.net : Hardware & TI ACBM Pockett
^
@_ö
(12:53)  Bienvenue ! - Inscrivez vous pour poster ! -
@Boo + 13 inconnu(s)

Login :
Mot de passe :   
Se souvenir de moi. Mot de passe perdu ?

/!\:: Cliquez ici pour vous inscrire et poster, créer des sujets ou des forums ! ::/!\
 « - 1/5 - Suivant » :: Pages
 Index » Forum Ti 89, Titanium / 92+ / Voyage 200 et TI-Nspire » Software (120r) » Opale: noyau multithreadé pour TI-68k
./Post de départ - Opale: noyau multithreadé pour TI-68k
30.06.2001 - 28627
23:58  @Ximoon - Posté : 31-03-2005  M

Opale: noyau multithreadé pour ti68k

C'est quoi ?

Voici la première beta publique d'Opale, un noyau embarqué qui a donc pour vocation de permettre à des programmes d'adopter une structure multithreadée.

Comment ça marche ?

Opale est pour l'instant distribuée sous forme de lib statique. Elle propose des fonctions qui permettent d'initialiser le noyau, de lancer le noyau, de gérer les tâches et les outils de synchronisation et de communication.

Commençons par l'ordonnancement.
C'est l'algorithme qui permet de choisir entre toutes les tâches existante, celle qui va être exécutée. Opale propose deux méthodes: par priorités strictes, ou par priorités tournantes.

Priorités strictes: telle que distribuée, la bibliothèque permet d'avoir 64 tâches, chacune possédant un niveau de priorité unique (de 0, le plus haut niveau, à 63). Ces niveaux sont exculsifs, ainsi il est impossible que deux tâches aient le même niveau.
Lorsque l'ordonnanceur doit élire la tâche à exécuter, il choisira toujours la tâche de plus haute priorité prête à être exécutée.

Priorités tournantes:les priorités sont regroupées en 8 niveaux de 8 priorités. Les priorités 0 à 7 sont au niveau 0, les priorités 8 à 15 au niveau 1, etc. L'ordonnanceur va d'abord déterminer le niveau de plus haute priorité contenant des tâches prêtes, puis exécuter à tour de rôle les tâches qu'il contient. Lorsqu'un niveau est vide, on passe au suivant, etc.

Tâche inactive:
La tâche de plus faible priorité est allouée par le noyau et reçoit automatiquement la priorité la plus faible (63).

Suspension d'une tâche:
Il es possible de mettre en sommeil une tâche pour un nombre donné de ticks. Un tick est l'intervale de temps séparant deux déclenchements de l'auto-int 5, donc environ 18Hz.

Préemption:
Si un évênement quelconque rend prête à l'exécution une tâche plus prioritaire que la tâche courante , celle-ci est automatiquement mise en suspend, et la tâche plus prioritaire est exécutée.

Sémaphores et Mailbox:
Ces deux objets permettent de synchroniser et de faire communiquer les tâche. Un sémaphore est un compteur qui peut être pris ou relâché par une tâche. Prendre le compteur le décrémente, et le relâcher l'incrémente. Une tentative de prise d'un compteur qui est à 0 provoque l'endormissement de la tâche jusqu'à ce que le sémaphore soit relùaché par une autre tâche et que la tâche soit celle de plus haute priorité en attente de ce sémaphore.
Il en va de même pour les mailbox, sauf qu'un message (un pointeur typiquement) remplace le compteur. Un seul message peut être posté à la fois, mais plusieurs tâches peuvent être mises en attente de ce message. La tâche de plus haute priorité en attente recevra le message lorsu'il sera posté.

Divers:

première beta publique, complètement unsafe (à éviter sur une vrai TI a priori)
tout compris, envron 1400 octets
deux exemples inclus: l'un qui mesure l'occupation CPU (appuyez sur une touche)
l'autre qui exécute pas mal de tâches pour le fun (mais n'appuyez pas sur une touche)

il est évident que toutes les règles de codages de programmes multithreadés s'appliquent en utilisant Opale, par exemple ça serait une mauvaise idée d'allouer de la mémoire dynamiquement dans une tâche qui peut se faire préempter, ou d'appeler des fonctions d'AMS non réentrante, etc.

Testé uniquement sous VTI, et encore une fois c'est probablement très bugué a priori
à suivre



API (en anglais, et j'espère avoir été un peu clair.... c'estsurment pas complètement de l'anglais en fait):
http://mapage.noos.fr/cmolon/opale/

Pack:
http://mapage.noos.fr/cmolon/opale/Opale.zip

(j'espère qu'il y a tout ... et que j'ai pas fait trop de fautes #zzz# )


edit: ti screen d'une app utilisant 5 tâches, une mailbox et un sémaphore:

img


edit2: le code du prog en question:

Source

Edité par Ximoon le 15-05-2006 à 09:36:16.

Que cache le pays des Dieux ? - Ximoon's Box - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
./Publicité AdSense
./1
29.02.2004 - 1818
01:28  Jyaif - Posté : 01-04-2005  M

C'est qui qui a fait ça ?



./2
30.06.2001 - 28627
01:31  @Ximoon - Posté : 01-04-2005  M

Euh... moi ?


Que cache le pays des Dieux ? - Ximoon's Box - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
./3
11.07.2003 - 44121
07:44  Flanker - Posté : 01-04-2005  M

genre tu programmes #roll# :p


<<< Kernel Extremist©®™ >>>

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appetissant
<Conscience> Et que le plan soit faux ou non il reste vrai la preuve aujourd'hui.
<Zephyr> tu veux que je te la tienne ?
./4
30.06.2001 - 40616
10:08  Godzil - Posté : 01-04-2005  M

ba non Opale est une vaste fumisterie, un poisson d'avril quoi ^^


Proud to be CAKE©®™ : CAKE is Another Kernel Extremist
The cake is a lie! - Love your weighted companion cube :)

Chuck Norris ne se mouille pas, c'est l'eau qui se Chuck Norris

./5
11.06.2001 - 18617
11:08  PpHd - Posté : 02-04-2005  M

Non sans rire ?


Cinq font un et un font cinq : le tout est UNITE
C'est dans l'incompréhension que je suscite que je trouve ma raison d'être.
Je suis moi , et je le suis parce que les autres ne le sont pas, et que ce sont eux qui forment ma personne.
Inconscience et déraison sont source d'imagination.
Au delà de ma conscience et de mon inconscient, mes rêves créent la réalité.
./6
23.01.2004 - 12375
12:31  Folco_ - Posté : 02-04-2005  M

>>23:58 @Ximoon - Posté : 31-03-2005

Et en plus il s'est craqué de 2 minutes :D


Mon journal de bord <flux rss manuel> asTI68k : WIP </flux>

Le modernisme ne diffère guère de la libre pensée absolue que par sa prétention de demeurer catholique.
./7
17.10.2001 - 4006
12:40  hibou - Posté : 02-04-2005  M

lol, est-ce qu'il y en a seulement un qui a téléchargé le zip ?


./8
11.07.2003 - 44121
12:46  Flanker - Posté : 02-04-2005  M

bah oui :)


<<< Kernel Extremist©®™ >>>

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appetissant
<Conscience> Et que le plan soit faux ou non il reste vrai la preuve aujourd'hui.
<Zephyr> tu veux que je te la tienne ?
./9
30.06.2001 - 40616
13:59  Godzil - Posté : 02-04-2005  M

faut pas croire les poissons hein ^^
Opale existe vraiment :)


Proud to be CAKE©®™ : CAKE is Another Kernel Extremist
The cake is a lie! - Love your weighted companion cube :)

Chuck Norris ne se mouille pas, c'est l'eau qui se Chuck Norris

./10
17.10.2001 - 4006
14:35  hibou - Posté : 02-04-2005  M

arf :D je me suis fait avoir par le poisson qui disait que c'était un poisson %)


./11
30.06.2001 - 28627
14:40  @Ximoon - Posté : 02-04-2005  M

Pour une fois que je suis un minimum productif vous êtes durs quand même :D


Que cache le pays des Dieux ? - Ximoon's Box - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
./12
16.06.2003 - 20888
14:53  Sally - Posté : 02-04-2005  F

bah faut dire que poster 2 minutes avant le premier avril un topic avec ce titre... %)


« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Forum Cultures du mondeforum littéraire
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#
./13
30.06.2001 - 28627
14:57  @Ximoon - Posté : 02-04-2005  M

Oui, certes... :D


Que cache le pays des Dieux ? - Ximoon's Box - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
./14
11.06.2001 - 4731
16:44  ExtendeD - Posté : 02-04-2005  M

Y'a pas les sources ?



./15
30.06.2001 - 28627
16:46  @Ximoon - Posté : 02-04-2005  M

Pas encore, éventuellement sur demande. Les sources seront probablement disponibles plus tard sous forme de tuto ou d'article équivalent. Faut surtout que je les documente généreusement aussi =)


Que cache le pays des Dieux ? - Ximoon's Box - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
./16
30.06.2001 - 28627
22:08  @Ximoon - Posté : 21-04-2005  M

voici la bêta 2

+ ajout des queues de messages (en gros, comme des boîtes à lettre mais qui peuvent contenir plus d'un message et les stocker en attendant qu'ils soient lus)
+ l'int5 présente à l'initialisation d'Opale n'est plus détruite mais appelée après l'interruption du noyau
+ changement: il n'est plus conseillé (plus possible quoi :D ) de changer le masque des interruptions pendant une tâche
+ quelques modifications mineures ...

API (en anglais, et j'espère avoir été un peu clair.... c'est surment pas complètement de l'anglais en fait):
http://mapage.noos.fr/cmolon/opale/

Pack:
http://mapage.noos.fr/cmolon/opale/Opale-beta2-21-04-2005.zip


Que cache le pays des Dieux ? - Ximoon's Box - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
./17
28.08.2003 - 7718
23:14  Sasume - Posté : 21-04-2005  M

Je n'ai pas regardé en détail l'API, mais j'ai une petite question de moindre importance : il est possible de demander de ne pas rappeler l'ancienne int5 après le déroulement du noyau quand on l'installe ?


« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »
./18
28.08.2003 - 7718
23:26  Sasume - Posté : 21-04-2005  M

Apparemment non. C'est pas grave, on peut le faire à la main... Mais ça aurait été pratique que ce soit paramétrable.

Sinon, tu pourrais éventuellement stopper le kernel quand on appuie sur DIAMOND + ON (par exemple, ou une autre combinaison de touches).
Enfin, dans une application propre, on ne devrait pas avoir à faire cette combinaison, mais je pense que ça pourrait être pratique d'avoir cette sécurité.


« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »
./19
30.06.2001 - 28627
23:27  @Ximoon - Posté : 21-04-2005  M

Non, mais rien n'empêche bien sûr de détourner l'interruption avant d'appeler la fonction d'initialisation du noyau. Si nécessaire je rajouterai des primitives de configuration supplémentaire, mais je n'y avais pas pensé avant maintenant.


Que cache le pays des Dieux ? - Ximoon's Box - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
./20
30.06.2001 - 28627
23:31  @Ximoon - Posté : 21-04-2005  M

(cross pour le post précédent bien sûr)

pour le hotkey, j'aimerais rester aussi général que possible, et ne pas surcharger le système par des appeles customs de ce genre. Mais une fois encore rien n'empêche de le faire à la main (un appel à op_KernelStop() dans une ISR c'est vite fait). De plus je crois que PreOs peut rattraper les dégats (pas essayé les hot escapes encore par contre).


Que cache le pays des Dieux ? - Ximoon's Box - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
./21
30.06.2001 - 28627
23:39  @Ximoon - Posté : 21-04-2005  M

(en fait je ne veux pas introduire à ce niveau d'interface utilisateur, si limitée soit-elle, ça n'est pas le but)


Que cache le pays des Dieux ? - Ximoon's Box - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
./22
28.08.2003 - 7718
23:41  Sasume - Posté : 21-04-2005  M

OK, tu as raison, ta lib sera plus légère.
C'est toujours difficile quand on développe une lib de trouver les limites de ce qu'on fournit... :)


« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »
./23
30.06.2001 - 28627
16:43  @Ximoon - Posté : 30-07-2005  M

J'ai commencé à mettre à jour la doc: les sources C sont fournies ici et partiellement commentées, suivront les sources assembleur.
Si vous voyez des bugs en lisant les sources, merci de les reporter (oui on peut rêver :D ).

Je cherche une license pour le distribuer, j'aurais bien mis du GPL mais ça me dérange si ça ne permet pas d'utiliser la lib dans un projet close-source... Y'a pas un truc ouvert qui permet la réutilisation du code pour modification mais soit moins contraignant quand à l'utilisation de la lib elle-même ?

http://mapage.noos.fr/cmolon/opale/


Que cache le pays des Dieux ? - Ximoon's Box - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
./24
28.10.2001 - 6188
16:49  Lionel Debroux - Posté : 30-07-2005  M

Ben, la LGPL est déjà moins contraignante...


Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI, TIEmu (le vrai) et TILP (le vrai).
./25
23.01.2004 - 12375
19:13  Folco_ - Posté : 30-07-2005  M

ah... fais tout de même gaffe si tu veux rester compatible GPL...


Mon journal de bord <flux rss manuel> asTI68k : WIP </flux>

Le modernisme ne diffère guère de la libre pensée absolue que par sa prétention de demeurer catholique.
./26
30.06.2001 - 28627
19:18  @Ximoon - Posté : 30-07-2005  M

J'ai pas l'impression qu'il y ait beaucoup de licenses qui soient compatibles GPL et qui puissent se linker avec du closed-source...

Edité par Ximoon le 30-07-2005 à 19:31:18.

Que cache le pays des Dieux ? - Ximoon's Box - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
./27
23.01.2004 - 12375
19:26  Folco_ - Posté : 30-07-2005  M

moi aussi... c'est ça le pb :(


Mon journal de bord <flux rss manuel> asTI68k : WIP </flux>

Le modernisme ne diffère guère de la libre pensée absolue que par sa prétention de demeurer catholique.
./28
11.06.2001 - 4731
19:29  ExtendeD - Posté : 30-07-2005  M

Bah oui, la LGPL est pas mal pour ça.



./29
30.06.2001 - 28627
19:31  @Ximoon - Posté : 30-07-2005  M

Bon après avoir lu la license LGPL ça m'a l'air pas mal, vais probablement pencher de ce côté.


Que cache le pays des Dieux ? - Ximoon's Box - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
./Publicité AdSense
 « - 1/5 - Suivant » :: Pages
 Index » Forum Ti 89, Titanium / 92+ / Voyage 200 et TI-Nspire » Software (120r) » Opale: noyau multithreadé pour TI-68k

./Poster un nouveau message. - Ouvrir dans une nouvelle fenêtre
Login : Mot de passe :

url   image   google  
hr   panneau  
pre   spoiler   cite  
media   flash   YouTube  





  Smileys - Smileys perso
Désactiver les smileys  

Joindre un fichier ou une image

Sondages - Ajouter un code source
     Flood control (?) :    
Les messages postés sont la propriété de leurs auteurs. Nous ne sommes pas responsables de leurs contenus.

»  yN ©1624 - Aide / Charte
Etat serveur SQL   87ms | Statistiques