Bolt-Variable
Bolt-Variablen dienen in der Informatik zur Abstimmung des konkurrierenden Zugriffs auf Betriebsmittel. Der Unterschied zum häufig verwendeten Semaphor besteht darin, dass die Bolt-Variable drei statt zwei Zustände annehmen kann und damit eine flexiblere Reservierung von Ressourcen ermöglicht, beispielsweise durch Realisierung eines Read-Write-Locks. Der Name ist vom englischen Wort bolt (Riegel) abgeleitet.[1]
Beschreibung
Bolt-Variablen werden bei der Programmierung zur Prozesssynchronisation eingesetzt, also zur Lösung von Aufgaben, bei denen die parallele Ausführung mehrerer Prozesse oder Threads eine zeitliche Abstimmung der Ausführungen erfordert. Sie beschreiben den Belegungszustand eines Betriebsmittels. Dabei werden drei Zustände unterschieden:[2]
- nicht belegt (A)
- belegt (B)
- Belegung nicht möglich (C)
Regeln zur Belegung:
- Eine Änderung in Zustand B kann vorgenommen werden, wenn sich die Bolt-Variable im Zustand A befindet. Zustand B entspricht einem exklusiven Zugriff beziehungsweise einem Write-Lock.
- Zustand C kann erfolgreich eingenommen werden, wenn die Variable im Zustand A oder C ist. Damit können mehrere Prozesse parallel das reservierte Betriebsmittel verwenden, ohne von potentiell schreibenden Zugriffen (Zustand B) gestört zu werden. Damit kann ein Read-Lock realisiert werden.
Praxis
In Mainframe-Betriebssystemen wie z. B. z/OS von IBM stehen diese Dienste unter anderen Namen zur Verfügung. Dort wird die Bezeichnung Enqueue / Dequeue mit 'shared'- oder 'exclusive'-Option verwendet.
Weblinks
HTW Dresden Vorlesung Betriebssysteme II Thema 2: Synchronisation. (PDF; 193 kB) Abgerufen am 2. September 2011 (bes. S. 28f).
Einzelnachweise
- ↑ RTOS-UH Ein Überblick Seite 19 ( des vom 27. September 2007 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis. (PDF; 411 kB)
- ↑ Bodo Heimann, Wilfried Gerth, Karl Popp: Mechatronik: Komponenten - Methoden-Beispiele. Hanser Verlag, 2006, ISBN 3-446-40599-2, S. 167 f.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.