Temporäre Dateien vs. NAND vs. SD-Card


whynodd

Member
Joined
Sep 20, 2008
Messages
262
Ich glaube, dass dieses Thema hier im Forum noch nicht explizit angesprochen wurde.

Wie sieht es mit temporären Dateien aus, die z.B. von einem Browser und vielen anderen Programmen, eventuell vom Betriebssystem selbst geschrieben werden?
Angenommen ich nutze den Firefox oder einen anderen Browser in Form einer .pnd auf der SD-Karte (sofern nicht schon im NAND vorinstalliert). Wohin werden temporäre Dateien geschrieben? Ist es überhaupt ratsam, dem Browser Temporäre zu erlauben?

Und nochwas. Ich möchte z.B. nicht, dass dauernd irgendwelche Dinge automatisch im NAND herumgeschrieben und geändert werden (Logfiles und sowas).
Wird das OS auf dem NAND so eingerichtet, dass es von sich aus so wenig wie möglich an seinen eigenen Dateien herumdoktert?

Meiner Meinung nach sollte die Firmware nichts im NAND herumschreiben und sich eher verhalten wie ein BIOS, welches nur bei selbst vorgenommenen Konfigurier-Aktionen etwas schreibt (Beispiel: Hintergrundbild ändern, oder neue Firmware flashen).

Gab es vielleicht schon den Vorschlag, dass das NAND als read-only betrachtet wird und Änderungen an diesem (statt ins NAND) auf einer SD-Karte gespeichert werden, sozusagen als Differenz? So könnte man durch einfaches Entfernen der Karte die Pandora in einen Ursprungszustand bringen und z.B. an einen Freund verleihen, der wiederum seine eigene Karte benutzt mit eigenen Einstellungen. Gibt es vielleicht ein Filesystem, welches diese Aufgabe beherrscht? Ich denke da z.B. an LiveCDs, die das in ähnlicher Weise tun.


Das waren jetzt viele Fragen auf einmal. Vielleicht kann mir einer der Linux-Erfahreneren etwas dazu sagen.
 
Whynodd said:
Gab es vielleicht schon den Vorschlag, dass das NAND als read-only betrachtet wird und Änderungen an diesem (statt ins NAND) auf einer SD-Karte gespeichert werden, sozusagen als Differenz? So könnte man durch einfaches Entfernen der Karte die Pandora in einen Ursprungszustand bringen und z.B. an einen Freund verleihen, der wiederum seine eigene Karte benutzt mit eigenen Einstellungen. Gibt es vielleicht ein Filesystem, welches diese Aufgabe beherrscht? Ich denke da z.B. an LiveCDs, die das in ähnlicher Weise tun.
Das geht tatsächlich. Machbar ist das im Grunde mit jedem beliebigen Dateisystem. Genau so etwas wird z.B. in OpenWRT (dieser Linux-Distribution für WLAN-Router) gemacht. Auf solchen Routern wird schon alleine aus Platzgründen das NAND in der Regel in zwei Teile geteilt. Ein Teil davon als Read-Only-Dateisystem das stark komprimiert ist und der Rest als beschreibbares Dateisystem. Diese beiden werden dann logisch zu einem kombiniert. Änderungen werden nur auf dem beschreibbaren vorgenommen. Wird eine Datei aktualisiert, wird die Datei im Read-Only-Dateisystem von der neuen Datei im beschreibbaren Dateisystem überdeckt.

Deine Idee ist durchaus sinnvoll und ich fände es auch sehr wünschenswert wenn an eine solche Konfiguration gedacht würde.
Zum Glück kann man aber ja im Zweifelsfall wenn einem das System im Auslieferungszustand nicht gefällt, selbst entsprechende Änderungen vornehmen.
 
Auch wenn nicht viel Arbeitsspeicher da ist: Ich würde das ganze in ein tmpfs packen. Das vermindert schreibereien auf NAND oder SD-Karte, was die Lebensdauer erhöhen sollte.
 
Whynodd said:
Gab es vielleicht schon den Vorschlag, dass das NAND als read-only betrachtet wird und Änderungen an diesem (statt ins NAND) auf einer SD-Karte gespeichert werden, sozusagen als Differenz?

Genau das ist, was unionfs macht. Müsste in den 2.6er Kerneln dabei sein, gibt es aber definitiv wenigstens als Patch.
 
Sehr berechtigte Frage wie ich finde.

Das Ganze geht ja noch weiter. Was ist mit dem /home/<benutzer>-Verzeichnis? Damit erchlaegt man auch gleich Sachen wie Bookmarks vom Browser, Einstellungen von Programmen usw, Swap-Partition (oder wird die komplett weggelassen), Logfiles (ist bereits angesprochen worden), und alles was ich noch vergessen habe.
 
