Samx Here
n1udSecurity


Server : Apache
System : Linux webd348.cluster026.gra.hosting.ovh.net 5.15.148-ovh-vps-grsec-zfs-classid #1 SMP Thu Feb 8 09:41:04 UTC 2024 x86_64
User : hednacluml ( 122243)
PHP Version : 8.3.9
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
Directory :  /home/hednacluml/encyclo/articles/s/p/i/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/hednacluml/encyclo/articles/s/p/i/Spinlock.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" dir="ltr">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<!-- headlinks removed -->
	<link rel="shortcut icon" href="../../../../misc/favicon.ico"/>
    <title>Spinlock - Wikipédia</title>
    <style type="text/css">/*<![CDATA[*/ @import "../../../../skins/offline/main.css"; /*]]>*/</style>
    <link rel="stylesheet" type="text/css" media="print" href="../../../../skins/common/commonPrint.css" />
    <!--[if lt IE 5.5000]><style type="text/css">@import "../../../../skins/monobook/IE50Fixes.css";</style><![endif]-->
    <!--[if IE 5.5000]><style type="text/css">@import "../../../../skins/monobook/IE55Fixes.css";</style><![endif]-->
    <!--[if IE 6]><style type="text/css">@import "../../../../skins/monobook/IE60Fixes.css";</style><![endif]-->
    <!--[if IE]><script type="text/javascript" src="../../../../skins/common/IEFixes.js"></script>
    <meta http-equiv="imagetoolbar" content="no" /><![endif]-->
    <script type="text/javascript" src="../../../../skins/common/wikibits.js"></script>
    <script type="text/javascript" src="../../../../skins/offline/md5.js"></script>
    <script type="text/javascript" src="../../../../skins/offline/utf8.js"></script>
    <script type="text/javascript" src="../../../../skins/offline/lookup.js"></script>
    <script type="text/javascript" src="../../../../raw/gen.js"></script>        <style type="text/css">/*<![CDATA[*/
@import "../../../../raw/MediaWiki%7ECommon.css";
@import "../../../../raw/MediaWiki%7EMonobook.css";
@import "../../../../raw/gen.css";
/*]]>*/</style>          </head>
  <body
    class="ns-0">
    <div id="globalWrapper">
      <div id="column-content">
	<div id="content">
	  <a name="top" id="contentTop"></a>
	        <h1 class="firstHeading">Spinlock</h1>
	  <div id="bodyContent">
	    <h3 id="siteSub">Un article de Wikipédia, l'encyclopédie libre.</h3>
	    <div id="contentSub"></div>
	    	    	    <!-- start content -->
	    <table align="right" style="background-color:#F0F0F0; border:1px solid #a0a0a0; border-right-width: 2px; border-bottom-width: 2px; text-align: center; font-family: sans-serif; font-size: 0.8em;">
