Handle - LinkFang.de





Handle


Der Titel dieses Artikels ist mehrdeutig. Weitere Bedeutungen sind unter Handle (Begriffsklärung) aufgeführt.

Als Handle (englisch für Griff oder Henkel) bezeichnet man in der Informatik einen eindeutigen Referenzwert zu einer vom Betriebssystem verwalteten Systemressource, wie z. B. Bildschirmobjekte oder einzelnen Dateien auf Festplatten.[1][2][3] Wenn ein Anwendungsprogramm eine solche Ressource verwenden will, erhält es durch den Aufruf einer geeigneten Systemfunktion (zum Beispiel zum Öffnen oder Erzeugen von Dateien) als Rückgabewert die Referenz, die zur weiteren Verwendung der Ressource durch Systemfunktionen anzugeben ist (etwa zum Lesen aus einer Datei).

Das Betriebssystem prüft beim Öffnen einer Ressource die Zugriffsrechte, legt – falls benötigt – intern benötigte Verwaltungsstrukturen an und koordiniert weitere Zugriffsversuche anderer Anwendungen auf die betreffende Ressource. Gibt eine Anwendung die Ressource durch einen Schließen-Aufruf wieder frei, werden die Verwaltungsstrukturen wieder abgebaut, und der Handle wird ungültig.

Weitere Bezeichnungen, die je nach Verwendung auch eine speziellere Bedeutung erhalten, sind neben Handle (Microsoft Windows), Capability (akademisch) oder Deskriptor (POSIX). Die Terminologie ist über verschiedene Systeme hinweg nicht konsistent. Beispielsweise sind POSIX-Capabilities keine Referenzen auf konkrete Systemressourcen, sondern repräsentieren die Erlaubnis, eine gewisse Aktion durchzuführen.[4]

Wenn es sich bei der betreffenden Systemressource um eine Datei handelt, wird der Handle auch als Datei-Handle, Dateideskriptor oder Dateizeiger (z. B. K&R C) bezeichnet.

Ein Handle verbindet die Identifikation einer Systemressource mit Zugriffsrechten. So kann zum Beispiel eine Anwendung, die eine Datei durch einen Systemaufruf mit Schreibrechten öffnet, durch Erhalt des Handles nachfolgend Schreiboperationen auf der Datei ausführen, indem der Handle als Ziel der Operation angegeben wird.

Das Prinzip lässt sich durch den Vergleich mit einem Geschäftszeichen im Schriftverkehr mit Ämtern veranschaulichen. Als Bürger erhält man nicht unmittelbaren Zugang zu den Unterlagen, sondern nimmt durch Angabe eines Geschäftszeichens Bezug auf den bisherigen Vorgang.

Datei-Handle

In der Programmierung mit Assembler und anderen Programmiersprachen gibt es Funktionsaufrufe zum Öffnen oder Erstellen von Dateien, die eine ganze Zahl zurückgeben. Ist diese Zahl positiv, dann ist dies ein Handle auf eine Datei, den man anschließend für weitere Operationen mit der Datei verwenden kann.[5] In fast allen Implementierungen der Programmiersprache C für heutige PC-Betriebssysteme enthält jeder Wert des Typs FILE * einen Datei-Handle. Die Standard-Datenströme stdin, stdout und stderr enthalten dann als Handle die Werte 0, 1 beziehungsweise 2. Dies ist jedoch nicht Bestandteil von Standard-C, sondern eine von UNIX-Betriebssystemen eingeführte und dann vielfach übernommene Konvention.[6]

Das NFS-Protokoll für Dateizugriffe über ein Netzwerk verwendet Datei-Handles zur Adressierung von Dateioperationen.

Weitere Bedeutungen

In Matlab erzeugt das Voranstellen des @-Zeichens vor eine Funktion einen Funktions-Handle, der mit Funktionszeigern in C vergleichbar ist.[7]

Bei Windows ist HANDLE als Datentyp definiert, wobei weitere ressourcenspezifische Datentypen davon abgeleitet werden (z. B. HBITMAP oder HBRUSH).[8]

Handle-Systeme[9] dienen zur Vergabe und Verwaltung von Identifikatoren im World Wide Web, die auch als Handles bezeichnet werden. Ähnlich wie das Domain Name System stellt das Handle-System in diesem Sinne ein Verfahren zur Auflösung von Namensräumen dar. Eine entsprechende Anwendung von solchen Handles, die im deutschsprachigen Raum bekannter ist, sind Digital Object Identifiers. Ein weiteres System sind die Persistent Uniform Resource Locators.

Literatur

  • Sam Sun, Larry Lannom, Brian Boesch: Handle System Overview. RFC 3650 , November 2003.
  • Sam Sun, Sean Reilly, Larry Lannom: Handle System Namespace and Service Definition. RFC 3651 , November 2003
  • Sam Sun, Sean Reilly, Larry Lannom, Jason Petrone: Handle System Protocol (ver 2.1) Specification. RFC 3652 , November 2003

Weblinks

Einzelnachweise

  1. Thomas W. Doeppner: Operating Systems In Depth: Design and Programming. John Wiley & Sons, 2010, ISBN 0-471-68723-5, S. 20 (eingeschränkte Vorschau in der Google-Buchsuche).
  2. http://www.htl-steyr.ac.at/~morg/pcinfo/glossar/glos6o1f.htm Handles bei Windows (deutsch)
  3. http://stackoverflow.com/questions/902967/what-is-a-windows-handle Kurzbeschreibung (englisch)
  4. Max Hailperin: Operating Systems And Middleware: Supporting Controlled Interaction. Cengage Learning, Inc, 2006, ISBN 978-0-534-42369-8, S. 242 ff. (eingeschränkte Vorschau in der Google-Buchsuche).
  5. Richard Blum: Professional Assembly Language. Wrox, 2005, ISBN 0-7645-9561-X, S. 457 (eingeschränkte Vorschau in der Google-Buchsuche).
  6. Peter Prinz, Ulla Kirch-Prinz: C: Einführung und professionelle Anwendung. S. 335 f. (eingeschränkte Vorschau in der Google-Buchsuche).
  7. Aaron R. Bradley: Programming for Engineers. A Foundational Approach to Learning C and Matlab. Springer, 2011, ISBN 3-642-23302-3, S. 204 (eingeschränkte Vorschau in der Google-Buchsuche).
  8. http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751(v=vs.85).aspx Windows data types (englisch)
  9. The Handle System – Website der Corporation for National Research Initiative (englisch)

Kategorien: Identifikator

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Handle (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.