Genial wäre auch, wenn man - unabhängig vom NAND-Speicher - 1 SD-Card Slot (z.B. mit einer 4GB SDHC-Card bestückt) ausschließlich dafür verwenden würde, um zum einen Temp-Dateien niederzuschreiben und zum anderen einen zusätzlichen, externen RAM-Speicher zu schaffen (so etwas wie "Ready Boost"). Der andere Slot dient dann für Programme, Spiele, Videos, Musik etc.. :)

Wäre so etwas möglich?
 
Dragoon said:
einen zusätzlichen, externen RAM-Speicher zu schaffen

Warum sollte man das bei einem Betriebssystem, das sowieso automatisch sämtliche Laufwerkszugriffe cachet, machen wollen?
 
grond said:
Dragoon said:
einen zusätzlichen, externen RAM-Speicher zu schaffen

Warum sollte man das bei einem Betriebssystem, das sowieso automatisch sämtliche Laufwerkszugriffe cachet, machen wollen?

Nur für den Fall, dass meine Pandora mit ihren unüppigen 256MB RAM irgendwann an ihre Grenzen gelangt (so wie mein blödes iPhone, dass ich eben genau deshalb ständig neu booten muss). :wink:
 
Beim Iphone\Ipod Touch gibt es ein Programm mit dem man prozesse beenden
kann.Alerdings brauch man dafür ein Jailbreak und Cydia.
 
Dragoon said:
grond said:
Dragoon said:
einen zusätzlichen, externen RAM-Speicher zu schaffen

Warum sollte man das bei einem Betriebssystem, das sowieso automatisch sämtliche Laufwerkszugriffe cachet, machen wollen?

Nur für den Fall, dass meine Pandora mit ihren unüppigen 256MB RAM irgendwann an ihre Grenzen gelangt (so wie mein blödes iPhone, dass ich eben genau deshalb ständig neu booten muss). :wink:

Also willst Du eigentlich nur eine Speichererweiterung. Ein Speicher, der nur für den speziellen Zweck zur Verfügung steht, ist in jedem Falle nachteiliger gegenüber entsprechend viel mehr RAM und Caching.
 
Was spricht denn dagegen eine SD Karte zu partitionieren und eine swap Partition zu erstellen und einzuhängen?
 
MasterJulian said:
Was spricht denn dagegen eine SD Karte zu partitionieren und eine swap Partition zu erstellen und einzuhängen?
Flashspeicher wird bei jedem Schreibvorgang belastet. Daher hat man länger etwas von seinem Flashspeicher, wenn er nicht immer wieder neu beschrieben wird.
Daher will ich auf meinen Karten kein Swap, kein Journaling System oder sonst irgendetwas, das ständig einen Schreibzugriff auf meine SD-Karten tätigt. Dazu sind die mir einfach noch ein wenig zu teuer.
 
Mae said:
Flashspeicher wird bei jedem Schreibvorgang belastet. Daher hat man länger etwas von seinem Flashspeicher, wenn er nicht immer wieder neu beschrieben wird.
Daher will ich auf meinen Karten kein Swap, kein Journaling System oder sonst irgendetwas, das ständig einen Schreibzugriff auf meine SD-Karten tätigt. Dazu sind die mir einfach noch ein wenig zu teuer.

SD-Karten kann man 1–2 Millionen (laut Hersteller) neu beschreiben NAND nur 200.000 mal und man kann den NAND nicht so einfach tauschen wie eine SD-Karte von daher Zwei zu Null für die SD-Karte daher finde ich die Idee von Whynodd schon nicht schlecht als Arbeitstier würde ich die SD-Karte lieber nehmen als den NAND, aber das ist ja das gut an der Pandora jeder kann damit machen was er für richtig hält :D
 
Richtig: "laut Hersteller" - genau so wie die "Energiesparlampen" ja 10.000 h halten sollen. Dabei verschweigen sie, das man sie dann nicht wieder ausschalten sollte, da jeder Einschaltvorgang Lebenszeit kostet und das sie nach bereits 2.000 h über 40% der Leuchtkraft einbüßen, und somit nur noch mangelhaft ausleuchten...

Flashspeicher ist Flashspeicher. Die SD-Karten versuchen per Rotationsprinzip ihre Speicherzellen zu schonen, und halten je nach Qualität auch tatsächlich Reservespeicherzellen bereit. Gut möglich das der Flashspeicher im Pandora auch einiges zu bieten hat. Trotzdem würde ich den auch nicht gerne all zu oft beschreiben. Dann zur Not schon lieber die SD-Karte, die sich leichter austauschen und ersetzen lässt. Klar!

Das ich nun statt auf Karte auf den internen Flash schreiben wollte, so war das nicht gemeint. Ich würde am liebsten auf eine SWAP-Partition ganz verzichten.

Gibt es nicht eine noch schönere Lösung, so etwas wie eine RAM-SDIO Karte, falls man nun dringen auf SWAP Speicher angewiesen ist?
 
Super - Also an dieser Diskussion erkenne ich, dass doch einiges Interesse an dem Thema besteht.

