Startseite   |  Site map   |  A-Z artikel   |  Artikel einreichen   |   Kontakt   |  
  


informatik artikel (Interpretation und charakterisierung)

Inkonsistenz durch parallelen zugriff auf dateien


1. Java
2. Viren

Das gleichzeitige Zugreifen von zwei Prozessen auf ein und dieselbe Datei ist, in den meisten Fällen gefährlich. Werden nicht besondere Vorsichtsmaßnahmen getroffen, werden fehlerhafte Ergebnisse produziert oder sogar Daten zerstört. Nur das gleichzeitige Lesen ist ohne Gefahr möglich.

Schutzmaßnahmen sehen vor, daß jeder weitere Prozeß nicht auf eine schon geöffnete Datei, die bearbeitet wird, zugreifen kann. Wurde ein Prozeß abgewiesen, kann er entscheiden, ob er aufgibt oder nach einer gewissen Zeit einen erneuten Versuch startet. Das Betriebssystem kann aufgrund der Information, ob die Datei bearbeitet oder nur gelesen werden soll, entscheiden ob der Zugriff gestattet ist. Dies ist eine Entscheidungsmatrix mit den Bearbeitungsarten \"Lesen\" und \"Schreiben\":

2. Prozeß

1. Prozeß Lesen Schreiben
Lesen Ja Nein

Schreiben Nein Nein


Durch diese Strategie werden aber auch Fälle, wie gleichzeitiges Lesen und Schreiben auf derselben Datei, das in manchen Fällen durchaus möglich ist, verhindert. Das hängt natürlich immer von der Anwendung ab.

Gibt der Benutzer noch zusätzliche Angaben bekannt, kann das Betriebssystem besser über eine Sperre der Datei entscheiden. Es werden noch die Bearbeitungsarten Erweitern, Lesen/Erweitern und Lesen/Schreiben hinzugefügt.

2.Prozeß

Lesen / Lesen /

1. Prozeß Lesen Schreiben Erweitern Schreiben Erweitern

Lesen Ja Ja Ja Nein Nein
Lesen/Schreiben Ja Ja Ja Ja Nein

Lesen/Erweitern Ja Ja Ja Nein Ja
Schreiben Nein Ja Nein Nein Nein

Erweitern Nein Nein Ja Nein Nein


Diese Tabelle zeigt, daß gleichzeitiges Ändern von zwei Prozessen einer Datei nicht möglich ist. Diese Einschränkung ist allerdings immer noch zu stark, da es besonders in Echtzeit-Anwendungen erforderlich ist, von parallel laufenden Programmen aus Veränderungen derselben Datei durchzuführen. Das Betriebssystem darf also gleichzeitiges Schreiben von verschiedenen Prozessen auf eine Datei nicht prinzipiell ausschließen, hier kann aber dann der Fall einer Inkonsistenz beim Ändern auftreten.



Auf diesem Bild ist dargestellt, daß zwei Prozesse nahezu gleichzeitig ein und denselben Satz verändern wollen. Durch dieses Zusammentreffen werden die Änderungen, die Prozeß A durchgeführt hat, durch die Änderungen, die von Prozeß B durchgeführt werden, zunichte gemacht.

Es ist also offensichtlich, daß diese zwei Prozesse synchronisiert werden müssen. Eine Lösung besteht darin, daß ein Prozeß mit der Operation Lock einen Satz sperrt und mit Unlock die Sperre des Satzes wieder aufhebt. Schließt der sperrende Prozeß die Datei oder beendet er seine Ausführung, hebt das System automatisch die Sperre wieder auf. Die Sperre soll in Bezug auf Dauer und Umfang so gering wie nur möglich sein. Eine Sperre kann entweder den vollständigen Zugriff oder nur das Schreiben des Satzes verbieten.



Diese Abbildung zeigt wie zwei Prozesse versuchen, jeweils zwei Sätze zu sperren. Prozeß A muß beim Versuch den Satz y zu sperren, warten, da dieser bereits von Prozeß B gesperrt wurde. Prozeß B wird beim Zugriff auf den Satz x blockiert, hier entsteht die klassische Situation der Verklemmung.

Dehnt ein Prozeß eine Satzsperre sehr lange aus, kann dies in der Praxis sehr unangenehm sein.



Diese Situation ist keine Verklemmung, da der Prozeß A den Satz x früher oder später freigeben wird. Laufen diese Prozesse im Rahmen einer Echtzeit-Anwendung, kommt es so zu einer Verzögerung von unbestimmter Dauer. Muß beim Sperren eines Satzes nicht unbedingt auf das Freiwerden des Satzes gewartet werden, kann die Gefahr der Verklemmung und die der Verzögerung ausgeschalten werden. Nach einem erfolglosen Versuch mit mehr oder weniger langer Wartezeit kann der Prozeß in einer der Anwendung angepaßten Weise reagieren.

 
 

Datenschutz
Top Themen / Analyse
indicator Bubble Sort (Sortieren durch Austauschen)
indicator Wie komme ich zu einem Internet-Anschluss?
indicator Peripheriebusse
indicator Apple --
indicator Pentium MMX
indicator Reibungsplotter
indicator Suchalgorithmen
indicator Universal Serial Bus - USB
indicator SMB
indicator Vorteile


Datenschutz
Zum selben thema
icon Netzwerk
icon Software
icon Entwicklung
icon Windows
icon Programm
icon Unix
icon Games
icon Sicherheit
icon Disk
icon Technologie
icon Bildung
icon Mp3
icon Cd
icon Suche
icon Grafik
icon Zahlung
icon Html
icon Internet
icon Hardware
icon Cpu
icon Firewall
icon Speicher
icon Mail
icon Banking
icon Video
icon Hacker
icon Design
icon Sprache
icon Dvd
icon Drucker
icon Elektronisches
icon Geschichte
icon Fehler
icon Website
icon Linux
icon Computer
A-Z informatik artikel:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

Copyright © 2008 - : ARTIKEL32 | Alle rechte vorbehalten.
Vervielfältigung im Ganzen oder teilweise das Material auf dieser Website gegen das Urheberrecht und wird bestraft, nach dem Gesetz.
dsolution