Changes between Initial Version and Version 1 of UserManuel


Ignore:
Timestamp:
Dec 8, 2007, 3:40:48 PM (17 years ago)
Author:
Ghassan Almaless
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UserManuel

    v1 v1  
     1
     2== I. Organisation des bibliothèques système ==
     3La figure suivante illustre la modalisation du système :
     4
     5
     6[[Image(modalisation_mutekp.PNG, nolink)]][[BR]]
     7Les bibliothèques constituant le système sont :
     8 *  pthread : contient l’implémentation d’un sous-ensemble des thread POSIX.
     9 *  libc : contient l’implémentation des services système tel que malloc, printf, pipe, memcpy …etc.
     10 *  mwmr : contient l’implémentation du protocole MWMR.
     11 *  cpu  : contient le code système en assembleur qui dépend de type des processeurs de la plate-forme.
     12 *  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.
     13
     14Les bibliothèques pthread, libc et mwmr sont indépendantes de la spécification de la plate-forme.
     15
     16En 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.
     17
     18== II. API du système ==
     19MUTEKP fourni trois bibliothèques pour les threads de l’application :
     20
     21 *  Un sous-ensemble de l'API des threads POSIX :
     22   *  [wiki:pthread_attr_init]: initier la structure d’un attribut.
     23   *  [wiki:pthread_create]: créer une tâche
     24   *  [wiki:pthread_exit]: mettre fin à une tâche avec une valeur de retour
     25   *  [wiki:pthread_self]: Donner l’indenté du thread appelant.
     26   *  [wiki:pthread_equal]: tester l’égalité entre deux identificateur.
     27   *  [wiki:pthread_yield]: céder le processeur pour un autre thread.
     28   *  [wiki:pthread_join]: attendre la fin d’un thread.
     29   *  [wiki:pthread_spin_init]: initialiser un verrou à une attente active.
     30   *  [wiki:pthread_spin_destroy]: détruire un verrou. 
     31   *  [wiki:pthread_spin_lock]: verrouiller le verrou à une attente active.
     32   *  [wiki:pthread_spin_trylock]: version non bloquante de pthread_spin_lock.
     33   *  [wiki:pthread_spin_unlock]: déverrouiller le verrou à une attente active.
     34
     35 *  Les fonctions implémentant le protocole MWMR :
     36   *  [wiki:mwmr_read]: lecture d’un FIFO MWMR.
     37   *  [wiki:mwmr_write]: écriture dans un FIFO MWMR.
     38   *  [wiki:mwmr_init]: création et initialisation d’un FIFO MWMR.
     39       
     40 *  Quelques fonctions de la bibliothèque libC :
     41   *  [wiki:printf]: afficher une chaîne de caractère formatée.
     42   *  [wiki:malloc]: allocation de mémoire dynamique.
     43   *  [wiki:pipe]: créer un tube de communication (par flux d’octets) enter deux threads.
     44   *  [wiki:read]: pour lire d’un buffer ou un tube.
     45   *  [wiki:write]: pour écrire dans un buffer ou un tube.
     46   *  [wiki:memset]: remplir une zone mémoire par une valeur donnée.
     47   *  [wiki:memcpy]: copie une zone moire source vers une autre zone mémoire distination.
     48
     49La norme POSIX ne propose pas dans son API pthread aucun appel permettant d’affecter ou de spécifier un thread à un processeur donné.[[BR]]
     50MUTEKP 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.
     51
     52== III. L’Organisation des fichiers systèmes ==
     53== IV. La génération d’une application ==
     54== V. Description de la plateforme ==