Vielleicht kann einer der Devs, die am Angstrom herumschrauben, klären, ob es ein großer Akt wäre, das System auf UnionFS (oder Konsorten) umzustellen und dem Benutzer die Wahl zu lassen, ob er das NAND schreibschützt und dementsprechend Schreibzugriffe auf eine SD-Karte umleiten möchte.

Kennt sich einer mit UnionFS (oder ähnlichen) aus? Wie werden denn die Daten in meinem vorgestellten Fall auf der SD-Karte hinterlegt? Ist das nur mit einer eigenen Partition auf der SD-Karte möglich, die ohne Pandora(+passende installierte Firmware) nicht lesbar ist oder kann man diesen beschreibbaren Part eines UnionFS z.B. einfach am Computer einhängen und durchbrowsen?
(Also bei den *.pnd-Dateien wird doch einfach ein bestimmtes Verzeichnis mit dem Inhalt der nicht schreibbaren pnd überlagert. Das Programm der *.pnd weiß davon aber nix. Eigentlich super, das. Und vergleichbar.)

Habe ich doch richtig verstanden, oder? Bei LiveCDs läufts doch genauso: Die CD ist sowieso read-only und Schreibzugriffe landen in einer Ramdisk. Beide ergeben z.B. per UnionFS ein gemeinsames überlagertes Filesystem. Ersetze CD durch Nand und Ram durch SD-Karte und wir wären bei der Pandora.

Vorteile eines solchen Konstrukts:
- NAND wird nur bei Firmwareupdates beschrieben
- Benutzer enfernt Karte -> Pandora im Ausgangszustand
- Pandora verleihen möglich, ohne /home von Pornospuren zu befreien Säuberungsaktionen
- Wenig Schreibzugriffe im NAND
- NAND länger haltbar, SD-Karte austauschbar

Nachteile:
- Was passiert nach einem Firmwareupdate? Kompatibel mit dem bestehenden überlagernden Part auf der SD-Karte?
- Benutzer verwirrt weil überlagertes Filesystem
- Forenüberschwemmung: "Hilfe, SD-Karte formatiert, /home plötzlich weg!"
- oder: "Hilfe, Firmware geupdatet, alle Einstellungen weg!"

Vielleicht ist dieses Konstrukt sogar eine gute Lösung, um eigene Einstellungen über mehrere Firmwareupdates zu behalten. Keine Ahnung ob das funktionieren würde.

Zum Swap: Braucht man unbedingt einen Swap?
Ich könnte damit leben, wenn ein Programm nicht startet weil der Ram schon voll ist.
Ach ja, und Programme, die viele Temporäre anlegen (insbesondere Browser) sollten extra für die Pandora voreingestellt sein bevor sie in die Firmware integriert werden. Aber das ist eine etwas andere Geschichte.
 
Wenn man davon ausgeht, dass der NAND Speicher die Schreib-Zugriffe gleichmäßig verteilt (was auch SSDs normalerweise machen) kommt man auf, im ideal Fall 1024000000 MB die man schreiben kann. Das ergibt sich aus 512MB (NAND ist meines Wissens nach langlebiger als NOR) x 2000000 max. schreib Zyklen. Das sind wiederum 1024 Terrabyte falls ich mich nicht irgendwo bei den Nullen verzählt haben sollte. Leider ist mir nicht bekannt, wie die hoch die Schreibrate ist. Gehn wir mal von 50MB/s aus. Bestimmt ist der eigentliche Wert höher. Also 50(s) x 60(min) x 60(h) x 24(d) = 4320000 MB pro Tag. Und dan noch die max. Anzahl an Schreibzugriffen durch die max. Anzahl an Schreibzugriffen pro Tag teilen.Voila man muss die Pandora 237 Tge dauerbeschreiben um den NAND Speicher abzunutzen! Realistisch sind 190 Tage. Bevor sich der Speicher bei normaler Benutzung abgenutzt hat, ist die Pandora eh schon am zerfallen. lol


Es müsste also sicher gestellt werden, dass dieses "intelligente" speichern auch integriert wird. Bei SSDs erledigt dies ein Speichercontroller, den es aber bei der Pandora nicht gibt. Also müsste es dafür eine Softwarelösung geben. Ich weiß das der Linux Kernel SSDs unterstützt aber die haben auch alle einen eigenen Speicher Controller.

Meine Betriebssysteme werde ich mangels Speicherplatz auf SD-Karten machen. Die sind leider langsamer. Wen ich speed haben will verwende ich einfach eine Compact Flash Card per USB. Nicht gerade elegant aber schnell und die nötige Speicherkapazität ist auch da.

Der größte Vorteil aber ist, dass ich schnell die schwarze Karte mit dem gewaltverherrlichenden und pornografichen Material durch die "pink Angemalte" ersetzten kann, wenn meine Freundin bei mir ist ; )
 
Back
Top