Laden...

Verhält sich eine SSD aus Sicht des Betriebssystems anders als eine konventionelle Festplatte?

Erstellt von Curse4Life vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.424 Views
Hinweis von herbivore vor 12 Jahren

Der Original-Titel war "FYI CacheDependency funktioniert nicht auf SSD!!!". Das stimmt allerdings nicht, die SSD war nicht die Ursache. Der Startbeitrag und die folgenden Annahmen von Curse4Life treffen also nicht zu. Die folgende Diskussion ist aber in Bezug auf die Frage, was bei einer SSD aus Sicht des Betriebssystem anders oder nicht anders ist als bei einer normalen Festplatte vielleicht trotzdem interessant.

C
Curse4Life Themenstarter:in
452 Beiträge seit 2005
vor 12 Jahren
Verhält sich eine SSD aus Sicht des Betriebssystems anders als eine konventionelle Festplatte?

Hi,

ich wollte euch an meinem Wissen teilhaben das ich gerade durch Stundenlanges debuggen gefunden habe!

Ich habe auf der Arbeit etwas programmiert was den Cache benutzt mit einer CacheDependency auf eine Datei, hat alles funktioniert, Code nach Hause geschickt, laufen lassen, der Cache war immer leer!!

Ich bin fast wahnsinnig geworden, habe mein halbes Projekt debuggt, habe an meinem Verstand gezweifelt und dann kam mir die Idee, OK, ich habe eine SSD und habe was davon gelesen das der Sandforce Controller die Dateien automatisch verschlüsselt, nehme mal die CacheDependency raus und siehe da es funktioniert!!

Also, Cachen mit Abhängikeit auf eine Datei auf eine SSD mit Sandforce Controller nicht möglich!

Liebe Grüße

G
497 Beiträge seit 2006
vor 12 Jahren

ich bin mir ziemlich sicher, dass das nicht stimmt. Ob eine SSD oder eine konventionelle Festplatte am SATA-Anschluss hängt, ist dem System erstmal egal. Und was der Sandforce-Controller mit den Daten macht, bevor er sie speichert, spielt auch keine Rolle - würden die Daten verfälscht gelesen werden, wären SSDs generell unbrauchbar.

Eventuell ist auf deinem System zuhause der Webserver anders konfiguriert, so daß das System sich etwas anders verhält.

C
Curse4Life Themenstarter:in
452 Beiträge seit 2005
vor 12 Jahren

Wie gesagt, ich habe nur die CacheDependency auf die Datei raus genommen und schon funktionierts, nehme ich sie rein, funktionierts nichts mehr und ich packe die Datei nicht an mit der ich teste.

Ich teste auf beiden Systemen mit dem VS internen Webserver!
Ich habe auf beiden Systemen die selben VS Extensions installiert.

Gut, auf der Arbeit ist es ein Windows XP zu Hause ein Windows 7, aber was ist wahrscheinlicher das Windows die Dateien irgendwie anders behandelt, oder die Festplatte, von der ich weiß das sie Dateien intern verschlüsselt und zippt und sie nur normal anzeigt!

Ich glaube einfach das die CacheDependency Klasse damit nicht klar kommt weil Microsoft SSDs die Dateien intern so krass manipulieren und dem Benutzer nur vorgaukeln sie würden normal dort liegen, statt eben für diese SSD optimiert nicht auf der Rechnung hatte, weil sie ja auch viel neuer sind als das .NET Framework!

Ich habe übrigens eine OCX Vertex 3, also wirklich das neuste vom neusten!

G
497 Beiträge seit 2006
vor 12 Jahren

du bringst da was durcheinander. Microsoft bzw. Windows manipuliert Dateien überhaupt nicht. Der Sandforce-Controller optimiert Speichervorgänge, für das Betriebssystem ist das aber absolut transparent - selbst Windows bekommt davon nichts mit. Wär dem nicht so, würde nichtmal ein DOS auf einer SSD laufen, geschweige denn ein Windows mit hunderttausenden Dateizugriffen beim Systemstart, von denen nur ein einzelner fehlschlagen muss, damit das System nicht läuft.

das NET-Framework ist ziemlich hardwareunabhängig und nutzt auf unterster Ebene hauptsächlich Windows-Systemfunktionen, auch für den Dateizugriff. Ich halte es einfach für sehr unwahrscheinlich, dass es an einem Stück Hardware liegen soll, wo doch potentiell viele Unterschiede zwischen den Systemen vorliegen können. Es könnte auch ein Caching-Problem auf Dateiebene sein, aber selbst das erledigt das Betriebssystem für einen.

C
Curse4Life Themenstarter:in
452 Beiträge seit 2005
vor 12 Jahren

Ich ärgere mich, es hat mit was anderem zu tun!!

Es tut mir so leid, dass ich die Hühner scheu gemacht habe! 😭

Ich hatte kurz bevor ich nach Hause gegangen bin, noch eine Sache eingebaut, die ich auch genau einmal getestet habe und ein Request funktioniert ja immer, erst beim zweiten wo er den Cache ansteuert knallts! 😭

5.742 Beiträge seit 2007
vor 12 Jahren

In diesem Zusammenhang ist auch folgende "Weisheit" aus "The Pragmatic Programmer" ganz angebracht 😉

Number 26. “select” Isn’t Broken

It is rare to find a bug in the OS or the compiler, or even a third-party product or library. The bug is most likely in the application.

//EDIT:
@Th69: Ups... 😁