Changes between Version 33 and Version 34 of WikiStart


Ignore:
Timestamp:
Dec 8, 2007, 3:41:38 PM (18 years ago)
Author:
Ghassan Almaless
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v33 v34  
    1313= Manuel d'utilisation =
    1414[wiki:UserManuel] : tout ce qu'il faut savoir pour pouvoir programmer des applications au dessus de Mutek''p''
    15 
    16 (this Site is under construction)
    17 == I. Organisation des bibliothèques système ==
    18 La figure suivante illustre la modalisation du système :
    19 
    20 
    21 [[Image(modalisation_mutekp.PNG, nolink)]][[BR]]
    22 Les bibliothèques constituant le système sont :
    23  *  pthread : contient l’implémentation d’un sous-ensemble des thread POSIX.
    24  *  libc : contient l’implémentation des services système tel que malloc, printf, pipe, memcpy …etc.
    25  *  mwmr : contient l’implémentation du protocole MWMR.
    26  *  cpu  : contient le code système en assembleur qui dépend de type des processeurs de la plate-forme.
    27  *  arch : contient le code C qui dépend de la plate-forme tel que des configurations système vis-à-vis des composants de la plate-forme, les ISR d’interruption des différant types de cibles …etc.
    28 
    29 Les bibliothèques pthread, libc et mwmr sont indépendantes de la spécification de la plate-forme.
    30 
    31 En cas de modification au niveau de la configuration matériel, il suffit d’adapter le code système des deux bibliothèques cpu et arch pour pouvoir déployer MUTEKP sur la nouvelle plate-forme.
    32 
    33 == II. API du système ==
    34 MUTEKP fourni trois bibliothèques pour les threads de l’application :
    35 
    36  *  Un sous-ensemble de l'API des threads POSIX :
    37    *  [wiki:pthread_attr_init]: initier la structure d’un attribut.
    38    *  [wiki:pthread_create]: créer une tâche
    39    *  [wiki:pthread_exit]: mettre fin à une tâche avec une valeur de retour
    40    *  [wiki:pthread_self]: Donner l’indenté du thread appelant.
    41    *  [wiki:pthread_equal]: tester l’égalité entre deux identificateur.
    42    *  [wiki:pthread_yield]: céder le processeur pour un autre thread.
    43    *  [wiki:pthread_join]: attendre la fin d’un thread.
    44    *  [wiki:pthread_spin_init]: initialiser un verrou à une attente active.
    45    *  [wiki:pthread_spin_destroy]: détruire un verrou. 
    46    *  [wiki:pthread_spin_lock]: verrouiller le verrou à une attente active.
    47    *  [wiki:pthread_spin_trylock]: version non bloquante de pthread_spin_lock.
    48    *  [wiki:pthread_spin_unlock]: déverrouiller le verrou à une attente active.
    49 
    50  *  Les fonctions implémentant le protocole MWMR :
    51    *  [wiki:mwmr_read]: lecture d’un FIFO MWMR.
    52    *  [wiki:mwmr_write]: écriture dans un FIFO MWMR.
    53    *  [wiki:mwmr_init]: création et initialisation d’un FIFO MWMR.
    54        
    55  *  Quelques fonctions de la bibliothèque libC :
    56    *  [wiki:printf]: afficher une chaîne de caractère formatée.
    57    *  [wiki:malloc]: allocation de mémoire dynamique.
    58    *  [wiki:pipe]: créer un tube de communication (par flux d’octets) enter deux threads.
    59    *  [wiki:read]: pour lire d’un buffer ou un tube.
    60    *  [wiki:write]: pour écrire dans un buffer ou un tube.
    61    *  [wiki:memset]: remplir une zone mémoire par une valeur donnée.
    62    *  [wiki:memcpy]: copie une zone moire source vers une autre zone mémoire distination.
    63 
    64 La norme POSIX ne propose pas dans son API pthread aucun appel permettant d’affecter ou de spécifier un thread à un processeur donné.[[BR]]
    65 MUTEKP propose l’appel [wiki:pthread_attr_setprocid_np] qui permet d’affecter un numéro de processeur à un attribut. Cela permettra de préciser sur quel processeur le nouveau thread va-t-il s’exécuter.
    66 
    67 == III. L’Organisation des fichiers systèmes ==
    68 == IV. La génération d’une application ==
    69 == V. Description de la plateforme ==
    7015= Manuel de développement =
    7116== I. La plate-forme matérielle ==