<tr style="background:#E0E0E0">
<td valign="middle">
<table border="0" cellspacing="0" cellpadding="1" width="100%" style="text-align:center; padding: 0.2em">
<tr>
<td bgcolor="#E0E0E0"><b>Les <a href="../../../../articles/s/y/n/Synchronisation_%28multit%C3%A2ches%29.html" title="Synchronisation (multitâches)">méthodes de synchronisation</a></b></td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="padding: 0.2em">
<p><a href="../../../../articles/b/a/r/Barri%C3%A8re_de_synchronisation.html" title="Barrière de synchronisation">Barrière de synchronisation</a>&#160;- <a href="../../../../articles/f/u/t/Futex.html" title="Futex">Futex</a>&#160;- <a href="../../../../articles/m/o/n/Moniteur_%28informatique%29.html" title="Moniteur (informatique)">Moniteur</a></p>
</td>
</tr>
<tr>
<td style="padding: 0.2em">
<p><a href="../../../../articles/e/x/c/Exclusion_mutuelle.html" title="Exclusion mutuelle">Mutex</a>&#160;- <a href="../../../../articles/s/%C3%A9/m/S%C3%A9maphore_%28informatique%29.html" title="Sémaphore (informatique)">Sémaphore</a>&#160;- <strong class="selflink">Spinlock</strong></p>
</td>
</tr>
</table>
<table align="right" style="background-color:#F0F0F0; border:1px solid #a0a0a0; border-right-width: 2px; border-bottom-width: 2px; text-align: center; font-family: sans-serif; font-size: 0.8em;">
<tr style="background:#E0E0E0">
<td valign="middle">
<table border="0" cellspacing="0" cellpadding="1" width="100%" style="text-align:center; padding: 0.2em">
<tr>
<td bgcolor="#E0E0E0"><b>Problèmes classiques des<br />
<a href="../../../../articles/s/y/n/Synchronisation_%28multit%C3%A2ches%29.html" title="Synchronisation (multitâches)">méthodes de synchronisation</a></b></td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="padding: 0.2em">
<p><a href="../../../../articles/c/o/u/Couplage_fort_%28programmation_concurrente%29.html" title="Couplage fort (programmation concurrente)">Couplage fort</a>&#160;- <a href="../../../../articles/f/a/m/Famine_%28informatique%29.html" title="Famine (informatique)">Famine</a></p>
</td>
</tr>
<tr>
<td style="padding: 0.2em">
<p><a href="../../../../articles/i/n/t/Interblocage.html" title="Interblocage">Interblocage</a>&#160;- <a href="../../../../articles/i/n/v/Inversion_de_priorit%C3%A9.html" title="Inversion de priorité">Inversion de priorité</a></p>
</td>
</tr>
</table>
<p>En <a href="../../../../articles/p/r/o/Programmation_informatique.html" title="Programmation informatique">programmation informatique</a>, le <strong class="selflink">spinlock</strong> ou <b>verrou tournant</b> est un mécanisme simple de <a href="../../../../articles/s/y/n/Synchronisation_%28multit%C3%A2ches%29.html" title="Synchronisation (multitâches)">synchronisation</a> basé sur l'<a href="../../../../articles/a/t/t/Attente_active.html" title="Attente active">attente active</a>.</p>
<p><a name="Algorithme" id="Algorithme"></a></p>
<h2><span class="editsection">[<a href="../../../../articles/s/p/i/Spinlock.html" title="Modifier la section&#160;: Algorithme">modifier</a>]</span> <span class="mw-headline">Algorithme</span></h2>
<pre>
 TestAndSet(*s, v) {
   s&lt;-v
   return prev(s)
 } //Instruction Atomique (ie non interruptible)
 
 init(s) {
   TestAndSet(&amp;s,1)
 }
 
 wait(s) {
   while(TestAndSet(&amp;s,1))
   {
     //Attente active
   }
 }
 
 signal(s) {
   TestAndSet(&amp;s,0)
 }
