Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
FORUM LINUX FAQ LINUX TUTORIELS LINUX LIVRES LINUX LINUX TV UNIX GTK+ Qt APACHE

ATOMIC_ADD

Section: Fonctions du noyau Linux (9)
Updated: 19 Mars 1999
Index


NOM
SYNOPSIS
DESCRIPTION
VALEURS DE RETOUR
DISPONIBILITÉ
VOIR AUSSI
AUTEUR
TRADUCTION
BOGUES

NOM

atomic_add, atomic_sub, atomic_inc, atomic_dec - arithmétique sûre par rapport aux thread et au SMP (opérations atomiques)

SYNOPSIS

#include <asm/atomic.h>
void atomic_add(int i, volatile atomic_t*v)
void atomic_sub(int i, volatile atomic_t*v)
void atomic_inc(volatile atomic_t*v)
void atomic_dec(volatile atomic_t*v)
int atomic_read(volatile atomic_t*v)
void atomic_set(volatile atomic_t*v, int i)
int atomic_dec_and_test(volatile atomic_t*v)

DESCRIPTION

Ces fonctions manipulent des variables du type atomic_t de manière sûre pour éviter les problèmes de partage de ressource dans un contexte multi-thread ou SMP (Symetrical MicroProcessor : machines multiprocesseurs). Ces variables permettent d'implémenter des sémaphores (pour assurer qu'une zone de code critique ne puisse être exécutée que par un seul processus) et des compteurs de références sûrs. Ces fonctions garantissent que l'opération associée est assurée correctement. Si nécessaire, un blocage du bus système est réalisé pour protéger l'opération. Généralement, le processeur dispose de quelques instructions réalisant ces opérations de manière sûre et rapide [ Ndt : les ix86 disposent d'instructions de test et d'affectation atomiques ].
atomic_dec_and_test décrémente la variable atomique et renvoie true si le résultat est zéro. Cette fonction est particulierement pratique pour impléménter des sémaphores sur les systèmes multiprocesseurs.

VALEURS DE RETOUR

La fonction atomic_read renvoie la valeur entière de la variable.
La fonction atomic_dec_and_test renvoie TRUE si la valeur devient zéro après la décrémentation.

DISPONIBILITÉ

Linux 2.0+

VOIR AUSSI

intro(9)

AUTEUR

Stephen Williams <steve@icarus.com>

TRADUCTION

Thierry Vignaud <tvignaud@mandrakesoft.com>, 1999-2000 Quelqu'un aurait-il une traduction plus exacte que sémaphore pour spin lock ?

BOGUES

Les opérations de lecture et d'écriture ne bénéficient pas de protection particulière.
Responsable bénévole de la rubrique Linux Professionnel : Olivier Van Hoof - Contacter par EMail :
Vos questions techniques : forum d'entraide Linux Professionnel - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.