Der Martin: UNIX + move gleichzeitig möglich

Beitrag lesen

Hi Romy,

ich hätte mal ein Frage an die Unix/Linux-Experten.

bin ich nicht - aber mit den Grundlagen von Betriebssystemen im allgemeinen kenn' ich mich ein bissl aus. :-)

Wenn 2 Skripte gleichzeitig folgenden Befehl ausführen würden:
mv blubber blubber1
gewinnt dann ein Skript und das andere bekommt immer ein cannot access denied oder ist es möglich, dass beide scheinbar gewinnen und keinem Skript ein cannot access mitgeteilt wird?

Was meinst du mit "cannot access denied"? ;-)

Nehmen wir mal zwei verschiedene Szenarien.

1. Einprozessorsystem
Eine echte Gleichzeitigkeit verschiedener Prozesse gibt's hier nicht. Stattdessen springt die CPU in schneller Folge zwischen den aktiven Prozessen hin und her, so dass der Eindruck von gleichzeitiger Ausführung entsteht. Aber in jedem Fall ist eindeutig *eins* der beiden Scripte das erste, das die Anforderung "move/rename" ans Betriebssystem absetzt.
Kommt die Anforderung des zweiten Scripts nun, bevor das Umbenennen abgeschlossen ist, wird dieses zweite Script vermutlich schon ein "file not found" bekommen.

2. Mehrprozessorsystem
Hat ein Rechner mehrere CPUs, die unabhängig voneinander verschiedene Prozesse bearbeiten können, dann ist auch echte Gleichzeitigkeit möglich. Eine Kollision gleichzeitig eintreffender move/rename-Anforderungen ist daher vorstellbar; es liegt aber in der Verantwortung des Betriebssystems, diese Kollision sinnvoll zu handeln und einem der beiden Prozesse den Vorzug zu geben. Das Ergebnis dürfte dann aber dasselbe sein wie beim Einprozessorsystem.

Zugegeben eine sehr hypothetische Frage ;)

Eigentlich nicht. Okay, der konstruierte Fall der (Quasi-)Gleichzeitigkeit ist unwahrscheinlich. Aber genau solche Konfliktsituationen müssen beim Design eines Betriebssystems durchaus berücksichtigt werden.

Mich würde dies interessieren, da ich gerade auf Fehlersuche bin und ich eine solche Stelle als Ursache gefunden habe, aber mir keiner glaubt, da es wohl unmöglich ist, dass dies passiert.

Da kann ich jetzt nichts dazu sagen, solange ich die näheren Umstände nicht kenne.

So long,
 Martin

--
Wer im Glashaus sitzt, sollte Spaß am Fensterputzen haben.