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

Programmation d'OS Assembleur Discussion :

Problème d'organisation du multitâche


Sujet :

Programmation d'OS Assembleur

  1. #1
    Membre confirmé Avatar de bifur
    passe le balais et l'aspirateur
    Inscrit en
    Mars 2008
    Messages
    314
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : passe le balais et l'aspirateur

    Informations forums :
    Inscription : Mars 2008
    Messages : 314
    Points : 550
    Points
    550
    Par défaut Problème d'organisation du multitâche
    je susi en train d’essayer de develloper un OS multitache, mais j’ai un petit problème de choix d’architecture

    dans mon projet toute les Xms l’interruption du compteur se déclenche, les registres courant sont sauvegardé dans la pile, le programme regarde si le temp alloué a la tache courante est dépassé si oui il bascule sur une autre tache si non il restore les registres et le programme continu

    mon problème vient dans le choix de la position de sauvegarde de tout ces registres, pour les registres courants pas de problème je pense les sauvegarder dans la pile reservé a la tache mais pour ce qui est des registres de segment je sèche

    1eme solution chaque tache uttilise des segment de la table global et je sauvegarde a chaque basculement de tache les registre dans une table prévu a cet effet
    avantage: simple (enfin je trouve)
    incovénient: je ne sait pas comment organiser le gestionnaire de mémoire qui va avec

    2ere solution envisagé: chaque tache a sa propre table de descripeur local a chaque basculement de tache je sauvegarde uniquement la position dans la pile(sp) et le segment du descripteur local (les registre de segment sont alors sauvegardé sur la pile)
    avantage: chaque tache ne peut pas voir les autres tache et a l’impression de s’executé seul et peut s’organiser de la manière souhaité (seul obligation le registre de segment de pile doit etre fixe)
    inconvénient: j’en voie pas pour le moment

    3eme solution uttiliser les TSS du processeur (mais alors la j’ai rien compris)


    Qu’est ce que vous en pensez de ces idées?

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2009
    Messages : 36
    Points : 52
    Points
    52
    Par défaut
    Bonjour bifur,

    Utiliser les TSS est la meilleure solution, puisque c'est le processeur qui s'occupe de tout. Mais, comme tu le dis, c'est pas très simple à mettre en œuvre, surtout si on débute. Si tu fais un OS en mode réel 16-bit, tu ne peux pas utiliser les TSS.

    La deuxième solution me semble la meilleure. Mieux vaut utiliser la pile pour sauvegarder tes registres, pour éviter d'allouer de la mémoire ailleurs, où si tu n'as pas encore de gestionnaire d'allocation de mémoire. De plus, pas mal d'OS, dont Linux, utilises la pile de la tâche pour sauvegarder l'état des registres. C'est également ce mécanisme que j'utilise dans mon OS.

    Autre chose, j'ai vu que tu utilises un "temp" avant chaque changement de tâche. Je ne conseille pas vraiment d'utiliser un truc de ce genre, du simple fait que cela diminue la réactivité de l'OS, donc, en gros, sa vitesse.

    Tommy

  3. #3
    Membre confirmé Avatar de bifur
    passe le balais et l'aspirateur
    Inscrit en
    Mars 2008
    Messages
    314
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : passe le balais et l'aspirateur

    Informations forums :
    Inscription : Mars 2008
    Messages : 314
    Points : 550
    Points
    550
    Par défaut
    mon (projet d')OS sera en mode protégé(j'en ai deja fait un petit en mode réel Flat mais c'est trop restrictif)donc je pourrait uttiliser les TSS,
    Est ce que tu aurait de la doc la dessus? j'ai la doc d'intel et j'aimerait avoir un autre point de vue

    sinon, c'est pas que j'uttilise un "temp" avant chaque changement de tache mais plutot l'IRQ0 pour actionner le commutateur de tache (dans un premier temps 200 commutation par seconde)

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2009
    Messages : 36
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par bifur Voir le message
    mon (projet d')OS sera en mode protégé(j'en ai deja fait un petit en mode réel Flat mais c'est trop restrictif)donc je pourrait uttiliser les TSS,
    Est ce que tu aurait de la doc la dessus? j'ai la doc d'intel et j'aimerait avoir un autre point de vue
    A part les docs Intel, je n'ai pas d'autres documentation sur les TSS. La plupart des tutoriaux que j'ai et qui sont disponibles sur Internet utilisent la pile pour exemple. Le seul truc que j'ai trouvé: http://www.acm.uiuc.edu/sigops/roll_your_own/5.a.html (en anglais).

    Et puis, si tu désires faire un OS 64-bit par la suite, l'utilisation des TSS est fortement déconseillé, parce qu'en mode 64-bit, les TSS sont encore plus difficile à mettre en place, car leur structure change radicalement. Donc, il vaut mieux garder la pile.

    Citation Envoyé par bifur Voir le message
    sinon, c'est pas que j'uttilise un "temp" avant chaque changement de tache mais plutot l'IRQ0 pour actionner le commutateur de tache (dans un premier temps 200 commutation par seconde)
    Ah! Dans ce cas, je n'ai rien dit.

  5. #5
    Membre confirmé Avatar de bifur
    passe le balais et l'aspirateur
    Inscrit en
    Mars 2008
    Messages
    314
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : passe le balais et l'aspirateur

    Informations forums :
    Inscription : Mars 2008
    Messages : 314
    Points : 550
    Points
    550
    Par défaut
    bon il ne me reste plus qu'as programmer tout ça (je me demande si je vais pas rester sur du flat )

Discussions similaires

  1. problème d'organisation d'affichage
    Par FrancoisR29 dans le forum Requêtes
    Réponses: 4
    Dernier message: 17/09/2008, 08h48
  2. problème d'organisation:formulaire et tableau dans le même frame
    Par info_plus dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 06/07/2007, 10h13
  3. Problème d'organisation des données dans un jeu de stratégie
    Par khayyam90 dans le forum Développement 2D, 3D et Jeux
    Réponses: 8
    Dernier message: 15/06/2007, 17h13
  4. [GTKAda] Problème d'organisation dans une fenêtre
    Par Poseidon62 dans le forum Ada
    Réponses: 1
    Dernier message: 12/03/2007, 14h03
  5. [Packages] Problème d'organisation
    Par lolo... dans le forum JBuilder
    Réponses: 5
    Dernier message: 22/04/2003, 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