[go: up one dir, main page]

DE69600588T2 - Erweitern der Datenträgerverwaltung von Informationsspeichereinrichtungen zum Behandeln des direkten Zugriffs zu Speichereinrichtungen - Google Patents

Erweitern der Datenträgerverwaltung von Informationsspeichereinrichtungen zum Behandeln des direkten Zugriffs zu Speichereinrichtungen

Info

Publication number
DE69600588T2
DE69600588T2 DE69600588T DE69600588T DE69600588T2 DE 69600588 T2 DE69600588 T2 DE 69600588T2 DE 69600588 T DE69600588 T DE 69600588T DE 69600588 T DE69600588 T DE 69600588T DE 69600588 T2 DE69600588 T2 DE 69600588T2
Authority
DE
Germany
Prior art keywords
open
request
requested
volume
exclusive
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69600588T
Other languages
English (en)
Other versions
DE69600588D1 (de
Inventor
Howard Colorado Springs Colorado 80919 Alt
William W. Colorado Springs Colorado 80919 Duncan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of DE69600588D1 publication Critical patent/DE69600588D1/de
Application granted granted Critical
Publication of DE69600588T2 publication Critical patent/DE69600588T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

    Hintergrund der Erfindung Gebiet der Erfindung
  • Diese Erfindung bezieht sich auf ein Datenträger-Managementsystem, wobei das System, das den Datenträgermanagement-Treiber verwendet, ferner direkt auf eine Speichervorrichtung zugreifen kann, ohne mit dem Datenträger- Managementsystem in Konflikt zu geraten.
  • Genauer bezieht sich die Erfindung auf die Vergrößerung des Datenträgermanagement-Treibers in einem UNIX-Betriebssystem, um eine Fähigkeit hinzuzufügen zum Operieren in einer Weise, die dem Benutzer erlaubt, direkte Anweisungen über die Datenträgermanagementsystem-Treiber an eine Vorrichtung auszugeben.
  • Beschreibung des Standes der Technik:
  • In einem UNIX-Betriebssystem sind Datenträgermanagementsysteme für Vorrichtungen enthalten, insbesondere für Plattenlaufwerkvorrichtungen, um das Speichern von Informationen auf optischen oder magnetischen Platten in einem Speichersystem zu verwalten. Die Datenträgermanagementsoftware ist Teil des Kerns im UNIX-Betriebssystem. Die Aufgabe dieser Datenträgermanagementsoftware besteht darin, die Speichermedien zu verwalten, im Gegensatz zum Management der Speichervorrichtung. Zum Beispiel würde die Datenträgermanagementsoftware auf die Speichermedien über den Namen zugreifen, wie z. B. den Datenträgernamen für eine Diskette in einem Diskettenlaufwerk oder für Zylinder in einem Festplattenlaufwerk. Bevor das Daten trägermanagement zur Verfügung stand stellte ein Gerätebetreiber im UNIX-Kern einen direkten Zugriff auf ein Gerät über den Gerätenamen zur Verfügung, wie z. B. das Plattenlaufwerk A oder das Plattenlaufwerk C.
  • Der vorliegende Entwurf von Datenträgermanagementsystem- Treibern wird als geschichtet bezeichnet. Als ein Beispiel des Betriebs in einem geschichteten Datenträgermanagementsystem zeigt die Fig. 1 eine Datenträgerleseoperation. Die Operation 11 vom Anwendungsprogramm (Benutzer) zum Betriebssystemkern ist "read/vol,", d. h. eine Anfrage zum Lesen von Daten aus einem Ort, der als Speichermediumlaufwerk identifiziert ist. Der Prozeß läuft von der gelesenen Anfrageoperation 11 vom Benutzer zum Kern des UNIX-Betriebssystems, wo ein Gerätetreiber in einer ersten Schicht im Datenträgermanagementsystem das Blockgerätemodul "bdev-strategy(vol-dev)" 12 ist. Der Gerätetreiber 12 in dieser ersten Schicht interpretiert die Leseoperation für den Datenträger und identifiziert den Typ (Speicher, Drucker, Anzeige und dergleichen) des Gerätes, wie er durch den Parameter "(vol-dev)" spezifiziert wird. Die Datenträgerparameter identifizieren in diesem Fall einen Speichertyp des Gerätes. Diese erste Treiberroutine 12 ruft das Modul 14 "volstrategy(vol-dev)" in der nächsten Schicht auf. Die Routine 12 weiß, daß sie für die empfangenen Parameter vol-dev volstrategy(vol-dev) aufrufen muß. Das Modul 14 interpretiert ferner die Parameter vol-dev, die es vom Modul 12 empfangen hat, und identifiziert das Speichergerät oder das Speichersystem, auf dem der Datenträger angeordnet ist. Das Modul volstrategy 14 fährt anschließend die Routine 16 in der Gerätetreiberschicht 12 zurück. Das Modul 14 identifiziert die Nummer vol-dev, die sie als aktuelle Gerätenummer "tp-> vol-dev" empfangen hat, so daß sie diese an die Blockgerätetreiberroutine 16 "bdev-strategy(tp-> vol-dev)" weiterleitet. Die Routine 16 identifiziert einen Typ von Speichergerät, ein Festplattenlaufwerk, ein Diskettenlaufwerk oder ein weiteres Speichersystem. In diesem Beispiel ist das Gerät ein Diskettenlaufwerk. Die Routine 16 ruft das Modul 18 auf, das der Diskettengerätetreiber für das Diskettenlaufwerk ist, auf dem sich der Datenträger befindet. Das Modul 18 ist die unterste Ebene, wobei in diesem Beispiel das Modul 18 "fdstrategy(fd-dev)" ist, eine Diskettenlaufwerksroutine.
  • In diesem geschichteten Datenträgermanagementsystem wird das Gerät, das schließlich geöffnet wird und den Datenträger enthält, auf den zugegriffen wird, exklusiv durch das Datenträgermanagementsystem geöffnet. Es ist daher für eine direkte Zugriffsleseoperation wie z. B. die Operation 19 "read/device" vom Benutzer nicht möglich, Zugriff auf das Gerät zu erhalten, auf das bereits vom Datenträgermanagementsystem zugegriffen wird. Dies ist in Fig. 1 durch den blockierten Pfad zwischen der Operation 19 und dem Modul 18 gezeigt.
  • In der Vergangenheit waren die Benutzer nicht fähig, direkt Zugriff auf ein Gerät zu erlangen, und konnten auf dieses nur über das Datenträgermanagementsystem zugreifen, wobei sie jedoch zuerst über eine Datenträgerprüfanweisung gehen und anschließend einen Pfad vom Datenträger hinunter bis zum Gerät angeben mußten, wo die Informationen auf dem Datenträger angeordnet sind, auf die zugegriffen werden soll. Dieses Niveau an Komplexität für den Benutzer, um auf ein Gerät zugreifen zu können, hat viele Benutzer veranlaßt, das Datenträgermanagement abzuschalten und nur direkte Gerätezugriffsanweisungen zu verwenden. Es wird die Möglichkeit benötigt, ein UNIX-Betriebssytem zu haben, das sowohl eine Datenträgermanagementzugriffsanweisung vom Benutzer als auch eine direkte Gerä tezugriffsanweisung vom Benutzer ohne Konflikte interpretieren kann.
  • Der direkte Zugriff auf ein Gerät durch mehrere Schichten von Treibern bezieht sich im Stand der Technik typischerweise auf gestapelte Gerätetreiber. In gestapelten Gerätetreibern sind die mittleren Treiber transparent. Dementsprechend kann die Leseanweisung vom Benutzer hinunter bis zur Gerätetreiberschicht und in die Speichergerätetreiberschicht vorrücken, ohne irgendeine Datenträgerpfadspezifizierung durch den Benutzer. Was der Benutzer benötigt, kann als ein Datenträgermanagementsystem bezeichnet werden, das sowohl geschichtet als auch gestapelt ist.
  • Der folgende Stand der Technik bezieht sich im allgemeinen auf das Problem der Vorrichtungs- oder Datenträgerzugriffskonflikte in einer UNIX-Umgebung.
  • Zum Beispiel ist die EP-A-0.482.853 auf ein Datenträgermanagementsystem in einer UNIX-Umgebung gerichtet. Genauer bezieht sich die Anmeldung auf das Erhalten eines Datenträgergruppenstatusbereichs zum Verfolgen von Aktualisierungen der Datenträger in einer Datenträgergruppe. Es wird jedoch kein Verwalten der Kombination eines Datenträgeröffnung-Ausführungssystems und eines Geräteöffnung-Ausführungssystems gelehrt oder vorgeschlagen, wie es in der vorliegenden Erfindung beschrieben und beansprucht ist.
  • IBM TECHNICAL DISCLOSURE BULLETIN, Bd. 34, Nr. 10A, 1. März 1992, S. 124-125 offenbart einen "mechanism to allow cascaded device drivers to pass along select/poll I/O event requests".
  • Die WO-A-91 19246 enthält eine Beschreibung eines Prozesses zum Öffnen und Schließen eines Plattenlaufwerkgerätes.
  • Die US-A-4.819.159 bezieht sich auf einen fehlertoleranten Systembildungsblock (SBB) oder Manager, bei dem dann, wenn ein Fehler von einem solchen Manager in der Steuerung ("Besitz") einer Platte vorliegt, ein zweiter SBB die Steuerung der Platte übernimmt.
  • Dieser Stand der Technik enthält keine Lehre über das Management von sowohl Datenträgerzugriffsanfragen als auch Gerätezugriffsanfragen, wie es in der vorliegenden Erfindung beschrieben und beansprucht wird.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine Vorrichtung und ein Verfahren zum Verwalten des Zugriffs auf Speichergeräte mittels Benutzeranfragen an ein Berechnungssystem, gemäß den folgenden Ansprüchen 1 und 8.
  • Es ist eine Aufgabe dieser Erfindung, ein geschichtetes und gestapeltes Datenträgermanagementsystem zu schaffen.
  • Gemäß dieser Erfindung wird die obige Aufgabe gelöst durch ein Berechnungssystem, das ein Datenträgermanagementsystem zum Speichern von Informationen betreibt und den Benutzern des Datenträgermanagementsystems parallele Verarbeitungspfade für den Zugriff auf ein Speichergerät als eine Datenträgerzugriffsoperation oder als eine Gerätezugriffsoperation zur Verfügung zu stellen. Ferner verhindert das Datenträgermanagementsystem, daß die zwei parallelen logischen Operationen miteinander in Konflikt geraten, indem es eine Datenträgeröffnungsoperation und eine Geräteöffnungsoperation durchführt, die durch Setzen und Löschen von Datenträgerdaten indirekt kommunizieren. Die Datenträgerdaten sind Meta-Daten, die Eigenschaften des Datenträgers, auf den zugegriffen wird, und des Gerätes, auf das zugegriffen wird, beschreiben. Die Meta- Daten enthalten einen Öffnungszähler und einen Exklusivmerker, um den Öffnungsstatus eines Gerätes zu verfolgen. Der Öffnungszähler zeigt an, wann das Gerät offen ist, während der Exklusiv-Merker anzeigt, ob das Speichergerät exklusiv von entweder der Datenträgeröffnungsoperationsanfrage oder der Geräteöffnungsoperationsanfrage von einem Benutzer geöffnet worden ist.
  • Das erfinderische Verfahren umfaßt einen Computer, der die Schritte des Zugriffs auf ein Speichergerät über parallele Prozesse implementiert - einen Datenträgerzugriffsprozeß und einen Gerätezugriffsprozeß. Der Datenträgerzugriffsprozeß und der Gerätezugriffsprozeß erfassen beide, ob das angeforderte Speichergerät bereits geöffnet ist, und ob es exklusiv geöffnet ist. Diese Erfassung wird bewerkstelligt durch Prüfen eines Exklusiv-Merkers in den Datenträgerdaten für das Gerät, auf das der Benutzer Zugriff wünscht. Als nächstes prüfen der Datenträgerzugriffsprozeß und der Gerätezugriffsprozeß, ob die Anfrage eine exklusive Öffnungsanfrage ist. Diese Prüfungen ermöglichen den parallelen Prozessen, einen Öffnungszähler und einen Exklusiv-Merker für jedes Speichergerät zu halten. Durch überwachen des Öffnungszählers auf nicht-null und des Exklusiv-Merkers kann jeder Prozeß einen Belegt-Code zurückgeben, wenn das angeforderte Gerät bereits exklusiv geöffnet ist oder wenn die Anfrage eine exklusive Öffnung fordert und das Gerät bereits von einer vorangehenden Anfrage geöffnet worden ist, die noch anhängig ist, d. h. noch nicht geschlossen worden ist.
  • Der große Vorteil dieser Erfindung besteht darin, daß sie einem Benutzer ermöglicht, auf Speichergeräte entweder über eine Datenträgerzugriffsoperation oder über eine Gerätezugriffsoperation zuzugreifen. Für den Benutzer ist jeder Prozeß gleichermaßen verfügbar, wobei der Benutzer beide Prozesse parallel benutzen kann, ohne sich mit dem Sperren oder Aussetzen des Datenträgermanagementsystems zu befassen.
  • Die vorangehenden und weitere Aufgaben, Merkmale und Vorteile der Erfindung werden deutlich anhand der folgenden genaueren Beschreibung einer bevorzugten Ausführungsform der Erfindung, die in den beigefügten Zeichnungen dargestellt ist.
  • Kurzbeschreibung der Zeichnungen
  • Fig. 1 ist ein Flußdiagramm des geschichteten Datenträgermanagementsystems, wie es im Stand der Technik besteht.
  • Fig. 2 ist ein Flußdiagramm einer bevorzugten Ausführungsform der Erfindung, das sowohl das geschichtete als auch das gestapelte Datenträgermanagementsystem implementiert, um eine Leseoperation durchzuführen.
  • Fig. 3 zeigt ein Berechnungssystem zum Durchführen der vom Computer implementierten Schritte gemäß der Erfindung.
  • Fig. 4 zeigt eine bevorzugte Ausführungsform für die Datenträgeröffnungs- und Geräteöffnungsprozesse und die logischen Operationen der Erfindung.
  • Fig. 5 zeigt die Struktur der Datenträgerdaten, die den Öffnungszähler und den Exklusiv-Merker in den Meta-Daten anzeigen, die die Datenträgerdaten einleiten.
  • Fig. 6 zeigt den genauen Operationsablauf des Datenträgeröffnungsprozesses in Fig. 4.
  • Fig. 7 zeigt den genauen Operationsablauf des Geräteöffnungsprozesses in Fig. 4.
  • Fig. 8 zeigt eine bevorzugte Ausführungsform der Datenträgerschließ- und Geräteschließprozesse gemäß der Erfindung.
  • Genaue Beschreibung bevorzugter Ausführungsformen
  • Die Datenträgermanagementsystemoperationen verwenden vier Hauptoperationen - Öffnen, Lesen, Schreiben und Schließen. Jede dieser Operationen folgt dem parallelen Fluß durch die Schichten der Treibermodule. In einem Prozeßpfad sind die Schichten durch den Datenträgerzugriffsprozeß definiert. Im anderen Prozeßpfad sind die Schichten durch den Gerätezugriffsprozeß definiert. Die parallelen Prozeßpfade für die Lese- und Schreiboperationen sind unabhängige Prozeßabläufe. Die parallelen Prozeßpfade für die Öffnungsoperation und die Schließoperation müssen jedoch in Wechselwirkung treten, um Zugriffe zu verarbeiten, die die exklusive Verwendung des Gerätes erfordern.
  • Wie in Fig. 2 gezeigt, wird eine bevorzugte Ausführungsform des geschichteten und gestapelten Datenträgermanagementsystems für die Leseoperation vom Benutzer entweder durch eine Datenträgerleseoperation 20 oder eine Geräteleseoperation 22 eingeleitet. Die Datenträgerleseoperationsanfrage wird zum Gerätetreibermodul 24 "bdev-strategy(vol-dev)" weitergeleitet. Das Blockgerätestrategiemodul 24 ruft seinerseits ein Datenträgerstrategiemodul 26 auf der Grundlage des in den Parametern vol-dev identifizierten Gerätetyps auf.
  • Der Datenträgerstrategietreiber 26 ruft einen Gerätetreiber 30 auf der Grundlage des von vol-dev identifizierten Gerätes auf. Das Blockgerätestrategiemodul 30 ruft anschließend den aktuellen Gerätestrategietreiber auf, der in diesem Fall ein Diskettengerätetreibermodul 32 ist.
  • Im Prozeßablauf für die Geräteleseoperation 22 vom Benutzer ruft die Operation 22 das Blockgerätestrategiemodul 34 für ein Diskettengerät auf. Dieses Treibermodul 34 aktiviert anschließend ein Datenträgerstrategietreibermodul 28, das das Diskettenstrategiegerättreibermodul 32 aufruft. Auf diese Weise arbeiten der geschichtete Prozeß 24, 26, 30 und der gestapelte Prozeß 34, 28 für das Datenträgermanagementsystem parallel. Der Schreiboperationsablauf ist mit dem Leseoperationsablauf identisch.
  • Die Betriebsumgebung, in der die vorliegende Erfindung verwendet wird, umfaßt das allgemein verteilte Berechnungssystem, in dem Mehrzweckcomputer, Arbeitsstationen oder Personalcomputer über Kommunikationsverbindungen unterschiedlichen Typs in einer Client-Server-Anordnung verbunden sind, in der Programme und Daten, viele in Form von Objekten, von verschiedenen Elementen des Systems zur Verfügung gestellt werden. Einige der Elemente eines Mehrzweckarbeitsplatzcomputers sind in Fig. 3 gezeigt, in der ein Prozessor 1 gezeigt ist, der einen Eingang/Ausgang-(E/A)-Abschnitt 2, eine Zentraleinheit (CPU) 3 und einen Speicherabschnitt 4 besitzt. Der E/A-Abschnitt 2 ist mit einer Tastatur 5, einer Anzeigeeinheit 6, einer Plattenspeichereinheit 9 und einer CD-ROM-Laufwerkseinheit 7 verbunden. Die CD-ROM-Einheit 7 kann ein CD-ROM-Medium 8 lesen, das typischerweise Programme 10 und Daten enthält. Die Computerprogrammprodukte, die Mechanismen zum Ausführen der Vorrichtung und der Verfahren der vorliegenden Erfindung enthalten, können im Speicherabschnitt 4 oder auf einer Plattenspeichereinheit 9 oder auf der CD-ROM 8 eines solchen Systems vorhanden sein. Beispiele solcher Systeme umfassen SPARC-Systeme, die von Sun Micro Systems Inc. angeboten werden, Personalcomputer, die von der IBM Corporation und von anderen Herstellern IBM-kompatibler Personalcomputer angeboten werden, sowie Systeme, auf denen das UNIX-Betriebssystem läuft.
  • Bevor eine Zugriffsoperation (Lesen oder Schreiben) wie oben mit Bezug auf Fig. 2 beschrieben durchgeführt werden kann, müssen von einer Öffnungsoperation mögliche Konflikte beim Zugriff auf das gleiche Speichergerät durch entweder die Datenträgerleseoperation 20 oder die Geräteleseoperation 22 aufgelöst werden. Die in Fig. 4 gezeigte Öffnungsoperation beginnt entweder mit einer Datenträgeröffnungsoperations-Benutzeranfrage 36 von "open of device in/vol" oder mit einer Geräteöffnungsoperations- Benutzeranfrage 38 von "open of device in/dev". Die Datenträgeröffnungsoperation ruft das Treibermodul 40 "dev-open(vol-path)" auf.
  • Das Modul dev-open 40 ermittelt das zu öffnende Gerät anhand der Parameter vol-path und ruft das Treibermodul 42 "volopen(vol-path)" auf. Das Modul vol-open 42 prüft den Exklusivöffnungsstatus und prüft eine Exklusivöffnungsanfrage, die es von der Datenträgeröffnungsoperation 36 des Benutzers empfangen hat. Das Modul vol-open 42 arbeitet mit den Datenträgerdaten 44, die dem von der Öffnungsanfrage angeforderten Gerät zugewiesen sind. Das Modul vol-open ermittelt aus den Datenträgerdaten, ob Konflikte in den Öffnungsanfragen von der Datenträgeröffnungsoperation 36 und von der Geräteöffnungsoperation 38 vorhanden sind.
  • In Fig. 4 werden die Öffnungsanfragen von der Geräteöffnungsoperation 38 über das Treibermodul 46 "dev-open(fd-path)" zum Treibermodul 48 "vol-st-open(fd-path)" weitergeleitet. Das Modul 46 dev-open bestimmt das zu öffnende Gerät anhand der Parameter fd-path und ruft das Treibermodul 48 "vol-st-open(fd-path)" auf. Das Modul 48 vol-st-open operiert ähnlich wie das Modul 42 vol-open mit den Datenträgerdaten 44, um Konflikte bei Öffnungsanfragen von der Datenträgeröffnungsoperation 36 und von der Geräteöffnungsoperation 38 aufzulösen.
  • Die Struktur der Datenträgerdaten 44 ist in Fig. 5 gezeigt, während der Operationsablauf des Moduls volopen 42 und des Moduls vol-st-open 48 in den Fig. 6 bzw. 7 gezeigt sind. In Fig. 5 ist die Struktur der Datenträgerdaten 44 in Form von Speicherbereichen 44a erweitert gezeigt. Die Datenträgerdaten umfassen Meta-Daten, die die Eigenschaften des Datenträgers und des Geräts beschreiben, in dem sich der Datenträger befindet. Die für die bevorzugte Ausführungsform der Erfindung interessierenden Eigenschaften sind der Öffnungszähler 50 und der Exklusiv-Merker 52. Diese Eigenschaften werden vom Modul volopen 42 und vom Modul vol-st-open 48 verwendet, um Konflikte beim Zugriff auf ein Gerät aufzulösen.
  • In Fig. 6 sind der Prozeß vol-open und die Logikoperationen zum Auflösen von Konflikten gezeigt. Wenn das Modul vol-open aufgerufen wird, liest die Operation 53 die Datenträgerdateneigenschaften aus den Datenträger-Meta- Daten für das angeforderte Gerät. Die Entscheidungsoperation 54 prüft zuerst die Datenträgerdaten 44 auf einen Exklusiv-Merker für das Gerät. Wenn ein Exklusiv-Merker vorliegt, verzweigt der Prozeß zur Operation 56, wobei die Operation 56 an das Datenträgermanagementsystem einen EBUSY-Code zurückgibt. Das Datenträgermanagement verarbeitet anschließend die nächste Benutzeroperationsanfrage. Wenn kein Exklusiv-Merker für das angeforderte Gerät vorhanden ist, verzweigt der Prozeß zur Entscheidungsoperation 58.
  • Die Entscheidungsoperation 58 ermittelt, ob die Datenträgeröffnungsanfrage vom Benutzer eine Exklusivöffnungsanfrage ist. Wenn die Öffnungsanfrage nicht exklusiv ist, verzweigt der Prozeß zur Inkrementierungsoperation 60, um den Öffnungszähler in den Datenträgerdaten um 1 zu erhöhen. Die Operation 61 gewährt die Öffnungsanfrage, wobei ein Rückkehrerfolgscode zum Betriebssystem gelangt.
  • Wenn die Öffnungsanfrage exklusiv ist, verzweigt der Prozeß von der Entscheidungsoperation 58 über JA zur Entscheidungsoperation 62. Die Operation 62 prüft, ob der Öffnungszähler in den Datenträgerdateneigenschaften ungleich 0 ist. Wenn in der Öffnungszählereigenschaft irgendeine Zahl vorhanden ist, gibt die Operation 64 einen EBUSY-Code an das Datenträgermanagementsystem zurück. In dieser Situation ist das Gerät bereits geöffnet, so daß zu diesem Zeitpunkt eine exklusive Öffnung nicht möglich ist. Wenn der Öffnungszähler gleich 0 ist, verzweigt der Prozeß von der Entscheidungsoperation 62 über NEIN zur Einstelloperation 66. Die Operation 66 setzt den Exklusiv-Merker in den Datenträgerdaten für das angeforderte Gerät. Die Operation 60 inkrementiert anschließend das Öffnungszählermerkmal, wobei die Operation 61 die Öffnungsanfrage gewährt, womit die Moduloperation vol-open für den Datenträgerzugriffsprozeß abgeschlossen ist.
  • Wenn die Benutzeranfrage eine Geräteöffnungsanfrage war, werden der Prozeß oder die logischen Operationen vom Modul vol-st-open durchgeführt, wie in Fig. 7 gezeigt ist. Wenn das Modul vol-st-open aufrufen wird, liest die Operation 67 die Datenträgerdatenmerkmale für die Datenträgerdaten, die dem angeforderten Gerät zugeordnet sind.
  • Die Entscheidungsoperation 68 erfaßt, ob die Datenträgerdaten 44 einen Exklusiv-Merker für das Gerät enthalten. Wenn ein Exklusiv-Merker vorhanden ist, verzweigt der Prozeß über JA zur Rückgabeoperation 70. Die Operation 70 gibt einen EBUSY-Code an das Datenträgermanagementsystem zurück. Wenn für das angeforderte Gerät kein Exklusiv-Merker gesetzt ist, verzweigt der Prozeß zur Entscheidungsoperation 72.
  • Die Entscheidungsoperation 72 prüft, ob die Geräteöffnungsanfrage vom Benutzer eine exklusive Öffnungsanfrage ist. Wenn die Öffnungsanfrage nicht exklusiv ist, verzweigt der Prozeß zur Inkrementierungsoperation 74, um den Öffnungszähler in den Datenträgerdaten um 1 zu erhöhen. Die Operation 75 gewährt die Öffnungsanfrage, wobei zum Betriebssystem ein Erfolgscode zurückgegeben wird.
  • Wenn die Öffnungsanfrage exklusiv ist, verzweigt der Prozeß von der Entscheidungsoperation 72 zur Entscheidungsoperation 76. Die Operation 76 erfaßt, ob der Öffnungszähler in der Datenträgerdateneigenschaft ungleich 0 ist. Wenn in der Öffnungszählereigenschaft für das Gerät in den Datenträgerdaten eine Zahl vorhanden ist, verzweigt der Prozeß zur Operation 78, die einen EBUSY-Code zum Datenträgermanagementsystem zurückgibt. Wenn der Öffnungszähler gleich 0 ist, verzweigt der Prozeß über NEIN von der Entscheidungsoperation 76 zur Exklusivmerkersetzoperation 80. Die Operation 80 setzt den Exklusiv- Merker für das angeforderte Gerät in den Datenträgerdaten, wobei der Prozeß zur Operation 82 "clon me" (klone mich) vorrückt.
  • Die Operation 82 clone me ändert die Identifizierung des Gerätes für den Host, der das System benutzt. Dies veranlaßt das benutzende System, eine weitere Öffnungszählereigenschaft für das Gerät zu setzen, obwohl das Gerät, auf das zugegriffen wird, unverändert ist. Der Zweck dieser Klonoperation, die eine neue Öffnungszählereigenschaft setzt, ist, das Erscheinungsbild eines neuen Geräteöffnungszählers für jede Geräteöffnungsanfrage vom Benutzer zu erzeugen. Im UNIX-Betriebssystem werden die Geräteöffnungsoperationen vom benutzenden System für jede Öffnungsanfrage gesendet. Wenn jedoch mehrere Zugriffe auf das gleiche Gerät vorliegen, sendet das Betriebssystem nur eine Schließanfrage am Ende aller Öffnungsoperationen, d. h. beim Schließen der letzten Zugriffsoperation. Dementsprechend muß das Datenträgermanagementsystem dann, wenn es Geräteöffnungsoperationen behandelt, einen Mechanismus besitzen, um Öffnungsanfragen und Schließanfragen auszugleichen. Dies wird bewerkstelligt durch die Klonoperation 82, die eine Pseudogeräteidentität und somit Datenträgerdaten für jede Geräteöffnungsanfrage erzeugt, so daß das Betriebssystem eine Geräteschließanfrage für jede Geräteöffnungsanfrage sendet, wenn der jeweilige Zugriff beendet ist. Nach der Klonoperation 82 inkrementiert die Operation 74 die neue Öffnungszählereigenschaft für das Pseudogerät auf 1, womit die Operation vol-st-open abgeschlossen ist. Wenn der Lese- oder Schreibzugriff für den angeforderten Datenträger oder das angeforderte Gerät abgeschlossen ist, werden Schließoperationen vom Benutzer zum Kern des UNIX-Betriebssystems gesendet. Die Schließoperation ist die gleiche wie die in Fig. 4 gezeigte Öffnungsoperation, mit der Ausnahme, daß die Treibermodule Schließmodule sind. Ferner sind die Operation volclose(vol-path) und vol-st-close(fd-path) sehr viel einfacher als die Operation volopen(vol-path) und die Operation vol-st-open(fd-path).
  • Wie in Fig. 8 gezeigt, sind die Operation vol-close und die Operation vol-st-close identisch. Diese Prozesse müssen nur die Öffnungszählereigenschaft und die Exklusivmerkereigenschaft der Datenträgerdaten für das ange forderte Gerät zurücksetzen. Wenn entweder volclose oder vol-st-close aufgerufen werden, löscht der Prozeß den Öffnungszähler in der Operation 84 und den Exklusiv- Merker in der Operation 86. Das Datenträgermanagementsystem ist nun bereit, weitere Zugriffsanfragen auf das Gerät vom Benutzer entweder mittels des Datenträgerzugriffsprozesses oder des Gerätezugriffsprozesses zu verarbeiten.

Claims (11)

1. Vorrichtung in einem Computersystem für das Management des Zugriffs auf Speichergeräte durch Benutzeranforderungen (36, 38) an das Computersystem, wobei die Vorrichtung enthält:
Datenträgerdaten (44) für jedes Speichergerät, die in dem Computersystem gespeichert sind und Eigenschaften umfassen, die den geöffneten Status jedes Speichergeräts angeben;
ein Datenträgeröffnung-Ausführungssystem (40) und ein Gerätöffnung-Ausführungssystem (46), die Informationen bezüglich des geöffneten Status für ein Speichergerät, das von einem Benutzer angefordert wird, anhand der Datenträgerdaten (44) für das angeforderte Speichergerät (32) austauschen;
wobei das Datenträgeröffnung-Ausführungssystem (40) auf die Datenträgerdaten-Eigenschaften anspricht, um zu prüfen, ob das angeforderte Gerät bereits exklusiv geöffnet ist und ob die Datenträgeröffnung-Anforderung (36) von der Benutzeranwendung eine exklusive Öffnungsanforderung ist;
wobei das Gerätöffnung-Ausführungssystem (46) auf die Datenträgerdaten-Eigenschaften anspricht, um zu prüfen, ob das angeforderte Gerät bereits exklusiv geöffnet ist und ob die Gerätöffnung-Anforderung (38) von der Benutzeranwendung eine exklusive Öffnungsanforderung ist;
wobei das Datenträgeröffnung-Ausführungssystem und das Gerätöffnung-Ausführungssystem eine Öffnungsoperation (42, 48) zurückleiten, die erfolgreich einen Lese- oder Schreibzugriff auf das Gerät durch das Computersystem ermöglicht, wenn jedes Ausführungssystem erfaßt, daß das angeforderte Gerät nicht bereits ausschließlich geöffnet ist oder, falls die Anforderung eine exklusive Öffnungsanforderung ist, daß das Gerät nicht bereits geöffnet ist.
2. Vorrichtung nach Anspruch 1, wobei weiterhin:
das Datenträgeröffnung-Ausführungssystem und das Gerätöffnung-Ausführungssystem an das Computersystem einen Belegtcode (56) zurückleiten, wenn das angeforderte Speichergerät bereits exklusiv geöffnet ist (54) oder wenn das angeforderte Speichergerät bereits geöffnet ist und die Anforderung auf ein exklusives Öffnen (58) des Speichergeräts zielt.
3. Vorrichtung nach Anspruch 1 oder 2, wobei die Datenträgerdaten (44) einen Öffnungsanzeiger (50) und einen Exklusivöffnungsanzeiger (52) oder einen Exklusivmerker für jedes Speichergerät enthalten.
4. Vorrichtung nach Anspruch 3, wobei der Öffnungsanzeiger ein Öffnungszählstand (60) ist, der bei jeder Öffnungsanforderung inkrementiert wird, und wobei:
das Datenträgeröffnung-Ausführungssystem (40) und das Gerätöffnung-Ausführungssystem (46) auf einen von null verschiedenen Zählstand (62) prüfen, um zu bestimmen, ob das angeforderte Speichergerät bereits geöffnet ist.
5. Vorrichtung nach Anspruch 1, wobei die Eigenschaften in den Datenträgerdaten für jedes Speichergerät einen Öffnungszähler (50), der angibt, ob das Speichergerät geöffnet ist, sowie einen Exklusivmerker (52), der angibt (54), ob das Speichergerät exklusiv geöffnet ist, enthalten.
6. Vorrichtung nach Anspruch 5, wobei:
sowohl das Datenträgeröffnung-Ausführungssystem als auch das Gerätöffnung-Ausführungssystem einen Null- Öffnungszählstand und eine Anforderung für ein exklusives Öffnen erfassen (62), die Anforderung gewähren und in den Datenträgerdaten für das angeforderte Speichergerät einen Exklusivmerker setzen (66).
7. Vorrichtung nach Anspruch 6, wobei:
sowohl das Datenträgeröffnung-Ausführungssystem als auch das Gerätöffnung-Ausführungssystem eine nicht exklusive Öffnungsanforderung erfassen, die Anforderung gewähren und den Öffnungszählstand für das angeforderte Speichergerät inkrementieren (60).
8. Verfahren für das Management des Zugriffs auf Speichergeräte durch Benutzeranforderungen an ein Computersystem, mit den folgenden Schritten:
Speichern einer Eigenschaftsliste von Datenträgerdaten (44) für jedes Speichergerät, wobei die Eigenschaftsliste den geöffneten Status jedes Speichergeräts angibt;
als Antwort auf eine Datenträgeröffnung-Anforderung (36) oder eine Gerätöffnung-Anforderung (38) Erfassen (54), ob das angeforderte Gerät bereits exklusiv geöffnet ist, anhand der Eigenschaftsliste; und
als Antwort auf eine Datenträgeröffnung-Anforderung oder eine Gerätöffnung-Anforderung Erfassen (58), ob eine Anforderung für ein Speichergerät eine exklusive Öffnungsanforderung ist, und Prüfen (62) der Eigenschaftsliste, um zu erfassen, ob das angeforderte Gerät bereits geöffnet ist, wobei die Verfügbarkeit des Speichergeräts bestimmt wird.
9. Verfahren nach Anspruch 8, weiterhin mit den folgenden Schritten:
Zurückleiten eines Belegtcodes (56) an das Computersystem, falls das angeforderte Gerät bereits exklusiv geöffnet ist; und
Zurückleiten eines Belegtcodes (56) an das Computersystem, falls die Anforderung eine Exklusivöffnungsanforderung ist und das angeforderte Gerät bereits geöffnet ist.
10. Verfahren nach Anspruch 8 oder Anspruch 9, wobei die Eigenschaftsliste einen Öffnungszählstand, der die Anzahl momentaner Öffnungsanforderungen für jedes Gerät angibt, und einen Exklusivmerker, der angibt, ob das Gerät durch eine Anforderung exklusiv geöffnet worden ist, enthält.
11. Verfahren nach Anspruch 10, weiterhin mit den folgenden Schritten:
Gewähren (61) einer Exklusivöffnungsanforderung und Setzen des Exklusivmerkers in der angeforderten Eigenschaftsliste, falls das angeforderte Gerät nicht bereits geöffnet ist; und
Setzen des Öffnungszählers auf Nichtnull in der angeforderten Eigenschaftsliste, falls die Datenträgeröffnung-Anforderung oder die Gerätöffnung-Anforderung gewährt wird, wobei der Zugriff auf ein Speichergerät entweder als Datenträgeranforderung oder als Gerätanforderung angefordert werden kann und Konflikte zwischen den Anforderungen gemanagt werden.
DE69600588T 1995-07-06 1996-07-01 Erweitern der Datenträgerverwaltung von Informationsspeichereinrichtungen zum Behandeln des direkten Zugriffs zu Speichereinrichtungen Expired - Fee Related DE69600588T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/498,996 US5675781A (en) 1995-07-06 1995-07-06 Augmenting volume management of information storage devices to handle direct access to storage devices

Publications (2)

Publication Number Publication Date
DE69600588D1 DE69600588D1 (de) 1998-10-08
DE69600588T2 true DE69600588T2 (de) 1999-04-15

Family

ID=23983364

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69600588T Expired - Fee Related DE69600588T2 (de) 1995-07-06 1996-07-01 Erweitern der Datenträgerverwaltung von Informationsspeichereinrichtungen zum Behandeln des direkten Zugriffs zu Speichereinrichtungen

Country Status (4)

Country Link
US (1) US5675781A (de)
EP (1) EP0756228B1 (de)
JP (1) JPH0934768A (de)
DE (1) DE69600588T2 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438663B1 (en) * 1996-12-11 2002-08-20 Steeleye Technology, Inc. System and method for identifying shared virtual memory in a computer cluster
US5978815A (en) * 1997-06-13 1999-11-02 Microsoft Corporation File system primitive providing native file system support for remote storage
US6513097B1 (en) 1999-03-03 2003-01-28 International Business Machines Corporation Method and system for maintaining information about modified data in cache in a storage system for use during a system failure
US6502174B1 (en) 1999-03-03 2002-12-31 International Business Machines Corporation Method and system for managing meta data
US6438661B1 (en) 1999-03-03 2002-08-20 International Business Machines Corporation Method, system, and program for managing meta data in a storage system and rebuilding lost meta data in cache
US7113937B2 (en) * 2001-12-18 2006-09-26 International Business Machines Corporation Systems, methods, and computer program products to improve performance of ported applications, such as a database, operating on UNIX system services for the OS/390
US6877045B2 (en) 2001-12-18 2005-04-05 International Business Machines Corporation Systems, methods, and computer program products to schedule I/O access to take advantage of disk parallel access volumes
US6754734B2 (en) * 2001-12-18 2004-06-22 International Business Machines Corporation Systems, methods, and computer program products to improve performance of ported applications, such as a database
US20040064827A1 (en) * 2002-10-01 2004-04-01 Cox David P. Selection of a dispatch routine by a driver
US7610589B2 (en) * 2003-08-22 2009-10-27 Hewlett-Packard Development Company, L.P. Using helper drivers to build a stack of device objects
US7487312B2 (en) * 2004-10-12 2009-02-03 International Business Machines Corporation Apparatus, system, and method for copy protection
US7516284B2 (en) 2006-08-31 2009-04-07 International Business Machines Corporation Method for removing alias addresses from an alias address pool
JP5488049B2 (ja) * 2010-02-26 2014-05-14 富士通株式会社 情報処理装置及び実行方法
US8843676B2 (en) 2012-06-27 2014-09-23 International Business Machines Corporation Optimizing an operating system I/O operation that pertains to a specific program and file
JP5666526B2 (ja) * 2012-09-05 2015-02-12 東芝テック株式会社 ハンディターミナル装置、制御方法及び制御プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4819159A (en) * 1986-08-29 1989-04-04 Tolerant Systems, Inc. Distributed multiprocess transaction processing system and method
JPS63174122A (ja) * 1987-01-05 1988-07-18 コンピュータ・エツクス・インコーポレーテツド コンピユーターヒューマンインタフエース
CA2014799A1 (en) * 1989-05-08 1990-11-08 John W. Whisler System and method for reading and writing disks formatted for an operating system foreign to the host computer
US5179666A (en) * 1990-06-07 1993-01-12 Unisys Corporation Block oriented peripheral device interface
JPH0644218B2 (ja) * 1990-10-22 1994-06-08 インターナショナル・ビジネス・マシーンズ・コーポレイション ミラー化された記憶装置の管理方法および装置
EP0610677A3 (de) * 1993-02-12 1995-08-02 Ibm In zwei Modi arbeitender Kommunikationsgerätetreiber.

Also Published As

Publication number Publication date
EP0756228B1 (de) 1998-09-02
EP0756228A1 (de) 1997-01-29
DE69600588D1 (de) 1998-10-08
JPH0934768A (ja) 1997-02-07
US5675781A (en) 1997-10-07

Similar Documents

Publication Publication Date Title
DE69600588T2 (de) Erweitern der Datenträgerverwaltung von Informationsspeichereinrichtungen zum Behandeln des direkten Zugriffs zu Speichereinrichtungen
DE69806914T2 (de) Agentimplementierte verriegelungsvorrichtung
DE68926176T2 (de) Verwaltungssystem für lizenzierte Programme
DE60313783T2 (de) Bewegen von daten zwischen speichereinheiten
DE69502381T2 (de) Verfahren und vorrichtung zum steuern des zugriffs auf eine datenbank
DE3789175T2 (de) Programmverwaltung für mehrere zentrale Verarbeitungseinheiten.
DE60020817T2 (de) Ablaufsteuerung für Betriebsmittel
DE69429686T2 (de) Transaktionsverwaltung in objektorientiertem System
DE69222821T2 (de) Genereller Datenaustausch
DE69224189T2 (de) Hypertextsteuerverfahren und geraet, um hilfsinformationen in einem interaktiven datenverarbeitungssystem anzuzeigen
DE69630126T2 (de) Historische zustandinformation verwendendes entscheidungsprotokoll für zugriff auf ein geteiltes speichergebiet
DE3586912T2 (de) Datenverarbeitungsanlage mit geschuetzten systemdateien.
DE68927626T2 (de) Hierarchisches Mehrfachbus-Computersystem
DE69403951T2 (de) Verfahren und vorrichtung zur datenübertragung und -speicherung in einer hochparallelen rechnernetzwerkumgebung
DE3689569T2 (de) Verfahren zur Systemdateiensicherung und Datenverarbeitungseinheit zu dessen Durchführung.
DE69715967T2 (de) Quorummechanismus in einem verteilten Zweiknotenrechnersystem
DE69428972T2 (de) System und Verfahren für die Eigentumerverwaltung eines freigegebenen Synchronisationsmechanismus
DE69802437T2 (de) Feinkörniger übereinstimmungsmechanismus für optimistische parallelsteuerung mit verriegelungsgruppen
DE69322221T2 (de) Personalcomputer mit programmierbaren Schwellwert-Fiforegistern zur Datenübertragung
DE69531112T2 (de) Mechanismus zum verknüpfen von dateien auf einem emulierten system mit dem zentralsystem für den zugriff durch emulierte systembenutzer
DE69423853T2 (de) Ein-/Ausgabeobjekte in einem Betriebssystemkern
DE68924054T2 (de) Expertensystemarchitektur.
DE69617511T2 (de) Verfahren und Gerät zum Verwalten von Objekten in einer verteilten Objektbetriebsumgebung
DE69818135T2 (de) Verfahren zum Zugriff auf Datenbankinformation
DE69127025T2 (de) Fehlererkennung und -beseitigung in einem Datenverarbeitungssystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee