Virtuelle Festplatte mit .NET erstellen?

8

Ich habe diesbezüglich eine Menge guter Themen zu Stack Overflow gefunden, aber meine Frage ist etwas konkreter. Viele Unternehmen verwenden diese Software, um dieselben Dienste zu hosten wie wir ...

Ссылка

Offenbar ist die Lese- / Schreibgeschwindigkeit auf einer virtuellen Festplatte wahnsinnig schneller, und da wir sehr intensive I / O-Software betreiben, möchte ich etwas schreiben, um dasselbe zu tun. Meine einzigen Bedürfnisse sind, dass es die Anwendung auf einem virtuellen Laufwerk (für die erhöhten E / A-Geschwindigkeiten) ausführt und die Daten alle x Minuten an den physischen Speicherort auf der Festplatte kopiert.

Wäre das ziemlich einfach zu erreichen? Worauf sollte ich bei der Verwendung achten?

BEARBEITEN

Es sieht so aus, als ob ich die folgende Dokan-Bibliothek verwenden kann, aber würde in Windows-Ausgaben "subst" -Befehle geben, wenn I / O-Leistung zunimmt, oder wäre diese Bibliothek die beste Wahl?

Ссылка

    
John Saunders 29.07.2011, 12:26
quelle

2 Antworten

7

Dies ist wirklich keine C # /. NET-Frage, außer Sie möchten Ihren eigenen RAM-Disk-Treiber schreiben. Treiber wie der auf Ihrem Link gibt es seit langem, und sie haben wahnsinnige Lese- / Schreibgeschwindigkeiten, auf Kosten der RAM-Verfügbarkeit für Ihre Anwendung und das Betriebssystem. Das kann in Ihrem Fall kein Problem sein, wenn die Maschine viel RAM hat.

Der Programmteil ist das periodische Schreiben von RAM-Disk-Inhalten auf die Festplatte. Da eine RAM-Disk normalerweise nur als ein anderes Laufwerk angezeigt wird, ist es eine einfache Angelegenheit, Dateien von dieser auf eine physische Festplatte zu kopieren. Sie könnten dies in C # tun, aber es würde in einer Reihe von Skriptsprachen genauso gut funktionieren.

Wenn dies eine High-End-Anwendung ist, schauen Sie sich Solid-State-SATA-Laufwerke an. Sie haben Lese- / Schreibgeschwindigkeiten erheblich schneller als Festplatten, und die Daten bleiben bei Abstürzen, Stromausfällen usw. bestehen.

    
Norman Kraft 29.07.2011, 12:48
quelle
0

Wenn Sie ein RAM-Laufwerk benötigen, benötigen Sie einen Block-Gerätetreiber, der im Kernel-Modus funktioniert. Das Problem mit Dokan ist, dass (a) dies ein Dateisystemtreiber ist, und das erfordert viel zusätzliche Arbeit für Sie, (b) es ruft Ihren Benutzermoduscode zurück, und dies verursacht eine Verlangsamung, (c) es ist kostenlos, was ist nicht stabil genug für den Produktionseinsatz.

    
quelle

Tags und Links