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

Ada Discussion :

Multitâche en Ada


Sujet :

Ada

  1. #1
    Membre régulier
    Inscrit en
    Mai 2004
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2004
    Messages : 148
    Points : 87
    Points
    87
    Par défaut Cours sur le multitâche en Ada
    Bonjour,

    Quelqu'un connaîtrait-il un cours sur le multitâche en Ada ?

    Merci a+
    Celui qui pose une question est bête 5 minutes, celui qui ne la pose pas est bête toute sa vie...

  2. #2
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    Bonsoir Rémiz,

    Tu trouvera une introduction in english right there : http://www.adaic.org/whyada/intro5.html#concurrent

    Pour plus de détails, ... ce n'est pas un cours, mais ceci devrait quand même t'aider, et aprés avoir lu ces 21 pages, tu devrait y voir plus claire : http://www.adaic.org/standards/05rm/html/RM-9.html

    C'est en anglais, of course...

    Personnelement, je n'ai pas encore (ça viendra) pratiqué le multitâche en Ada, et je ne pourrai donc pas de donner d'exemples concrêts personels.

    Pour ce que j'en ai lu, le multitâche en Ada est nettement plus claire qu'avec les librairies des langages plus traditionels.. et quand le multitâche a été introduit avec Ada, ses concepts étaits déjà bien en avance sur son temps.

    Le point fort d'Ada pour le multitâche, est la gestion aisé de l'accès concurentiel. Quand tu déclare un type (comme un record) en Ada, tu peux le déclarer être protected, indiquant alors au compilateur que ce type de donné pourra être accéder de manière concurentielle.

    En Ada tu n'a pas de fork comme en C/C++ par exemple. Une tâche démarre en appelant une procédure indiqué comme pouvant être l'un des point d'entrée d'une tâche.

    Le multitâche en Ada est étroitement liés au concept d'objet (pour les compilateurs/versions de Ada supportant la POO, ce qui est le cas de Ada 2005 : Gnat supportait déjà même pour Ada 95, certaines extentions de Ada 2005, par anticipation).

    Le multitâche en Ada est une caractéristique du langage, et non pas une fonction d'une librairie externe. Ceci a plusieurs conscéquences : 1) le compilateur génère des codes et des structure de données adaptées au multitâche. 2) Le compilateur peut detecter des erreurs et des mauvaises utilisations, ces detections n'étant pas possibles avec du multitâche basée sur une bibliothèque. 3) L'architecture multitâche apparait clairement dans le code (plus lisibles que les étangeté « à la » fork et compagnie).

    Voili-voilou... je ne peux pas t'en dire plus pour le moment, parce que je n'en sais pas plus.

    J'espère que ça t'aidera un peu ...
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  3. #3
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Points : 160
    Points
    160
    Par défaut
    Il y a une confusion. fork n'est pas une fonction de la librairie standard de C ou de C++ mais une fonction posix. Elle est liée à l'OS et non au langage. D'ailleurs, sous Windows, on utilise CreateProcess.

    Le fork est utilisable en Ada via une librairie posix comme florist.

  4. #4
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par Seb_de_lille
    Il y a une confusion. fork n'est pas une fonction de la librairie standard de C ou de C++ mais une fonction posix. Elle est liée à l'OS et non au langage. D'ailleurs, sous Windows, on utilise CreateProcess.

    Le fork est utilisable en Ada via une librairie posix comme florist.
    Mais... mais... c'est un peu hors-sujet ça non ?

    Je n'ai jamais dit que c'était un élément des librairies « standards » du C. Je disais que c'est implémenté par une librairie, et que ce n'est donc pas une construction prévu par le langage.

    Ce n'était pas du tout le sujet, mais puisque tu en parle...entre nous... posix et le C... hein, quand même... et puis encore : tu en connais beaucoup des environnements C qui se restreignent aux librairies standards ? ... ça n'irait pas bien loin... rien que pour lister le contenu d'un repertoire... La glibc n'est-elle pas un standard de fait ? (même sous windows on peut utiliser fork, autant avec gcc que lcc). Parler de librairies standards avec le C, ça ne représente plus rien de concret depuis longtemps.

    heuuuu.... et puis tu ne doute de rien toi tu veux nous dire comment importer fork en Ada C'est sure... waaaw, on se le demande, dis nous, ça va interesser du monde

    Pardon, pardon (c'est moi qui demande pardon)

    Bon, beh, si tu veux découvrire Ada, tu es le trés bien venue. il n'y a aucune conditions préalables pour s'incrire au club trés-trés bienvenue à toi
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  5. #5
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Points : 160
    Points
    160
    Par défaut
    Découvrir Ada, ben ça fait un petit moment que je suis sur le sujet.

Discussions similaires

  1. [Ada 95] Définir le nombre d'espaces
    Par cyph3r dans le forum Ada
    Réponses: 1
    Dernier message: 11/11/2004, 11h20
  2. Réponses: 1
    Dernier message: 11/10/2004, 10h47
  3. [Ada] Gnat
    Par kilinette dans le forum Ada
    Réponses: 4
    Dernier message: 04/10/2004, 09h58
  4. [MERISE] grande table ou multitable?
    Par ben_iap dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 14/06/2004, 10h12

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