Suspend-to-Disk selber schreiben???
-
Hallo,
ich bin gerade dabei einen PC für mein Auto zu bauen.
Nun würde ich wegen schnelleren bootens Suspend to Disk benutzen.
Allerdings hat das Windows eigene System optische Nachteile
Gitb es eine möglichkeit so etwas selbst zu programmieren??
Also ich dachte das beim beenden der Speicherinhalt auf die Festplatte geschrieben wird und beim booten wieder zurück in den speicher - halt wie'es beim xp eigenen system auch ist.
dazu müsste das programm ja als bootfähiges Programm ausgeführt werden.
weiterhin sollte man während des Shut-Down und Start-Up Vorgangs einen individuellen Screen azeigen können.das ist jetzt nur eine schnelle Idee gewesen und ich wollte nur wissen, ob so etwas machbar ist, bzw was man dabei beachten/bedenken sollte.
Danke
hematec
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Ich schätze es mal als schwer bis unmöglich, als normales Programm Zugriff auf den gesamten physikalischen Speicher zu bekommen. Die Auslagerungsdatei darf ja auch nicht vergessen werden.
-
Wie jetzt genau, willst du das in Windows einarbeiten oder etwas eigenes haben?
Für Windows wäre wohl schonmal ein Treiber nützlich, denn für ein Suspend-To-Disk musst du:
- Alle Prozesse anhalten (inklusive OS-eigene)
- Den Speicher auf die Platte kopieren, eventuell vorher gecachete Seiten zurückschreiben
- Gerätezustände ggf. sichernviel problematischer noch der Wiederanlauf
- den Speicher wieder einlesen
- alle Geräte neu initialisieren und in den vorherigen Zustand bringen
- Prozesse in dem Zustand wie angehalten wieder startenAlso das ganze wird garanteirt wenn du es in Windows reinbasteln willst _verdammt_ kompliziert
Gibts nicht einfachere Möglichkeiten wie die Logos zu modifizieren o.ä.?
-
Ja wollte das schon mit einem windows XP System machen.
Die Screens ändern funktioniert zwar beim Shutdown aber für den Resume-Screen habe ich keine Lösung gefunden...
Der Screen ist so eine Art DOS Screen mit einer Fortschrittsleiste am unteren Rand des Bildschirm. Wenn ich diesen Bildschirm ändern könnte wäre mein Problem schon gelöst.
Oder wenn ich während der dauer wenn der Screen gezeigt wird ein anderes Bild auf den Monitor zaubern könnte... :)..das wäre auch schon perfekt.Danke hematec
-
Suspend-to-Disk ist ein ACPI Feature. Wenn du dir einen eigenen Treiber schreibst, kannst du auch selbst Suspend-to-Disk nutzen.
-
Dadurch werden aber die anderen Geräte trotzdem nicht in den richtigen Zustand gebracht, oder? Das OS ist immer noch dafür verantwortlich, oder sehe ich das falsch?
Selber implementieren? Kannst du völlig vergessen...
-
soweit ich weis (vom bootscreen aendern unter winXP) gibt es fuer die jeweiligen bildchen was dir win da bietet immer eine datei. Das muss es auch fuer dieses bild geben. MS wird das bild sicher nicht binaer in den windows kernel code reingeschrieben haben(waenn man jetzt einmal vernuenftig daenkt was bei MS nicht immer der fall ist) also einfach mal suchen...
-
--linuxuser-- schrieb:
soweit ich weis (vom bootscreen aendern unter winXP) gibt es fuer die jeweiligen bildchen was dir win da bietet immer eine datei. Das muss es auch fuer dieses bild geben. MS wird das bild sicher nicht binaer in den windows kernel code reingeschrieben haben(waenn man jetzt einmal vernuenftig daenkt was bei MS nicht immer der fall ist) also einfach mal suchen...
Die Grafiken dafür befinden sich als Resource direkt im Kernelimage (ntoskrnl.exe). Aber er erwähnte ja bereits, dass ihm diese Möglichkeit der Modifikation nicht ausreicht.
-
masterofx32 schrieb:
--linuxuser-- schrieb:
soweit ich weis (vom bootscreen aendern unter winXP) gibt es fuer die jeweiligen bildchen was dir win da bietet immer eine datei. Das muss es auch fuer dieses bild geben. MS wird das bild sicher nicht binaer in den windows kernel code reingeschrieben haben(waenn man jetzt einmal vernuenftig daenkt was bei MS nicht immer der fall ist) also einfach mal suchen...
Die Grafiken dafür befinden sich als Resource direkt im Kernelimage (ntoskrnl.exe). Aber er erwähnte ja bereits, dass ihm diese Möglichkeit der Modifikation nicht ausreicht.
Doch, die reicht ihm sehr wohl.
Das Problem ist viel mehr, daß WinXP beim WIEDER-BOOTEN keine Grafik anzeigt, sondern das uralte NT DOS-Boot Teil mit 80x25 Console...
Vielleicht kann Dir irgend'n E-Freak 'nen Chip basteln, der den VGA umschaltet und 'nen doofes BMP für 20 Sek. anzeigt.
Obwohl das fast genauso komplex sein dürfte...
-
Benutz Linux und hack einfach das Feature im Kernel. So einfach kann das bei OpenSource sein. Ausserdem kannst Du Dir einen "Embedded-Build" basteln.
rya.
Scorcher24
-
Scorcher24 schrieb:
Benutz Linux und hack einfach das Feature im Kernel. So einfach kann das bei OpenSource sein. Ausserdem kannst Du Dir einen "Embedded-Build" basteln.
rya.
Scorcher24Hast du natürlich alles schonmal gemacht.
-
masterofx32 schrieb:
Scorcher24 schrieb:
Benutz Linux und hack einfach das Feature im Kernel. So einfach kann das bei OpenSource sein. Ausserdem kannst Du Dir einen "Embedded-Build" basteln.
rya.
Scorcher24Hast du natürlich alles schonmal gemacht.
-
Hab ich nicht behauptet. Aber es ist doch einfacher eine OpenSource Umgebung zu verändern als ein properitäres.
rya.
Scorcher24edit: nen embedded kernel gebastelt hab ich für nen standalone oggplayer.
-
Scorcher24 schrieb:
Hab ich nicht behauptet. Aber es ist doch einfacher eine OpenSource Umgebung zu verändern als ein properitäres.
rya.
Scorcher24edit: nen embedded kernel gebastelt hab ich für nen standalone oggplayer.
Wenn nichts mehr geht hacken wir halt das Betriebssystem.
Ich hoffe nur du stellst, vorläufig zumindest, keine kommerzielle
Software her. Funktionsfähige, das heisst sichere zuverlässige,
Änderungen an Basis-Systemen eines Betriebssystem hackt man nicht
mal ebenso, zumindest wenn man Wert auf ein funktionierendes System
legt.Diese Einstellung ist, für mich, exakt ein Negativ-Beispiel für
OpenSource.
-
Das Thema ist wie man Suspend2Disk selber implementiert. Gut man wollte es unter WIndows tun. Aber der Ansatz meiner Vorredner war derselbe: Einen eigenen Treiber schreiben und den des OS ersetzen. Und nur weil ich gemeint habe, dass es mit Linux evtl einfacher ist stört Dich das?? Ausserdem braucht man auch den Kernel nicht direkt hacken, sondern man kann auch einfach bestimmte funktionen im KernelSpace überschreiben. Und daran ist nichts falsch.
rya.
Scorcher24p.s.: Und übrigens: Ich stelle kommerzielle Software her...
-
Scorcher24 schrieb:
Das Thema ist wie man Suspend2Disk selber implementiert. Gut man wollte es unter WIndows tun. Aber der Ansatz meiner Vorredner war derselbe: Einen eigenen Treiber schreiben und den des OS ersetzen. Und nur weil ich gemeint habe, dass es mit Linux evtl einfacher ist stört Dich das?? Ausserdem braucht man auch den Kernel nicht direkt hacken, sondern man kann auch einfach bestimmte funktionen im KernelSpace überschreiben. Und daran ist nichts falsch. Das nennt man auch patchen. Das solltest du als jemand der properitäre Software nutzt eigentlich kennen....
rya.
Scorcher24p.s.: Und übrigens: Ich stelle kommerzielle Software her...
Wenn man als Hersteller von Software Teile des Betriebssystems patcht was dazu führt das nicht nur die eigene Software sondern das gesamte System von diesen
Änderungen betroffen ist, dann ist das für mich inakzeptabel.
-
Ich will das ja nicht tun. Ausserdem stellt das hier meine private Meinung dar, um das mal klarzustellen. Aber das ist nun mal das Thema. Suspend2Disk ist ein OS Feature. Wenn man das anders haben will muss man nun mal so was tun. Und jetzt ab zu Heise, du Troll. *fischwerf*
rya.
Scorcher24edit:
Ausserdem gehts hier um ein embedded System und nicht um einen Desktop-PC. Das erlaubt diese Methodik.
-
Scorcher24 schrieb:
Ich will das ja nicht tun. Ausserdem stellt das hier meine private Meinung dar, um das mal klarzustellen. Aber das ist nun mal das Thema. Suspend2Disk ist ein OS Feature. Wenn man das anders haben will muss man nun mal so was tun. Und jetzt ab zu Heise, du Troll. *fischwerf*
rya.
Scorcher24edit:
Ausserdem gehts hier um ein embedded System und nicht um einen Desktop-PC. Das erlaubt diese Methodik.Wo soll denn das stehen.
Es war die Rede von einem PC + Windows XP
-
Ich bin gerade dabei einen PC für mein Auto zu bauen.
Da steht das. War in den Frage. Das beinhaltet doch dass es hier um ein System geht, das nur für einen Zweck gebaut wird. Also wird es niemals auf einem "normalen" Rechner laufen. Wenn man einen PC für sein Auto bastelt, soll das Ding denke ich von allein laufen. Ich weiss ja nicht was es können soll, aber auch wenns um DVDs oder sonstige Multimedia-Sachen im Auto geht (Spielen,MP3, OGG ect.) würde ich ein embedded System hernehmen. Und hierfür eignet sich eine freie Unix-Variante, da es resourcenschonender, stabiler und einfacher zu modifizieren ist, für eigene Zwecke als ein properitäres System.
rya.
Scorcher24