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 SpeichereinrichtungenInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic 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
- 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.
- 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.
- 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.
- 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.
- 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.
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)
| 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)
| 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. |
-
1995
- 1995-07-06 US US08/498,996 patent/US5675781A/en not_active Expired - Lifetime
-
1996
- 1996-07-01 DE DE69600588T patent/DE69600588T2/de not_active Expired - Fee Related
- 1996-07-01 EP EP96650025A patent/EP0756228B1/de not_active Expired - Lifetime
- 1996-07-08 JP JP8178020A patent/JPH0934768A/ja active Pending
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 |