Toon posts:

Werk PC opstarten versnellen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Dit berichtje omdat ik toch eens wat meningen van anderen wil horen.
Het gaat over een van mijn grotere ergernissen bij het gebruiken van mijn PC.

Het opstarten duurt zo lang! En het is haast altijd exact hetzelfde wat mijn PC doet.

Daemons opstarten.
Kijken of er nog nieuwe hardware inzit (nee.)
Kijken of de filesystems gesynct zijn. (ja)
Windowmanager opstarten.
Enzovoort enzovoort.

Het resultaat is (bijna) altijd hetzelfde: een draaiende PC die klaar is om mee te werken.

Ik denk dan: kun je dat niet EEN keer doen, en vervolgens een werkende 'image' ergens op een schijf zetten? Een soort ISO, maar dan voor je RAM?

Dat moet toch kunnen? Je hebt toch zoiets als Direct Memory Access? Kun je dan geen tool schrijven die in één keer je hele geheugen volplempt met een draaiend operating systeem? Duurt aardig korter dan die minuut of twee die mŽn systeempje nodig heeft om helemaal op te starten.

Ik snap wel wat de bezwaren hiertegen zijn.

* Het is niet veilig: er kán nieuwe hardware zijn. Je fs kán vernaggelt zijn.
- Nee, maar ik wil het dan ook alleen voor mijn werkstationnetje gebruiken, het is zoŽn ramp niet als daar een keer iets mis mee gaat. Mijn server reboot ik trouwens toch vrijwel nooit.

* Soms wíl je dat je systeem gecheckt wordt, als er iets mis mee is, en soms wíl je je opstart-configuratie aanpassen, en soms wíl je dat hij nieuwe hardware detecteert.
- Is ook zo, maar dan kun je daar toch een aparte optie voor opnemen in je opstartmenuutje?

Ik zie het al voor me op mŽn scherm, zodra ik mŽn pc aanzet.

Hi. This is your BIOS. What would you like to do?

1. Run Linux with KDE from image: linuxkde.iso
2. Run Linux from image: linux.iso
3. Run OpenBSD from image: openbsd.iso
4. Run full init process for Linux
5. Run full init process for OpenBSD


}:O }:O }:O }:O

Dat zou toch prachtig zijn?

Iemand ideeën? Iemand die weet hoe je zoiets aan zou moeten pakken?

Graag reacties!!

[EDIT]
Let s.v.p. even op voor je reageert:
Het gaat hier dus NIET om een laptop, waar dit soort functionaliteit vaak hardwarematig al ingebakken zit, en we zitten hier NIET in een Windows-forum!

Verwijderd

dat bestaat al, maar dat heet dan windowsXP slaap modus :D
de meeste laptops hebben het ook geloof ik.

:D

  • Dr C
  • Registratie: December 2000
  • Laatst online: 03-05 10:04

Dr C

met C en CK

euh.... Je hebt gewoon Hibernating functie die er vanaf Windows ME ingebakken zit. Dan kopieert ie het hele ram geheugen naar de HD. Kost 1/2 tot 1 min. om op te starten.

Ignorance is bliss!! (- The Matrix)


  • Wilke
  • Registratie: December 2000
  • Laatst online: 13:00
Hibernation heet 't ook wel.

Windows XP doet dat inderdaad wel verrekte snel, kan Linux nog iets van leren.

Hopelijk wordt dat nog 'es gemaakt, maar bestaat nog niet bij mijn weten.

Ik weet dat je vorig jaar op de Universiteit Twente (waar ik studeer) een ontwerpproject Informatica had kunnen doen waarbij de opdracht was om zoiets voor Linux te maken.

Best koel, maar behoorlijk low-level gedoe natuurlijk, daar ben ik niet zo'n enorme held in (dus maar niet gedaan).

  • Wilke
  • Registratie: December 2000
  • Laatst online: 13:00
Het idee is namelijk niet zo enorm ingewikkeld.

- Je dumpt het hele geheugen op HD (evt. gecomprimeerd)
- Je sluit alle apparaten netjes af en gooit de computer uit