</pre>
<p><a name="Quand_utiliser_le_spinlock_.3F" id="Quand_utiliser_le_spinlock_.3F"></a></p>
<h2><span class="editsection">[<a href="../../../../articles/s/p/i/Spinlock.html" title="Modifier la section&#160;: Quand utiliser le spinlock&#160;?">modifier</a>]</span> <span class="mw-headline">Quand utiliser le spinlock&#160;?</span></h2>
<p>L'attente active rend le spinlock gourmand en ressources. C'est pourquoi il ne faut l'utiliser que dans une des situations suivantes:</p>
<ul>
<li>lorsque le changement de contexte est impossible (par exemple en l'absence de <a href="../../../../articles/s/y/s/Syst%C3%A8me_d%27exploitation.html" title="Système d'exploitation">système d'exploitation</a>)</li>
<li>lorsque le changement de contexte est plus long que le temps d'attente moyen (contrainte temps réel souple) ou maximum (contrainte temps réel dur). Ce n'est en général le cas que dans les systèmes à multiprocesseurs. En effet, le verrou tournant est souvent utilisé pour synchroniser le noyau linux sur des systèmes SMP ( il est même souvent couplé avec une autre méthode de synchronisation ).</li>
</ul>
<p><a name="Variantes" id="Variantes"></a></p>
<h2><span class="editsection">[<a href="../../../../articles/s/p/i/Spinlock.html" title="Modifier la section&#160;: Variantes">modifier</a>]</span> <span class="mw-headline">Variantes</span></h2>
<p>Il existe des variantes du verrou tournant visant à le rendre plus efficace&#160;:</p>
<ul>
<li>Le <i>verrou tournant lecture/ecriture</i> qui est formé de 2 verrous&#160;: un pour la lecture et l'autre pour l'écriture. L'amélioration vient du fait que le verrou de lecture bloque seulement les accès en écriture et non les tentatives de lectures.</li>
<li>Le <i>verrou séquentiel</i>.</li>
</ul>
<ul id="bandeau-portail" class="bandeau-portail">
<li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><a href="../../../../articles/c/r/y/Image%7ECrystal_mycomputer.png_ff1d.html" class="image" title="Icône du portail de l’informatique"><img alt="Icône du portail de l’informatique" src="../../../../images/shared/thumb/e/e3/Crystal_mycomputer.png/24px-Crystal_mycomputer.png" width="24" height="24" border="0" /></a></span> <span class="bandeau-portail-texte"><a href="../../../../articles/i/n/f/Portail%7EInformatique_2d39.html" title="Portail:Informatique">Portail de l’informatique</a></span></span></li>
</ul>


<!-- 
NewPP limit report
Preprocessor node count: 47/1000000
Post-expand include size: 2116/2048000 bytes
Template argument size: 98/2048000 bytes
Expensive parser function count: 0/500
-->
<div class="printfooter">
</div>
	    <div id="catlinks"><div id='catlinks' class='catlinks'><div id="mw-normal-catlinks"><a href="../../../../articles/a/c/c/Cat%C3%A9gorie%7EAccueil_1aae.html" title="Catégorie:Accueil">Catégories</a>&nbsp;:&#32;<span dir='ltr'><a href="../../../../articles/p/r/o/Cat%C3%A9gorie%7EProgrammation_concurrente_f484.html" title="Catégorie:Programmation concurrente">Programmation concurrente</a></span> | <span dir='ltr'><a href="../../../../articles/a/t/t/Cat%C3%A9gorie%7EAttente_active_1049.html" title="Catégorie:Attente active">Attente active</a></span></div></div></div>	    <!-- end content -->
	    <div class="visualClear"></div>
	  </div>
	</div>
      </div>
      <div id="column-one">
	<div id="p-cactions" class="portlet">
	  <h5>Views</h5>
	  <ul>
	    <li id="ca-nstab-main"
	       class="selected"	       ><a href="../../../../articles/s/p/i/Spinlock.html">Article</a></li><li id="ca-talk"
	       	       ><a href="../../../../articles/s/p/i/Discuter%7ESpinlock_1000.html">Discussion</a></li><li id="ca-current"
	       	       ><a href="http://fr.wikipedia.org/wiki/Spinlock">Version actuelle</a></li>	  </ul>
	</div>
	<div class="portlet" id="p-logo">
	  <a style="background-image: url(../../../../misc/Wiki.png);"
	    href="../../../../index.html"
	    title="Accueil"></a>
	</div>
	<script type="text/javascript"> if (window.isMSIE55) fixalpha(); </script>
		<div class='portlet' id='p-navigation'>
	  <h5>Navigation</h5>
	  <div class='pBody'>
	    <ul>
	    	      <li id="n-mainpage"><a href="../../../../index.html">Accueil</a></li>
	     	      <li id="n-thema"><a href="../../../../articles/a/c/c/Portail%7EAccueil_bcc9.html">Portails thématiques</a></li>
	     	      <li id="n-alphindex"><a href="../../../../articles/t/o/u/Special%7EToutes_les_pages_fabc.html">Index alphabétique</a></li>
	     	      <li id="n-randompage"><a href="../../../../articles/p/a/g/Special%7EPage_au_hasard_9c81.html">Un article au hasard</a></li>
	     	      <li id="n-contact"><a href="../../../../articles/c/o/n/Wikip%C3%A9dia%7EContact_929e.html">Contacter Wikipédia</a></li>
	     	    </ul>
	  </div>
	</div>
		<div class='portlet' id='p-Contribuer'>
	  <h5>Contribuer</h5>
	  <div class='pBody'>
	    <ul>
	    	      <li id="n-help"><a href="../../../../articles/s/o/m/Aide%7ESommaire_c9f0.html">Aide</a></li>
	     	      <li id="n-portal"><a href="../../../../articles/a/c/c/Wikip%C3%A9dia%7EAccueil_5272.html">Communauté</a></li>
	     	      <li id="n-recentchanges"><a href="../../../../articles/m/o/d/Special%7EModifications_r%C3%A9centes_b222.html">Modifications récentes</a></li>
	     	      <li id="n-aboutwp"><a href="../../../../articles/a/c/c/Wikip%C3%A9dia%7EAccueil_des_nouveaux_arrivants_0784.html">Accueil des nouveaux arrivants</a></li>
	     	      <li id="n-sitesupport"><a href="http://meta.wikimedia.org/wiki/Faire_un_don:_explication">Faire un don</a></li>
	     	    </ul>
	  </div>
	</div>
		<div id="p-search" class="portlet">
	  <h5><label for="searchInput">Rechercher</label></h5>
	  <div id="searchBody" class="pBody">
	    <form action="javascript:goToStatic(3)" id="searchform"><div>
	      <input id="searchInput" name="search" type="text"
	        accesskey="C" value="" />
	      <input type='submit' name="go" class="searchButton" id="searchGoButton"
	        value="Aller" />
	    </div></form>
	  </div>
	</div>
	<div id="p-lang" class="portlet">
	  <h5>Autres langues</h5>
	  <div class="pBody">
	    <ul>
	      	      <li>
	      <a href="../../../../../cs/articles/s/p/i/Spinlock.html">Česky</a>
	      </li>
	      	      <li>
	      <a href="../../../../../de/articles/s/p/i/Spinlock.html">Deutsch</a>
	      </li>
	      	      <li>
	      <a href="../../../../../en/articles/s/p/i/Spinlock.html">English</a>
	      </li>
	      	      <li>
	      <a href="../../../../../es/articles/s/p/i/Spinlock.html">Español</a>
	      </li>
	      	      <li>
	      <a href="../../../../../it/articles/s/p/i/Spinlock.html">Italiano</a>
	      </li>
	      	      <li>
	      <a href="../../../../../ja/articles/%E3%82%B9/%E3%83%94/%E3%83%B3/%E3%82%B9%E3%83%94%E3%83%B3%E3%83%AD%E3%83%83%E3%82%AF.html">日本語</a>
	      </li>
	      	      <li>
	      <a href="../../../../../lt/articles/s/u/k/Suktukinis_rakinimas.html">Lietuvių</a>
	      </li>
	      	      <li>
	      <a href="../../../../../nl/articles/b/u/s/Busy_waiting.html">Nederlands</a>
	      </li>
	      	    </ul>
	  </div>
	</div>
	      </div><!-- end of the left (by default at least) column -->
      <div class="visualClear"></div>
      <div id="footer">
    <div id="f-poweredbyico"><a href="http://www.mediawiki.org/"><img src="../../../../skins/common/images/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki" /></a></div>	<div id="f-copyrightico"><a href="http://wikimediafoundation.org/"><img src="../../../../misc/wikimedia-button.png" border="0" alt="Wikimedia Foundation"/></a></div>	<ul id="f-list">
	  	  	  <li id="f-credits">Cette page a été modifiée pour la dernière fois le 29 mars 2008 à 13:29 par Utilisateur(s) non enregistré(s) de Wikipédia. Basé sur le travail de Utilisateur(s) <a href="../../../../articles/m/m/b/Utilisateur%7EMMBot_510c.html" title="Utilisateur:MMBot">MMBot</a>, <a href="../../../../articles/c/h/i/Utilisateur%7EChicobot_8e22.html" title="Utilisateur:Chicobot">Chicobot</a>, <a href="../../../../articles/p/i/e/Utilisateur%7EPieRRoBoT_0564.html" title="Utilisateur:PieRRoBoT">PieRRoBoT</a>, <a href="../../../../articles/n/o/d/Utilisateur%7ENodulation_fbc1.html" title="Utilisateur:Nodulation">Nodulation</a>, <a href="../../../../articles/b/o/r/Utilisateur%7EBoretti_ae53.html" title="Utilisateur:Boretti">Boretti</a>, <a href="../../../../articles/r/i/p/Utilisateur%7ERipounet_71f8.html" title="Utilisateur:Ripounet">Ripounet</a>, <a href="../../../../articles/t/h/i/Utilisateur%7EThijs%21bot_c2d6.html" title="Utilisateur:Thijs!bot">Thijs!bot</a>, <a href="../../../../articles/y/u/r/Utilisateur%7EYurikBot_0f63.html" title="Utilisateur:YurikBot">YurikBot</a> et <a href="../../../../articles/d/r/_/Utilisateur%7EDr_gonzo_7657.html" title="Utilisateur:Dr gonzo">Dr gonzo</a>.</li>	  <li id="f-copyright"><span style="white-space:normal"><a class="internal" href="http://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Droit_d'auteur" title="Droit d'auteur">Droit d'auteur</a> : Tous les textes sont disponibles sous les termes de la <a class="internal" href="http://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Licence_de_documentation_libre_GNU" title="GFDL">licence de documentation libre GNU</a> (GFDL).<br/>
Wikipedia® est une marque déposée de la <a href="http://wikimediafoundation.org/wiki/Accueil" title="Wikimedia Foundation">Wikimedia Foundation, Inc.</a>, organisation de bienfaisance régie par le paragraphe <a class="internal" href="http://en.wikipedia.org/wiki/501(c)" title="501(c)">501(c)(3)</a> du code fiscal des États-Unis.</span><br/></li>	  <li id="f-about"><a href="../../../../articles/%C3%A0/_/p/Wikip%C3%A9dia%7E%C3%80_propos_5de1.html" title="Wikipédia:À propos">À propos de Wikipédia</a></li>	  <li id="f-disclaimer"><a href="../../../../articles/a/v/e/Wikip%C3%A9dia%7EAvertissements_g%C3%A9n%C3%A9raux_fef1.html" title="Wikipédia:Avertissements généraux">Avertissements</a></li>	  	</ul>
      </div>
    </div>
  </body>
</html>

SAMX