hakaishi
Anmeldungsdatum: 28. April 2008
Beiträge: 525
|
Hi, mir ist eben die Idee gekommen, dass man den Standby-Modus verbessern könnte. Gewöhnlich ist es ja nicht möglich während einer Datei-Operation (z.B. kopieren, verschieben, Downloads und gar Installationen) in den Standby zu gehen ohne das der Prozess abgebrochen wird und neu gestartet werden muss... Kann man denn kein Snapshot oder so was machen, oder irgendwie alles pausieren bzw. einfrieren und den Status speichern, sodass nach dem Aufwachen aus dem Standby alles einfach da fortgesetzt wird wo aufgehört wurde? - Irgendwie alle Lese- und Schreibzugriffe der Festplatte unterbrechen (und Position speichern) und nachher wieder fortsetzen? Bei dem IRC Programm "Konverstation" kann man, wenn das Programm beendet, das Internet unterbrochen, oder der Download abgebrochen wurde, den Download auch einfach fortsetzen. Und bei Textdokumenten funktioniert das mit dem Standby ja sowieso, also müsste es da doch eine Möglichkeit geben... Leider kenne ich mich mit den Ubuntu-Internen Vorgängen nicht so gut aus... aber vielleicht weiß jemand wie man das Umsetzen könnte 😉 Gruß, Hakaishi
|
deadtronic
Anmeldungsdatum: 18. Februar 2010
Beiträge: 762
|
hakaishi schrieb: Leider kenne ich mich mit den Ubuntu-Internen Vorgängen nicht so gut aus... aber vielleicht weiß jemand wie man das Umsetzen könnte 😉
Also tut mir leid dir das so sagen zu müssen, aber das wird hier keiner wissen. Wenn es doch jemand weiß, knie ich schonmal. 🙄 Im Ernst, das was du da so einfach sagst, wäre ein extrem Umfangreicher Prozess. Dass Konversation den Download fortführen kann, hat absolut nichts damit zu tun, das komplette System auf die Art schlafenzulegen und an der exakt gleichen Stelle weitermachen zu lassen. Wenn ich hier Unsinn rede, berichtigt mich bitte. Schlecht ist die Idee natürlich trotzdem nicht, wobei ich nich glaube, dass sie umsetzbar ist. Aber versuche es doch mal mit einem Brainstorm-Eintrag.
|
hakaishi
(Themenstarter)
Anmeldungsdatum: 28. April 2008
Beiträge: 525
|
Ich weiß, dass das ein sehr umfangreicher Prozess wäre, aber es wäre toll, wenn man das irgendwie umsetzen könnte ☺ Mir ist klar, dass das mit dem Prog. Konversation nicht unbedingt was zu tun hat, aber vielleicht kann man das irgendwie nach einem ähnlichen Schema machen. Das mit dem Brainstorm-Eintrag nehme ich mir morgen mal vor, danke für den Tipp.
|
froggydancer
Anmeldungsdatum: 6. Januar 2010
Beiträge: Zähle...
|
hakaishi schrieb: Leider kenne ich mich mit den Ubuntu-Internen Vorgängen nicht so gut aus... aber vielleicht weiß jemand wie man das Umsetzen könnte 😉
Das hat auch nichts mit Ubuntu-(spezifischen-)Vorgängen zu tun, sondern dafür ist allein der Kernel zuständig (er ist das Linux in Ubuntu )
Gewöhnlich ist es ja nicht möglich während einer Datei-Operation (z.B. kopieren, verschieben, Downloads und gar Installationen) in den Standby zu gehen ohne das der Prozess abgebrochen wird und neu gestartet werden muss...
Ist es nicht? Was genau meinst du denn mit Standby? Ich verstehe darunter den sogenannten ACPI S3 State eher bekannt als Suspend to RAM, bei dem die laufenden Prozesse angehalten und im Arbeitsspeicher gehalten werden und...
Kann man denn kein Snapshot oder so was machen, oder irgendwie alles pausieren bzw. einfrieren und den Status speichern, sodass nach dem Aufwachen aus dem Standby alles einfach da fortgesetzt wird wo aufgehört wurde? - Irgendwie alle Lese- und Schreibzugriffe der Festplatte unterbrechen (und Position speichern) und nachher wieder fortsetzen?
...genauso (oder zumindest so ähnlich) funktioniert der S3 State nämlich auch. Auch wenn ein Kopiervorgang nicht gerade der beste Zeitpunkt dafür ist, funktioniert der Standby dabei trotzdem. Ich habe das gerade mal getestet: ich habe ein paar größere Dateien von USB kopiert (sowohl über Console als auch GUI) und bin dabei in Standby gegangen. Sogar das Ab- und wieder Anstecken des Datenträgers während dem Standby ging problemlos (ok, eigentlich auch kein Wunder, da der Kernel es nicht mitkriegt, solange er schläft). Beim Ruhezustand (Hibernation oder auch Suspend to Disk) ist der Vorgang etwas schwieriger, weil der Inhalt des Arbeitsspeichers hier auf die Festplatte gespeichert und von ihr wiederhergestellt werden muss. Das habe ich zwar nicht getestet, aber hier müsste es auch funktionieren, da es ja (auf einem Desktopsystem) eigentlich nie vorkommt, dass gar kein Prozess gerade Dateioperationen vornimmt und wenn es nicht möglich wäre diese zu pausieren, wäre der Ruhezustand generell nicht möglich.
Bei dem IRC Programm "Konverstation" kann man, wenn das Programm beendet, das Internet unterbrochen, oder der Download abgebrochen wurde, den Download auch einfach fortsetzen.
Ob der Download fortgesetzt werden kann oder nicht, hängt weniger vom Standby ab, sondern viel mehr vom Server am anderen Ende der Leitung. Während für dein Programm nur Sekunden vergangen sind, da es im Standby war, sind für den Server evtl. Stunden vergangen, d.h. aus seiner Sicht wurde der Download schon lange abgebrochen. Jetzt kommt es stark auf die Konfiguration des Servers an, ob ein nahtloses Wiederaufnehmen des Downloads möglich ist bzw. dein Programm muss eine Wiederaufnahme auch veranlassen (technisch ist es möglich). Vielleicht musst du es mir noch einmal richtig erklären, aber so wie ich das sehe, ist deine Idee schon längst umgesetzt 😉 Gruß Froggy
|
deadtronic
Anmeldungsdatum: 18. Februar 2010
Beiträge: 762
|
@ froggydancer Es geht aber nicht nur um Dateioperationen. Was machst du, wenn programm A gerade eine Datei herunterlädt, Programm B gerade über TV-Karte einen Film aufnimmt und gcc ein programm kompiliert? Problemlos lassen die sich nicht schlafen legen, am ehesten wohl noch der gcc. Und mit prüfungen, ob es möglich ist, darf man garnicht erst anfangen, das geht ewig. Es gibt keine Lösung für dieses Problem, zumindest fällt mir spontan keine ein. 🙄
|
hakaishi
(Themenstarter)
Anmeldungsdatum: 28. April 2008
Beiträge: 525
|
deadtronic schrieb: Es gibt keine Lösung für dieses Problem, zumindest fällt mir spontan keine ein. 🙄
Würde man das System "freezen" und eine Momentaufnahme machen, könnte eventuell alles da weiter gehen wo es "gefreezed" wurde... So in der Art könnte ich mir das vorstellen.
|
deadtronic
Anmeldungsdatum: 18. Februar 2010
Beiträge: 762
|
hakaishi schrieb: deadtronic schrieb: Es gibt keine Lösung für dieses Problem, zumindest fällt mir spontan keine ein. 🙄
Würde man das System "freezen" und eine Momentaufnahme machen, könnte eventuell alles da weiter gehen wo es "gefreezed" wurde... So in der Art könnte ich mir das vorstellen.
Das ist ja das, was Standby macht, das funktioniert bereits und nach froggydancer würde es wohl auch mit Dateien gehen. Aber eben nicht mit anderen Sachen, die nicht einach Unterbrochen werden können, weil sie von Komponenten auserhalb der eigenen Hardware abhängig sind.
|
hakaishi
(Themenstarter)
Anmeldungsdatum: 28. April 2008
Beiträge: 525
|
deadtronic schrieb: Das ist ja das, was Standby macht, das funktioniert bereits und nach froggydancer würde es wohl auch mit Dateien gehen. Aber eben nicht mit anderen Sachen, die nicht einach Unterbrochen werden können, weil sie von Komponenten auserhalb der eigenen Hardware abhängig sind.
Ja, aber diese Komponenten außerhalb der eigenen Hardware, die Du ansprichst ist ja (meist) nur das Internet, oder irre ich mich? - Das würde das installieren und kompilieren von Software nicht betreffen. Außerdem funktioniert das fortsetzen eines Downloads ja bei Konversation und Torrent-Programmen.
|
deadtronic
Anmeldungsdatum: 18. Februar 2010
Beiträge: 762
|
hakaishi schrieb: deadtronic schrieb: Das ist ja das, was Standby macht, das funktioniert bereits und nach froggydancer würde es wohl auch mit Dateien gehen. Aber eben nicht mit anderen Sachen, die nicht einach Unterbrochen werden können, weil sie von Komponenten auserhalb der eigenen Hardware abhängig sind.
Ja, aber diese Komponenten außerhalb der eigenen Hardware, die Du ansprichst ist ja (meist) nur das Internet, oder irre ich mich? - Das würde das installieren und kompilieren von Software nicht betreffen. Außerdem funktioniert das fortsetzen eines Downloads ja bei Konversation und Torrent-Programmen.
LAN/Wlan, TV, UMTS, lokale Netzwerkdienste, Bluetooth und und und. Es gibt ne Menge, das auch lokal läuft, auch wenn es bei vielen hauptsächlich das Internet ist. Wobei über das Internet ein Download auch nur fortgesetzt werden kann, wenn der Server das unterstützt.
|
hakaishi
(Themenstarter)
Anmeldungsdatum: 28. April 2008
Beiträge: 525
|
Aha, wieder was gelernt ^^ thanks
|
froggydancer
Anmeldungsdatum: 6. Januar 2010
Beiträge: 156
|
deadtronic schrieb: @ froggydancer Es geht aber nicht nur um Dateioperationen. Was machst du, wenn
programm A gerade eine Datei herunterlädt,
Wie ich oben schon geschrieben habe, hängt das erfolgreiche Fortsetzen hauptsächlich vom entsprechenden Server ab, da die ursprüngliche Verbindung schon geschlossen wurde. Um hier eine seamless Fortsetzung garantieren zu können, müsste man schon den Server synchron mit in Standby versetzen...
Programm B gerade über TV-Karte einen Film aufnimmt
Hier sollte man einfach nicht in Standby gehen 😉 Der Film läuft eben weiter während die TV-Karte schläft. Wahrscheinlich wird die Aufnahme auch erfolgreich fortgesetzt. Dass da dann ein Teil fehlt, fällt dem Programm dann eben nicht auf.
und gcc ein programm kompiliert?
Da hier keine große Besonderheit im Unterschied zu anderen Programmen besteht... gcc läuft einfach weiter. deadtronic schrieb: Das ist ja das, was Standby macht, das funktioniert bereits und nach froggydancer würde es wohl auch mit Dateien gehen. Aber eben nicht mit anderen Sachen, die nicht einach Unterbrochen werden können, weil sie von Komponenten auserhalb der eigenen Hardware abhängig sind.
Es gibt keine Lösung für dieses Problem, zumindest fällt mir spontan keine ein. 🙄
Dieses Problem ist technisch auch unlösbar. Ressourcen außerhalb des System kann der Kernel eben nicht kontrollieren. Wie du ja selber sagst: Vorgänge, die von Komponenten auserhalb der eigenen Hardware abhängig sind können nicht einfach pausiert werden. Der Kernel friert die Programme in ihrem aktuellen Zustand ein und legt sie dann schlafen. Selbes macht er (soweit möglich) mit der Hardware, erwartet dann aber auch, alle Geräte nach dem Standby so vorzufinden wie er sie hinterlassen hat und das ist mit externen Komponenten, wie dem Internet einfach nicht möglich. Deswegen kann man zwar einen USB-Stick, von/zu dem gerade kopiert wird, im Standby ab- und wieder anstecken, aber man muss in am selben Port wieder anstecken und sollte ihn zwischendurch nicht an einem anderen Gerät verwenden, da dabei das Dateisystem (geringfügig) verändert werden könnte, was zu Datenverlusten führen kann.
|
hakaishi
(Themenstarter)
Anmeldungsdatum: 28. April 2008
Beiträge: 525
|
Das heißt, bis auf die Datentransfers von Außen (wenn es das Netzwerkprotokoll nicht unterstützt), wird genau das gemacht, was ich vorschlagen wollte...
Soll ich das Thema auf gelöst setzen?
|
froggydancer
Anmeldungsdatum: 6. Januar 2010
Beiträge: 156
|
hakaishi schrieb: Das heißt, bis auf die Datentransfers von Außen (wenn es das Netzwerkprotokoll nicht unterstützt), wird genau das gemacht, was ich vorschlagen wollte...
Soll ich das Thema auf gelöst setzen?
Sofern ich dich richtig verstanden habe, Ja Gruß,
Froggy
|