Bij het booten:
- Check of er geen hardware 'verdwenen' is (checken voor nieuwe dingen doe je niet idd, maar zou toch lullig zijn als iemand 2 HD's heeft verwisseld en het OS krabbelt ff lekker z'n data op de verkeerde HD, oops!)
- Init alle hardware (dat moet toch) zoals het was bij het uitschakelen
- Laad het geheugen terug van HD.
- Herstel zelfde grafische mode, etc. (da's in Linux wel lastig, want X is niet per se het enige grafische systeem he...)


Het probleem zit met name in dingen die sowieso veranderen. Bijvoorbeeld netwerkverbindingen zijn echt wel pleitte, dat moeten applicaties op een 'nette' manier doorkrijgen, je mag hopen dat met DHCP je IP niet is veranderd, etc. Allemaal dingen waarmee je rekening moet houden.

Dus, het idee valt mee, maar ga het maar 'es maken...

  • wagenveld
  • Registratie: Februari 2002
  • Niet online
natuurlijk is het nadeel dat je geheugen dan niet weer helemaal "leeg" is als je pc weer wakker is uit die slaapmodus. Toch is het best lekker voor mijn laptop, die best langzaam over het opstarten van XP doet.

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 17-05 14:06

deadinspace

The what goes where now?

Verwijderd schreef op 07 september 2002 @ 14:56:
Ik denk dan: kun je dat niet EEN keer doen, en vervolgens een werkende 'image' ergens op een schijf zetten? Een soort ISO, maar dan voor je RAM?
Nadeel is dat je dan erg veel flexibiliteit kwijt bent... Iets toevoegen aan het bootprocess? Bad luck.

Ik zie meer heil in het bijtrimmen van de bootprocedure... Dat hardware detecten bijvoorbeeld is imho nergens voor nodig (ik walg er van en irriteer me er nog dood aan ook, maar dat is wat anders).
Dat moet toch kunnen? Je hebt toch zoiets als Direct Memory Access?
Dat heeft hier absoluut niks mee te maken :)
Kun je dan geen tool schrijven die in één keer je hele geheugen volplempt met een draaiend operating systeem? Duurt aardig korter dan die minuut of twee die mŽn systeempje nodig heeft om helemaal op te starten.
Dat kan, en het heet hybernate of suspend-to-disk. Maar vergis je niet in de tijd die nodig is om het ram weer van de disk af te trekken... Dat kostte mijn laptop meer dan een minuut, langer dan het booten van GNU/Linux duurde.

Maar als je graag zo snel je computer ready-to-go wilt hebben, waarom dan geen suspend (aka suspend-to-ram)? Dan issie binnen 5 seconden operationeel.
Het gaat hier dus NIET om een laptop, waar dit soort functionaliteit vaak hardwarematig al ingebakken zit, en we zitten hier NIET in een Windows-forum!
Dat is afaik niet hardwarematig op laptops. Wel is het zo dat laptops vaak geleverd worden met de speciale partitie die hiervoor nodig is en dat er extra software op Windows wordt meegeleverd die dit mogelijk maakt.
Wilke schreef op 07 september 2002 @ 15:11:
Hopelijk wordt dat nog 'es gemaakt, maar bestaat nog niet bij mijn weten.

Suspend-to-disk kwam in 2.6 iirc.
wagenveld schreef op 07 september 2002 @ 15:17:
natuurlijk is het nadeel dat je geheugen dan niet weer helemaal "leeg" is als je pc weer wakker is uit die slaapmodus. Toch is het best lekker voor mijn laptop, die best langzaam over het opstarten van XP doet.

Maar daar hebben wij een OS met echt memory management voor ;)

  • Wilke
  • Registratie: December 2000
  • Laatst online: 13:00
wagenveld schreef op 07 september 2002 @ 15:17:
natuurlijk is het nadeel dat je geheugen dan niet weer helemaal "leeg" is als je pc weer wakker is uit die slaapmodus. Toch is het best lekker voor mijn laptop, die best langzaam over het opstarten van XP doet.
Dat is alleen met Windows een probleem :)

Onder Linux haal ik makkelijk uptimes van over een maand op een desktop systeem, meestal niet langer omdat ik dan alweer iets nieuws wil proberen, iemand de stroom bij ons in huis laat uitvallen, of wat ook. Dus memory leaks zullen dan wel meevallen blijkbaar :)

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 17-05 14:06

deadinspace

The what goes where now?

Wilke schreef op 07 september 2002 @ 16:01:
Dus memory leaks zullen dan wel meevallen blijkbaar :)
Memory leaks zitten doorgaans in applicaties, die kun je restarten (als ze ernstig leaken tenminste... 20 bytes per dag wordt ook niemand bang van). Zolang de kernel (en XFree, hardware issues en nog wat externe invloeden) zich goed houdt zou er niks aan de hand moeten zijn.

Verwijderd

Topicstarter
deadinspace schreef op 07 september 2002 @ 15:51:

[...]

Dat heeft hier absoluut niks mee te maken :)
Jawel dat heeft het wel. Ik weet wat DMA is, hoe het werkt en waarvoor het bedoeld is.
Wat ik hiermee wil zeggen is, dat er met gebruik van vergelijkbare technologie een tooltje gemaakt moet kunnen worden wat zich directe toegang tot het RAM toeëigend en daardoor een snelle omweg kan wijzen om je RAM naar je harddisk (of wat dan ook) te kopiëren. Want dat is wat we nodig hebben om dit te kunnen realiseren.

  • AlterEgo
  • Registratie: Juli 2001
  • Niet online
Heeft iemand ervaringen met swsusp

Daarmee schijnt je zonder acpi en apm te kunnen suspenden naar disk, wanneer je dat zelf wil.

