- Flag (Informatik)
-
Mit Flag [flæg] wird eine binäre Variable oder ein Statusindikator bezeichnet, welcher als Hilfsmittel zur Kennzeichnung bestimmter Zustände benutzt werden kann. Ein Flag kann gesetzt, gelöscht oder ausgelesen werden.
Flags im Prozessor
Ein Flag kennzeichnet zum Beispiel bei arithmetischen Berechnungen den Übertrag (Carry-Flag) oder den Überlauf (Overflow-Flag), siehe auch Statusregister.
Flags in der Programmierung
Mit der Einführung von Flags kann auch bei der Programmierung gearbeitet werden, um zum Beispiel das Vorliegen einer Fehlerbedingung in einem Segment an ein anderes Programmsegment zu übermitteln oder um Nutzerrechte zu realisieren.
Welches Format das Flag hat, hängt dabei von der Implementierung ab: Sowohl die typischen binären Werte 0 und 1 als auch für den Menschen verständlichere Varianten wie „Ja“ und „Nein“ können als Flag gelten. Dabei lassen sich Flags in vielen Programmiersprachen über bitweise Operatoren realisieren.
Flags, die mehr als zwei Werte annehmen können, werden nicht als „Flag“, sondern als Statusvariablen bezeichnet. Aus der englischen Sprache findet sich in der Programmierung für synchronisierende Statusvariablen auch der Begriff Semaphore.
Begriffsgeschichte
Der englische Begriff Flag ist verwandt mit deutsch Flagge, sollte jedoch nie so übersetzt werden. In der englischen Sprache hat sich eine erweiterte Begriffsbedeutung herausgebildet, bei der to flag nicht nur Flagge zeigen, setzen, hochziehen bedeutet, sondern allgemeiner signalisieren und heranwinken meint (to flag down a taxi, ein Taxi heranwinken). Dies geht vermutlich auf den Brauch in den ländlichen Gebieten der USA zurück, am Briefkasten an der (vom Haus entfernten) Grundstückszufahrt eine kleine (rote) Flagge anzubringen, die hochgedrückt wurde, wenn neue Post eingelegt wurde (eingehend oder ausgehend). Statt des umständlicheren Begriffs der Semaphore für solche Signalisierungseinrichtungen verbreitete sich der Begriff Flag – die Flaggenform und Bezeichnung als Semaphore geht auf die optische Telegrafie und das Winkeralphabet zurück.
Wikimedia Foundation.