Changes between Version 5 and Version 6 of user_synchro


Ignore:
Timestamp:
Oct 9, 2018, 2:10:37 PM (5 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • user_synchro

    v5 v6  
    1010 * A '''barrier'''  is declared by a given user process as a ''pthread_barrier_t'' global variable.
    1111 * A '''semaphore''' is declared by a given user process as a ''sem_t'' global variable.
    12 All these user types are implemented by ALMOS-MKH as ''unsigned long'', but the value stored in user space is NOT used by the kernel. ALMOS-MKH uses only the virtual address as an identifier for a given synchronization variable.
    13 For each type of variable, ALMOS-MKH defines a specific internal data structure described below.
     12All these user types are implemented by ALMOS-MKH as ''unsigned long'', but the value stored in user space is NOT used by the kernel. ALMOS-MKH uses only the virtual address as an identifier for the synchronization variable.
     13
     14As these synchronization variables are used by threads running in different clusters, all access functions use remote_read() / remote_write() primitives.
     15
     16For each type of variable, ALMOS-MKH defines a specific internal data structure as described below.
    1417
    1518== B) Mutex ==
     
    1720The user level, POSIX compliant, '''mutex''' API is defined in the '''pthread''' library implemented by the [https://www-soc.lip6.fr/trac/almos-mkh/browser/trunk/libs/libpthread/pthread.h pthread.h] and [https://www-soc.lip6.fr/trac/almos-mkh/browser/trunk/libs/libpthread/pthread.c pthread.c] files.
    1821
    19 It can be used by a muti-threaded user application to synchronize user threads running in different clusters. It allows a given thread to exclusive access to a shared user object.
     22It can be used by a muti-threaded user application to give a thread exclusive access to a shared user object.
    2023
    2124The kernel implementation of a mutex is defined in the [https://www-soc.lip6.fr/trac/almos-mkh/browser/trunk/kernel/libk/remote_mutex.h remote_mutex.h] and [https://www-soc.lip6.fr/trac/almos-mkh/browser/trunk/kernel/libk/remote_mutex.c remote_mutex.c] files.
     
    3134The user level, POSIX compliant, '''condvar''' API is defined in the '''pthread''' library implemented by the [https://www-soc.lip6.fr/trac/almos-mkh/browser/trunk/libs/libpthread/pthread.h pthread.h] and [https://www-soc.lip6.fr/trac/almos-mkh/browser/trunk/libs/libpthread/pthread.c pthread.c] files.
    3235
    33 It can be used by a muti-threaded user application to synchronize user threads running in different clusters. It allows a given thread  to efficiently wait for a change in a shared user object.
     36It allows a given thread  to efficiently wait for a change in a shared user object.
    3437A condvar must always be associated to a mutex.
    3538