edit: patch is voor kenrel 2.4.18: ik heb die niet meer in gebruik, anders had ik wel wat informatievers gepost :)

edit2: mijn gentoo boot sneller tot en met de GUI dan XP.

  • Wilke
  • Registratie: December 2000
  • Laatst online: 13:00
Verwijderd schreef op 07 september 2002 @ 17:22:
[...]


Jawel dat heeft het wel. Ik weet wat DMA is, hoe het werkt en waarvoor het bedoeld is.
Wat ik hiermee wil zeggen is, dat er met gebruik van vergelijkbare technologie een tooltje gemaakt moet kunnen worden wat zich directe toegang tot het RAM toeëigend en daardoor een snelle omweg kan wijzen om je RAM naar je harddisk (of wat dan ook) te kopiëren. Want dat is wat we nodig hebben om dit te kunnen realiseren.
Ja, en dat gebeurt al de hele tijd...waarom denk je dat je HD altijd DMA mode gebruikt.

dat tooltje heet de kernel (dat kan bij het hele geheugen) en direct ram naar je HD stampen dat kan ook al, dat heet een swapfile, en dat gebruikt net als de rest van de HD de DMA mode. Maak je het dus ff zo dat de hele inhoud van het mem uitgeswapped wordt, en da's klaar.

DMA heeft met deze situatie dus niet specifiek te maken - je gebruikt het sowieso al all over the place..

Verwijderd

Compilen en dan je pc op suspend zetten gaat niet goed :+

Verwijderd

Topicstarter
Wilke schreef op 07 september 2002 @ 18:08:
[...]


Ja, en dat gebeurt al de hele tijd...waarom denk je dat je HD altijd DMA mode gebruikt.
Ja heh heh. Het gaat hier om de analogie!
Big word alert

  • _Squatt_
  • Registratie: Oktober 2000
  • Niet online
Verwijderd schreef op 07 september 2002 @ 19:08:
Compilen en dan je pc op suspend zetten gaat niet goed :+
Nee? Ik zette een keer mijn laptop op suspend terwijl ik iets aan het compileren was, en toen ik 'm weer aanzette ging dat compileren vrolijk verder. Geen errors, en 't programma werkte ook nog prima!

Was er zelf eigenlijk verbaasd over. Het zou theoretisch prima moeten werken, maar ik had niet verwacht dat 't ook echt zonder problemen zou gaan.

"He took a duck in the face at two hundred and fifty knots."


  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 17-05 14:06

deadinspace

The what goes where now?

Verwijderd schreef op 07 september 2002 @ 17:22:
Jawel dat heeft het wel. Ik weet wat DMA is, hoe het werkt en waarvoor het bedoeld is.
Wat ik hiermee wil zeggen is, dat er met gebruik van vergelijkbare technologie een tooltje gemaakt moet kunnen worden wat zich directe toegang tot het RAM toeëigend en daardoor een snelle omweg kan wijzen om je RAM naar je harddisk (of wat dan ook) te kopiëren. Want dat is wat we nodig hebben om dit te kunnen realiseren.
Mjaa, maar het suspenden naar disk hoeft helemaal niet buiten de CPU om te gaan; het mag van mij 100% vanuit software geregeld worden namelijk. Dus zoiets:

* kernel stopt de scheduler (worden geen processes meer uitgevoerd)
* kernel flusht buffers en synct het filesystem
* kernel dumpt het gebruikte ram (dus niet letterlijk het hele ram, cache en buffers hoeven niet bewaard te worden) naar een file
* kernel bewaart de state van alle hardware (video mode, IRQs, dat soort dingen)
* kernel bewaart zijn eigen state (filedescriptors, process table, kernelvars, etc)
* kernel schopt de bootloader bij zodat je straks resumet en niet gewoon opnieuw boot
* kernel synct en umount de filesystems clean
* kernel laat APM of ACPI *plop* zeggen

Resumen zou dan zoiets gaan:

* bootloader boot de kernel met speciale parameter
* kernel mount de juiste filesystems
* kernel restored het ram (van de processes)
* kernel restored de state van de hardware
* kernel restored zijn eigen state
* kernel schopt de bootloader terug naar oude stand
* kernel start de scheduler weer

Behoorlijk ingewikkeld (kernel-state bewaren en restoren, ik moet er niet aan denken).

Misschien dat iets simpelers a la "cat /dev/mem > suspended.img" eenvoudiger is, maar dat is zeker inefficienter (omdat je niet alleen het door apps gebruikte geheugen saved maar ook cache, buffers en ongebruikt geheugen).
Ook heb je het probleem dat het geheugen op het moment van backuppen nog verandert (de kernel draait immers nog, hoe kun je anders naar HD schrijven), wat zekersteweten voor grote problemen zorgt.
Ook heb je zo de hardware status nog niet (denk alleen al eens aan de MMU paging table... auw).

Magoed, ze waren er iirc mee bezig (en ik vind suspend-to-ram toch praktischer).
Pagina: 1