Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Klatsch und Tratsch (https://www.delphipraxis.net/34-klatsch-und-tratsch/)
-   -   Auslagerungsdatei pagefile.sys als Zwischenspeicher nutzen (https://www.delphipraxis.net/183982-auslagerungsdatei-pagefile-sys-als-zwischenspeicher-nutzen.html)

jus 17. Feb 2015 19:04

Auslagerungsdatei pagefile.sys als Zwischenspeicher nutzen
 
Hallo,

ich bin letzte Woche im Zug neben einen Typen gesessen, der eine Aussage getroffen, das mich nicht mehr losgelassen hat. Und zwar hat er behauptet, dass deren Warenwirtschaftssoftware, die auf verschiedene Clientrechner installiert sind, die Daten zunächst auf den jeweiligen Rechner im Hauptspeicher und auch in der Windowsauslagerungsdatei halten, nach einer Weile die Daten auf einen Datenbankserver übertragen. Das ist zunächst mal nichts ungewöhnliches. Aber im Falle eines Absturzes, stehen angeblich die Daten in der Windows Auslagerungsdatei Pagefile.sys und das Programm kann selbstständig die noch nicht übertragenen Daten aus dem Pagefile.sys nach dem Reboot auslesen und die dann zum Datenbankserver schicken. Ich dachte immer, dass man keinen Einfluß hat auf die Windowsauslagerungsdatei hat und spätestens nach einem Reboot, müßte die Auslagerungsdatei von Windows neu erstellt sein oder? Hat er da nur ein Märchen erzählt?

Lg,
jus

hathor 17. Feb 2015 19:21

AW: Auslagerungsdatei pagefile.sys als Zwischenspeicher nutzen
 
Kommt auf die WINDOWS-Version an.
Ich habe WIN8.1.
Folgendes ist mir mal passiert:
Ich war hier im Forum und schrieb einen Text - so wie jetzt!
Plötzlich schaltete sich das Notebook aus.
Ich wartete 5 Sek. und schaltete es wieder ein.
Es bootete ganz normal.
Danach startete ich Firefox.
Und wo lande ich?
Im offenen Editor dieses Forums!
Ich schrieb weiter und konnte den Text absenden, als wäre nichts gewesen.

Dalai 17. Feb 2015 19:27

AW: Auslagerungsdatei pagefile.sys als Zwischenspeicher nutzen
 
@hathor: Das hat aber damit nichts zu tun, denn das Forum hier speichert den geschriebenen Text in regelmäßgen Intervallen zwischen - und dein Browser natürlich deine Sitzung (geöffnete Tabs/Fenster). IIRC ist das ein kurz erscheinender gelb unterlegter Text "Speichern" oder so ähnlich. AFAIK ist das ein Feature von vBulletin, denn bei Planet3dnow gibt's das ebenfalls. Aber nimm dir mal ein anderes Forum, dort wirst du deinen Text nicht wiedersehen, es sei denn, er liegt noch im Cache deines Browsers (unwahrscheinlich).

MfG Dalai

Namenloser 17. Feb 2015 19:27

AW: Auslagerungsdatei pagefile.sys als Zwischenspeicher nutzen
 
Halte ich für Unsinn. Woher soll das Programm denn wissen, wo in der Auslagerungsdatei seine Daten stehen? Die müssen ja nicht mal am Stück dort drinstehen, sondern können sonstwie fragmentiert sein. Um irgendwas mit der Datei anfangen zu können, müsste man die Pagetable kennen, und ich glaube nicht, dass die den RAM jemals verlässt, außer bei Suspend-To-Disk (und das beträfe dann eher die hiberfil.sys).

Wahrscheinlich hat der Kollege im Zug da irgendwas falsch verstanden.

jus 17. Feb 2015 19:29

AW: Auslagerungsdatei pagefile.sys als Zwischenspeicher nutzen
 
hmmm... als theoretisch möglich.... :?:
Der Typ hatte auch was gefaselt, dass die bei den Kunden Windows 7 und SSD einsetzen, und dass sowas auf XP nicht funktioniert, also das ergibt dann auch wieder mehr Sinn.... hast du da nähere Infos?

Lg,
jus

Namenloser 17. Feb 2015 19:35

AW: Auslagerungsdatei pagefile.sys als Zwischenspeicher nutzen
 
Zitat:

Zitat von Dalai (Beitrag 1290256)
@hathor: Das hat aber damit nichts zu tun, denn das Forum hier speichert den geschriebenen Text in regelmäßgen Intervallen zwischen - und dein Browser natürlich deine Sitzung (geöffnete Tabs/Fenster). IIRC ist das ein kurz erscheinender gelb unterlegter Text "Speichern" oder so ähnlich. AFAIK ist das ein Feature von vBulletin, denn bei Planet3dnow gibt's das ebenfalls. Aber nimm dir mal ein anderes Forum, dort wirst du deinen Text nicht wiedersehen, es sei denn, er liegt noch im Cache deines Browsers (unwahrscheinlich).

Hat nicht mal was mit der Forensoftware zu tun. Firefox hat eine eingebaute Sitzungswiederherstellung, die bei einem Absturz des Browsers (oder Betriebssystems) automatisch alle Tabs der letzten Sitzung und ggf. sogar Formularinhalte wiederherstellt.

Mit der Auslagerungsdatei hat das aber auch rein gar nichts zu tun. Die Sitzungsdaten werden einfach in regelmäßigen Abständen in eine gewöhnliche Datei gespeichert.

himitsu 17. Feb 2015 20:31

AW: Auslagerungsdatei pagefile.sys als Zwischenspeicher nutzen
 
Was in der Auslagerungsdatei oder im RAM landet, daß kann ein Programm nicht steuern.
Und selbst wenn, sobald dem Programm Arbeitspeicher (RAM/PageFile) neu zugewiesen wird, dann ist der absichtlich leer (voller Nullen).


Antwort: Nein.
Und zwar absichtlich, aus Sicherheitsgründen.

Nicht daß irgendein Programm mal zufällig z.B. ein Passwort aus einer alten Programminstanz lesen kann.

Der schöne Günther 17. Feb 2015 20:38

AW: Auslagerungsdatei pagefile.sys als Zwischenspeicher nutzen
 
Die Überschrift liest sich wie eine BND-interne Anleitung für Programmierung von Stuxnet und Konsorten.

Namenloser 17. Feb 2015 21:06

AW: Auslagerungsdatei pagefile.sys als Zwischenspeicher nutzen
 
Zitat:

Zitat von himitsu (Beitrag 1290268)
Was in der Auslagerungsdatei oder im RAM landet, daß kann ein Programm nicht steuern.

Man kann allerdings glaube ich Präferenzen setzen, ob eine bestimmte Seite immer im RAM vorgehalten werden soll oder ruhig ausgelagert werden darf.

himitsu 17. Feb 2015 21:13

AW: Auslagerungsdatei pagefile.sys als Zwischenspeicher nutzen
 
Ja, immer im RAM, aber nicht immer ausgelagert :zwinker:, denn das geht sowieso nicht.

hathor 17. Feb 2015 21:21

AW: Auslagerungsdatei pagefile.sys als Zwischenspeicher nutzen
 
Was ich in #2 beschrieb, habe ich schon einmal hier berichtet:
http://www.delphipraxis.net/1281059-post19.html

Dalai 17. Feb 2015 21:36

AW: Auslagerungsdatei pagefile.sys als Zwischenspeicher nutzen
 
[OT]

Zitat:

Zitat von hathor (Beitrag 1290279)
Was ich in #2 beschrieb, habe ich schon einmal hier berichtet:
http://www.delphipraxis.net/1281059-post19.html

Und weiter? Das hat aber nichts mit dem Pagefile zu tun! Das wird auch dann noch funktionieren, wenn die Auslagerungsdatei komplett ausgeschaltet ist. Das ist die Sitzungswiederherstellung vom Browser, ggf. in Verbindung mit dem erwähnten Speichern der Beiträge durch das Forum hier.

[/OT]

MfG Dalai

jbg 18. Feb 2015 11:07

AW: Auslagerungsdatei pagefile.sys als Zwischenspeicher nutzen
 
Vielleicht war das auch nur eine Beschreibung von Memory Mapped Files. Denn da wäre das genau so wie beschrieben, mit dem Unterschied, dass es nicht die PageFile ist sondern jede X-beliebige Datei.

p80286 18. Feb 2015 23:30

AW: Auslagerungsdatei pagefile.sys als Zwischenspeicher nutzen
 
Nun ich kenne einen Superprogrammierer, der zu DOS-Zeiten mit einer ungeraden Anzahl Buffers seine DB zu ungeahnten Performancesprüngen verholfen hat.
In der Zwischenzeit hat er ähnliche Vorschläge für die Registry zur Hand.

Gruß
K-H

BUG 18. Feb 2015 23:57

AW: Auslagerungsdatei pagefile.sys als Zwischenspeicher nutzen
 
Zitat:

Zitat von jbg (Beitrag 1290333)
Vielleicht war das auch nur eine Beschreibung von Memory Mapped Files. Denn da wäre das genau so wie beschrieben, mit dem Unterschied, dass es nicht die PageFile ist sondern jede X-beliebige Datei.

Würde ich auch vermuten. Um tatsächlich nach dem Absturz konsistente Daten zu haben braucht etwas mehr Aufwand (-> Transaktionen), aber im Prinzip ist das gut möglich.

Sir Rufo 19. Feb 2015 01:22

AW: Auslagerungsdatei pagefile.sys als Zwischenspeicher nutzen
 
Zitat:

Zitat von BUG (Beitrag 1290525)
Zitat:

Zitat von jbg (Beitrag 1290333)
Vielleicht war das auch nur eine Beschreibung von Memory Mapped Files. Denn da wäre das genau so wie beschrieben, mit dem Unterschied, dass es nicht die PageFile ist sondern jede X-beliebige Datei.

Würde ich auch vermuten. Um tatsächlich nach dem Absturz konsistente Daten zu haben braucht etwas mehr Aufwand (-> Transaktionen), aber im Prinzip ist das gut möglich.

Das mit den konsistenten Daten ist kein Problem und eine (Datenbank-)Transaktion pfuscht mir da auch nicht rein, im Gegenteil, die sorgt eben genau für die Konsistenz auch in diesem Fall.

Es gibt einfach zwei Arten von Transaktionen:
  1. Datenbank-Transaktion
  2. Business-Transaktion
(siehe Martin Fowler - Pessimistic Offline Lock oder Martin Fowler - Optimistic Offline Lock)

Der Zaubertrick ist jetzt eine Sicherung jedes Schritts der Business-Transaktion in einer Datei (wie auch immer geartet). Bei einem Absturz kann dann die Business-Transaktion daraus einfach wiederhergestellt werden. Zum Abschluss der Business-Transaktion wird natürlich der Datenbank-Server benötigt. Die Business-Transaktion spult nun alles an den DB-Server (in einer DB-Transaktion) rüber. Ist das erfolgreich abgeschlossen worden, wird auch die Business-Transaktion abgeschlossen.

Bricht jetzt die Verbindung zum DB-Server zusammen, dann ist einfach die Business-Transaktion noch offen. Der DB-Server wird nach einem Timeout einfach die Session und damit auch die DB-Transaktion killen und es ist nichts passiert. Bei der nächsten Verbindung zur DB wird das ganze Spiel wiederholt.

Diese Datei mit der Business-Transaktion kann man auch gut und gerne als Auslagerungsdatei bezeichnen, und schon wissen wir woher dieser (Aber)glaube mit der pagefile.sys kommt ;)

Dejan Vu 19. Feb 2015 06:45

AW: Auslagerungsdatei pagefile.sys als Zwischenspeicher nutzen
 
Was der Typ beschrieben hat, nennt sich auch briefcase model.

himitsu 19. Feb 2015 09:26

AW: Auslagerungsdatei pagefile.sys als Zwischenspeicher nutzen
 
Selbst im Dateisystem (NTFS) und der Registry kann man mit Transaktionen arbeiten.
Und ich kenne kein Setup oder sonstwas, wo das genutzt wird. :shock:

Bernhard Geyer 19. Feb 2015 09:42

AW: Auslagerungsdatei pagefile.sys als Zwischenspeicher nutzen
 
Zitat:

Zitat von himitsu (Beitrag 1290553)
Und ich kenne kein Setup oder sonstwas, wo das genutzt wird. :shock:

AFAIK waren die Stunden die ein D200x bei der Installation gebraucht hat daran begründet das hier das alles in einer (MSI-)Transaktion gelaufen ist.
Und da bei einer Installation auch Registry dabei ist wurde evtl. hier auch die Registry-Einträge über eine Transaktion geschützt.

Sir Rufo 19. Feb 2015 10:01

AW: Auslagerungsdatei pagefile.sys als Zwischenspeicher nutzen
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1290556)
Zitat:

Zitat von himitsu (Beitrag 1290553)
Und ich kenne kein Setup oder sonstwas, wo das genutzt wird. :shock:

AFAIK waren die Stunden die ein D200x bei der Installation gebraucht hat daran begründet das hier das alles in einer (MSI-)Transaktion gelaufen ist.
Und da bei einer Installation auch Registry dabei ist wurde evtl. hier auch die Registry-Einträge über eine Transaktion geschützt.

Die Frage ist doch, wie wurde diese Transaktion denn konkret realisiert.

Über die Transaktions-Logik der Registry oder eine eigene Implementierung. Ich würde mal auf eine eigene Logik tippen (oder beides)

himitsu 19. Feb 2015 10:07

AW: Auslagerungsdatei pagefile.sys als Zwischenspeicher nutzen
 
Siehe VolumeShadowService ... Es muß nicht langsam nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz