21Fermer23
NalfusLe 21/07/2014 à 20:33
OL (./19) :
GT Turbo (./18) :
OL (./16) :
Salut,

moi j'aimerais bien pouvoir un jour pouvoir fournir un multitache coopératif dans MyAES multiapplication pour pouvoir tourner directement sous TOS (ce qui marche déjà mais avec une seule appli à la fois sans même d'accessoire).

Enfin bon là c'est sans doute un peu trop fou.

Olivier


Un noyau 68000 multitâches je pourrais t'écrire, mais juste le noyau.

GT Multitaches


Ca serait très cool mais je pense que ce serait bien si cela permettait a tous d'appréhender le fonctionnement du 68K, j'ai déjà trouvé des sources de noyau mais tous sont en mode utilisateur alors que je suis en superviseur déjà dans un trap, tous font appel a une IT pour swapper les taches alors que là je ne cherche pas à faire un multitache préemptif mais coopératif (donc de ce point de vu c'est plus simple par contre le TOS est pas prévu pour mais pour cela j'ai quelques idées je devrais pouvoir progresser seul) et enfin c'est toujours à partir d'une liste de fonctions prédéfinies alors que j'aurais besoin d'un équivalent du fork et une routine de swap de processus tout cela appelable si possible à partir du C (mais sinon je pourrais toujours utiliser à partir de la routine ASM de gestion du trap il y a quand même quelques ligne d'assembleur dans MyAES!). Je pense que ce serait un tuto assez ardu, mais là c'est le genre de routine qu'aucun autre langage ne peut réaliser!
Olivier


Peut-être que ma mémoire me fait défaut, mais dans mes souvenirs le TOS est bien multitâche coopératif, tu peux avoir une horloge en accéssoire qui tourne en même temps que l'application. Ce que le TOS/AES ne peut pas faire, c'est exécuter plusieurs applications principales. Mais peut-être que je me trompe, çà commence à remonter loin l'utilisation du ST triso


GT Turbo (./21) :
Faire tourner un code utilisateur en superviseur, a par la pile, je pense pas qu'il y ait de grand changements a faire.
[...]
Tu voudrais plutot faire tourner plusieurs taches dans un programme même ? Après pour un appel depuis le C, je suis nul dans ce langage, mais je pense pas qu'on est trop de problème pour l'interfacage, sinon on détourne un trap pour en faire une fonction système grin

GT octopus



Éviter les bugs, en superviseur çà pardonne pas grin

Il voudrait faire tourner plusieurs applis sous TOS, il a donc besoin d'un gestionnaire de tache ( création d'une tache au lancement d'un nouveau programme, un switcheur entre les taches quand l'AES le demande (multitâche coopératif), et un killeur de tache)


Comme pour le GFA, le C peut passer les paramètres par la Pile.


En tout cas bon courage GT, çà m'a l'air terriblement complexe à réaliser et si çà sert de tuto, je suivrais l'aventure oui

Il y a un article dans un ST mag qui parle d'un noyau multitache avec le code en listing, reste à savoir quel numéro...