Spinlock je v operačních systémech druh zámku, na nějž je třeba aktivně čekat – čekající proces tedy při čekání na spinlock spotřebovává systémové prostředky.Spinlocky se zpravidla používají pouze v operačním systému, aplikacím jsou poskytována složitější synchronizační primitiva, které čekající aplikace uspí a zařadí do fronty, takže v době, kdy jsou zablokovány, může běžet něco jiného.
Property | Value |
prop-cs:wikiPageUsesTemplate
| |
dbpedia-owl:abstract
|
- Spinlock je v operačních systémech druh zámku, na nějž je třeba aktivně čekat – čekající proces tedy při čekání na spinlock spotřebovává systémové prostředky.Spinlocky se zpravidla používají pouze v operačním systému, aplikacím jsou poskytována složitější synchronizační primitiva, které čekající aplikace uspí a zařadí do fronty, takže v době, kdy jsou zablokovány, může běžet něco jiného. Na druhou stranu, tyto složitější struktury vyžadují ochranu svých dat proti vícenásobnému přístupu, a k tomu lze použít právě jednodušší a rychlejší spinlocky.Příklad implementace spinlocku v assembleru architektury x86:zacatek:mov eax, 1 ; přesuneme jedničku do registruxchg eax, [ $zamek ] ; jednou instrukcí atomicky prohodíme obsah registru ; s proměnnou držící zámek. nyní je v proměnné určitě jedničkatest eax, eax ; pokud je v registru nula, zámek byl před prohozením ; odemčený, tudíž jsme jej získali a můžeme pokračovatjnz zacatek ; ... jinak to zkusíme znovu od začátku; ( kritická sekce )mov eax, 0 ; konec, vrátíme do proměnné nulu a tím zámek odemknemexchg eax, [ $zamek ] ; na toto by měla fungovat i prostá instrukce mov, ; ale na některých procesorech se pokazí
|
dbpedia-owl:wikiPageID
| |
dbpedia-owl:wikiPageLength
| |
dbpedia-owl:wikiPageOutDegree
| |
dbpedia-owl:wikiPageRevisionID
| |
dbpedia-owl:wikiPageWikiLink
| |
dbpedia-owl:wikiPageWikiLinkText
| |
dcterms:subject
| |
rdfs:comment
|
- Spinlock je v operačních systémech druh zámku, na nějž je třeba aktivně čekat – čekající proces tedy při čekání na spinlock spotřebovává systémové prostředky.Spinlocky se zpravidla používají pouze v operačním systému, aplikacím jsou poskytována složitější synchronizační primitiva, které čekající aplikace uspí a zařadí do fronty, takže v době, kdy jsou zablokovány, může běžet něco jiného.
|
rdfs:label
| |
prov:wasDerivedFrom
| |
foaf:isPrimaryTopicOf
| |
is dbpedia-owl:wikiPageWikiLink
of | |
is foaf:primaryTopic
of | |