Von Begeisterter am Mo, 10. November 2008 um 19:54 #
Also das klingt ja sehr interessant. Meine Digitalkamera braucht zum Starten mit Ausfahren des Objektives mehr als drei Sekunden Und da ist bei weitem kein komplettes Betriebssystem oder DE drauf. Drei Sekunden zum Start eines komlpetten Linux klingt schon richtig genial.
Von lord-carlos am Mo, 10. November 2008 um 19:57 #
Könnte man so etwas nicht theoretisch für das open-moko benutzen? Damit man die boot zeit von ~ 2-3 Minuten etwas verkürzen kann ^^ Das wäre was feines.
Von /dev/gentoo am Mo, 10. November 2008 um 22:15 #
Stimmt, schneller wird das OpenMoko 100%ig nicht werden können. Selbst mein Laptop benötigt schon über 45s zum Starten (und das bei minimalsten Bedingungen!). Das OpenMoko hat noch schlechtere Hardware, sodass auch das Optimieren am Kernel keinen Unterschied machen wird. Schade eigentlich. OpenSource wird wohl nie so richtig in der Gesellschaft Anklang finden.
Was für ein Argument. Mein Atari ST von 1989 brauchte keine Sekunde zum Hochfahren des Systems. Und der hatte nur 1MB RAM und 8MHz. Was sagt uns das? Wer auf Grund der Leistungsfähigkeit der Hardware auf die Bootgeschwindigkeit des Betriebssystems schließt, hat keine Ahnung von Technik!
Von Anonymous Coward am Di, 11. November 2008 um 00:15 #
Dein Atari ST kann aber nur einen Bruchteil dessen, was ein heutiges Linux-System kann. Natürlich stellt sich die Frage, ob man auf einem Handy ein Betriebssystem mit all diesen Fähigkeiten braucht, oder ob etwas kleineres nicht eher angebracht wäre.
> Dein Atari ST kann aber nur einen Bruchteil dessen, was ein heutiges Linux-System kann.
Darüber lässt sich streiten. Was die Rechenleistung anbelangt, ist der ST natürlich hoffnungslos veraltet. Aber mit dem ST kann man auch heute noch wunderbar arbeiten. Nur weil dessen Programme mittlerweile mehr als 20 Jahre auf dem Buckel haben, heißt das noch lange nicht das man diese auch heute nicht noch benutzen kann. Für viele Menschen würden die vorhandenen Programme auch heute noch locker reichen.
Nur die Tastatur des STs ist eine mittlere Katastrophe. Dafür gehören die Entwicker bei ATARI immer noch gesteinigt.
> Selbst mein Laptop benötigt schon über 45s Dein Laptop startet aber das 20fache an Diensten, was man auf einem Embedded System braucht. Alleine die Zeit, die in unnötige hotplug/udev Events investiert wird, obwohl das rootfs noch nicht gemountet ist (call_usermode_helper läuft ins Leere, da /sbin/hotplug noch nicht existiert), kann man deutlich reduzieren.
Parallel laufende init calls helfen ebenfalls die Bootzeit deutlich zu reduzieren. Die Treiber nutzen aktuell struct platform_device und bekommen erst zeitverzögert einen Aufruf ihrer _probe Funktion. Allerdings dürfen diese Funktionen aktuell schlafen. Man könnte das Schlafen (busy waiting, bis eine bestimmte Zeit vergangen ist) durch ein schedule() ersetzen, welches einen anderen Initialisierungspfad aktiv werden lässt. (daran wird gearbeitet) [http://lwn.net/Articles/299591/]
Was dazu noch kommen kann ist eine Art Schranke für die Initialisierungsroutinen. Beim Starten wird nur ein minimales Set an vordefinierten initialisierungsfunktionen aktiviert (z.B. framebuffer, touch und die Grundlegenden Bussysteme, also alles was der Nutzer direkt nutzen können muss). USB Gadget (die Verbindung zum Host PC) kann aber auch parallel zum Start der GUI gestartet werden, auch hierbei wird wieder Rechenzeit frei, die sonst durch das Warten blockiert wäre. Dadurch lässt sich der Overhead von CONFIG_MODULES verhindern und der Kernel startet denoch deutlich schneller (als Nebeneffekt fallen bessere Cacheoptimierungen beim GCC nebenbei mit ab)
Man kann des weiteren am Kernel Speicherinterface noch einige Optimierungen machen, damit auch hier - gerade im Bootprozess - weniger Zeit verbracht wird. Wir sind noch lange nicht am Ende der Optimierungen im Embedded Bereich und es wir noch einiges dazu kommen. Bei Interesse einfach mal die CELF Vorträge zu diesen Themen ansehen.
> Das OpenMoko hat noch schlechtere Hardware Nicht jede Aufgabe ist auf jeder Architektur gleichschnell erledigt und nicht immer ist ein x86 das schnellste System.
> Schade eigentlich. OpenSource wird wohl nie so richtig in der Gesellschaft Anklang finden. Was hat die Bootzeit mit der Akzeptanz für OpenSource in der Gesellschaft zu tun?
Mein Handy brauch fast 2 Minuten, bis ich auf mein Adressbuch zugreifen kann. Ich habe bei mir im Bekanntenkreis auch noch niemanden gehört, der sich ein neues Handy gekauft hat, weil das alte zu lange zum Booten brauchte. ;)
Gerade bei einem Handy finde ich Bootzeiten nicht schlimm.
Ich kann mich nicht erinnern wenn meines zum letzten Mal ausgeschaltet war. Wenn man nicht will das es läutet gibt es Soundprofile, da kann ich durch drücken von 3 Tasten auswählen und umschalten ob es läuten, nur vibrieren oder ganz still sein soll.
Das liegt aber eher an deinem Laptop. Ich habe ein System als Multimedia-PC aufgebaut, der braucht vom Einschalten bis zur Funktion keine 30 Sekunden, und der ist nur minimal optimiert worden. Die größte Optimierung war das weglassen einige unnützer Dienste, und vor allem von GDM (das System hat ein Autologin in die GUI). Und das System ist immernoch voll funktionstüchtig, inklusive Sound, Netzwerk über W-Lan und Lirc.
Ich weiss, weil ich die optimierungen schon erkannt habe (aber nicht brauche) das auch weniger möglich wäre.
Die meisten Mobilgeräte sind einfach nicht wirklich gut optimiert. Mein N800 ist es zweifellos auch nicht, und das ist sehr schade :/
Ich hab mal ein Desktop(!)-Gentoo-System auf deutlich unter 30 Sekunden gebracht - und da war noch nichtmal paralleles Dienste-Starten mit drin. Und weniger 5-10 Sekunden später waren auch schon XF86+FVWM benutzungsbereit. >Das OpenMoko hat noch schlechtere Hardware, sodass auch das Optimieren am Kernel keinen Unterschied >machen wird Letztendlich brauchen doch alle "Full-Featured" Systeme ungefähr die gleiche Zeit zum Booten (irgendwas zwischen 30 Sekunden und 3 Minuten), das hat sich eigentlich mit den Jahren nie geändert.
Von Blubberlein am Mo, 10. November 2008 um 20:12 #
Was passiert, wenn sich die Hardware doch ändert?
Ich möcht nichts dagegen sagen - es ist ein gute Idee, allerdings würd es mich interessieren, was für Fehler konkret auftreten würden, wenn ich zB eine andere Grafikkarte einbau
Von Manfred Tremmel am Mo, 10. November 2008 um 22:40 #
Ein Handy mit Radeon 4870 müsste auch in drei Sekunden booten, sonst wäre der Akku leer, ehe das Teil oben ist. Lange genug um ne Telefonnummer einzutippen, würde es eh nicht laufen.
Hahahaha! Aber jetzt im Ernst... Das N64 hat auch immer sofort gestartet und trotzdem gab es dann immernoch Add-on Module mit extra VRAM oder andere Gadgets wie das Rumble Pack. Ich denkde doch schon, dass die Entwickler eines eingebetteten Systems in etwa voraussehen werden was sie noch an addons rausbringen und diese Features in das Kernel einbinden werden. Das ist doch schliesslich auch Teil des Marketings!
Ist aber schon klar, dass du da nicht eben alles einbauen kannst was dir recht ist. Ist glaube ich bei einem kleinen Handy oder PDA auch nicht so dringend gebraucht.
Von /dev/gentoo am Mo, 10. November 2008 um 22:12 #
Tolle Neuigkeiten. Da kann man nur hoffen, dass es Warp 2 auch für normale Computer geben wird. Ein Systemstart von 3 Sekunden ist sehr nützlich. So könnte man prinzipiell vollständig auf den Ruhezustand verzichten.
wer sich für das Thema "Fast booting" interessiert, wird auch im elinux.org Wiki fündig:
http://elinux.org/Boot_Time
Besonders interessant könnte der Vortrag von Tim Bird sein. Diesen hat er auch vor einigen Tagen auf dem CELF gehalten.
"Tools and Techniques for Reducing Bootup Time": http://elinux.org/upload/d/d2/Tools-and-technique-for-reducing-bootup-time.pdf (die ODF Version findet ihr im Wiki)
Ich erwarte in der Zukunft noch Einiges in dieser Richtung, delayed init calls, asynchron init calls. Damit wird viel ungenutzte Rechenzeit für parallelisierbare Aufgaben frei (z.B. das Starten von Diensten)
Die Embedded System sind an dieser Stelle aktuell noch Vorreiter, weil es bei einem normalen Desktop nicht interessiert, ob es jetz 20 oder 19 Sekunden dauert. Das Schöne an Linux ist ja, dass alle von den Änderungen am Mainline Kernel profitieren ;)
Von /dev/gentoo am Di, 11. November 2008 um 17:22 #
> Das Schöne an Linux ist ja, dass alle von den Änderungen am Mainline Kernel profitieren Als wenn das jetzt bei Microsoft groß anders wäre... Windows 7 ist ein gutes Beispiel. Es wurde deutlich aus den Erfahrungen mit der neuen Technik in UMPCs gelernt, sodass sich die Änderungen auch auf andere Plattformen auswirken können.
Schade, dass Windows 7 jetzt so stark aufgeholt hat und bald nur noch UMPCs mit Windows 7 geliefert werden. Das Hauptargument für Linux war ja bisher der geringe Ressourcenverbrauch.
Unter Linux wurde aber genauso von den Erfahrungen profitiert: "Distributed Development" heißt das Stichwort. Die Entwicklung ist über die ganze Welt verteilt. Durch unterschiedliche Anforderungen (z.B. den langsamen Computer in Russland), betreffen Änderungen am Linux Kernel uns alle. Microsoft hat das Konzept einfach nur kopiert. :(
Linuxbenutzer sind immer noch eine Randgruppe und werden oftmals in der Gesellschaft ausgegrenzt. Es sollte daher mehr Öffentlichkeitsarbeit betrieben werden, um die wirklichen Fakten ans Licht zu bringen. Sonst wird Windows in 5 Jahren genauso stark eingesetzt wie heute schon.
Was meinst Du worum es bei den ganzen "Spintronics" geht? Wir verwenden momentan in einem Computer mindestens 3 Sorten Speicher: Harddisks (magnetisch, also Spin basiert), Ram und Cache (beides elektrisch). Alle drei haben unterschiedliche Vor- und Nachteile und die Systeme werden dadurch entsprechend komplex.
In der Festkörperphysik wird seit Jahrren daran geforscht überall den Spin des Elektrons (also dessen magnetische Eigenschaften) zum Speichern und Schalten zu nehmen, letztlich mit dem Ziel ein irgendwann einen schnellen Computer der wenig Strom verbraucht mit einem riesigen Arbeitsspeicher, der beim Ausschalten nicht verlorengeht zu haben. Vielleicht auch noch mit einem Quantencomputer-Koprozessor.
Da ist man seit Jahren am Forschen und es gibt noch jede Menge Probleme. Aber es arbeiten jede Menge Ferkörperphysiker daran diese zu lösen und man kammt auch voran.
Weiter so!
Damit man die boot zeit von ~ 2-3 Minuten etwas verkürzen kann ^^
Das wäre was feines.
Mfg Lord-Carlos
aber besser 30s als 3min
und diese lösung benötigt afaik hardware, die der freerunner nicht hat (rom)
Darüber lässt sich streiten. Was die Rechenleistung anbelangt, ist der ST natürlich hoffnungslos veraltet. Aber mit dem ST kann man auch heute noch wunderbar arbeiten. Nur weil dessen Programme mittlerweile mehr als 20 Jahre auf dem Buckel haben, heißt das noch lange nicht das man diese auch heute nicht noch benutzen kann. Für viele Menschen würden die vorhandenen Programme auch heute noch locker reichen.
Nur die Tastatur des STs ist eine mittlere Katastrophe. Dafür gehören die Entwicker bei ATARI immer noch gesteinigt.
Dein Laptop startet aber das 20fache an Diensten, was man auf einem Embedded System braucht. Alleine die Zeit, die in unnötige hotplug/udev Events investiert wird, obwohl das rootfs noch nicht gemountet ist (call_usermode_helper läuft ins Leere, da /sbin/hotplug noch nicht existiert), kann man deutlich reduzieren.
Parallel laufende init calls helfen ebenfalls die Bootzeit deutlich zu reduzieren. Die Treiber nutzen aktuell struct platform_device und bekommen erst zeitverzögert einen Aufruf ihrer _probe Funktion. Allerdings dürfen diese Funktionen aktuell schlafen. Man könnte das Schlafen (busy waiting, bis eine bestimmte Zeit vergangen ist) durch ein schedule() ersetzen, welches einen anderen Initialisierungspfad aktiv werden lässt. (daran wird gearbeitet) [http://lwn.net/Articles/299591/]
Was dazu noch kommen kann ist eine Art Schranke für die Initialisierungsroutinen. Beim Starten wird nur ein minimales Set an vordefinierten initialisierungsfunktionen aktiviert (z.B. framebuffer, touch und die Grundlegenden Bussysteme, also alles was der Nutzer direkt nutzen können muss). USB Gadget (die Verbindung zum Host PC) kann aber auch parallel zum Start der GUI gestartet werden, auch hierbei wird wieder Rechenzeit frei, die sonst durch das Warten blockiert wäre. Dadurch lässt sich der Overhead von CONFIG_MODULES verhindern und der Kernel startet denoch deutlich schneller (als Nebeneffekt fallen bessere Cacheoptimierungen beim GCC nebenbei mit ab)
Man kann des weiteren am Kernel Speicherinterface noch einige Optimierungen machen, damit auch hier - gerade im Bootprozess - weniger Zeit verbracht wird. Wir sind noch lange nicht am Ende der Optimierungen im Embedded Bereich und es wir noch einiges dazu kommen. Bei Interesse einfach mal die CELF Vorträge zu diesen Themen ansehen.
> Das OpenMoko hat noch schlechtere Hardware
Nicht jede Aufgabe ist auf jeder Architektur gleichschnell erledigt und nicht immer ist ein x86 das schnellste System.
> Schade eigentlich. OpenSource wird wohl nie so richtig in der Gesellschaft Anklang finden.
Was hat die Bootzeit mit der Akzeptanz für OpenSource in der Gesellschaft zu tun?
Mein Handy brauch fast 2 Minuten, bis ich auf mein Adressbuch zugreifen kann. Ich habe bei mir im Bekanntenkreis auch noch niemanden gehört, der sich ein neues Handy gekauft hat, weil das alte zu lange zum Booten brauchte. ;)
Gruß
Devlin
Ich hätte es schon lange gegen die wand geknallt und mir ein neues geholt ^^
Ich kann mich nicht erinnern wenn meines zum letzten Mal ausgeschaltet war. Wenn man nicht will das es läutet gibt es Soundprofile, da kann ich durch drücken von 3 Tasten auswählen und umschalten ob es läuten, nur vibrieren oder ganz still sein soll.
Dein Laptop ist auch schrecklich unoptimiert. Ich werd nie verstehen warum Linuxer immer ständig jeden schei* Dienst sofort starten müssen.
Funktionen sollten starten wenn sei benötigt werden. Oder vorgeladen werden wenn Zeit ist, *nachdem* wichtiges wie das Userinterface steht.
Und das System ist immernoch voll funktionstüchtig, inklusive Sound, Netzwerk über W-Lan und Lirc.
Ich weiss, weil ich die optimierungen schon erkannt habe (aber nicht brauche) das auch weniger möglich wäre.
Die meisten Mobilgeräte sind einfach nicht wirklich gut optimiert. Mein N800 ist es zweifellos auch nicht, und das ist sehr schade :/
Und was hat das jetzt mit dem Thema zu tun?
>Das OpenMoko hat noch schlechtere Hardware, sodass auch das Optimieren am Kernel keinen Unterschied
>machen wird
Letztendlich brauchen doch alle "Full-Featured" Systeme ungefähr die gleiche Zeit zum Booten (irgendwas zwischen 30 Sekunden und 3 Minuten), das hat sich eigentlich mit den Jahren nie geändert.
rom != nand
im übrigen ist der nand des neos extrem langsam (limitierender faktor ist allerdings die cpu)
Ich möcht nichts dagegen sagen - es ist ein gute Idee, allerdings würd es mich interessieren, was für Fehler konkret auftreten würden, wenn ich zB eine andere Grafikkarte einbau
*ROFLOL*
So hab ich lang nicht gelacht - you made my day.
Danke
Ist aber schon klar, dass du da nicht eben alles einbauen kannst was dir recht ist. Ist glaube ich bei einem kleinen Handy oder PDA auch nicht so dringend gebraucht.
wer sich für das Thema "Fast booting" interessiert, wird auch im elinux.org Wiki fündig:
http://elinux.org/Boot_Time
Besonders interessant könnte der Vortrag von Tim Bird sein. Diesen hat er auch vor einigen Tagen auf dem CELF gehalten.
"Tools and Techniques for Reducing Bootup Time":
http://elinux.org/upload/d/d2/Tools-and-technique-for-reducing-bootup-time.pdf
(die ODF Version findet ihr im Wiki)
Ich erwarte in der Zukunft noch Einiges in dieser Richtung, delayed init calls, asynchron init calls.
Damit wird viel ungenutzte Rechenzeit für parallelisierbare Aufgaben frei (z.B. das Starten von Diensten)
Die Embedded System sind an dieser Stelle aktuell noch Vorreiter, weil es bei einem normalen Desktop nicht interessiert, ob es jetz 20 oder 19 Sekunden dauert. Das Schöne an Linux ist ja, dass alle von den Änderungen am Mainline Kernel profitieren ;)
Devlin
Als wenn das jetzt bei Microsoft groß anders wäre... Windows 7 ist ein gutes Beispiel. Es wurde deutlich aus den Erfahrungen mit der neuen Technik in UMPCs gelernt, sodass sich die Änderungen auch auf andere Plattformen auswirken können.
Schade, dass Windows 7 jetzt so stark aufgeholt hat und bald nur noch UMPCs mit Windows 7 geliefert werden. Das Hauptargument für Linux war ja bisher der geringe Ressourcenverbrauch.
Unter Linux wurde aber genauso von den Erfahrungen profitiert: "Distributed Development" heißt das Stichwort. Die Entwicklung ist über die ganze Welt verteilt. Durch unterschiedliche Anforderungen (z.B. den langsamen Computer in Russland), betreffen Änderungen am Linux Kernel uns alle. Microsoft hat das Konzept einfach nur kopiert. :(
Linuxbenutzer sind immer noch eine Randgruppe und werden oftmals in der Gesellschaft ausgegrenzt. Es sollte daher mehr Öffentlichkeitsarbeit betrieben werden, um die wirklichen Fakten ans Licht zu bringen. Sonst wird Windows in 5 Jahren genauso stark eingesetzt wie heute schon.
Mit welcher Hardware wird es denn ausgeliefert?
Ich drücke auf den Power-Button meines PC und er ist sofort benutzbar. So wie eine normale Glühlampe oder ein Taschenrechner.
Ich öffne eine Anwendung und sie öffnet sich sofort. Kein Loading-Teaser erscheint. Ich lasse den Button los und die Anwendung ist einfach da.
Computer sind heute immernoch sooo langsam, aber jeder hat sich dran gewöhnt.
In der Festkörperphysik wird seit Jahrren daran geforscht überall den Spin des Elektrons (also dessen magnetische Eigenschaften) zum Speichern und Schalten zu nehmen, letztlich mit dem Ziel ein irgendwann einen schnellen Computer der wenig Strom verbraucht mit einem riesigen Arbeitsspeicher, der beim Ausschalten nicht verlorengeht zu haben. Vielleicht auch noch mit einem Quantencomputer-Koprozessor.
Da ist man seit Jahren am Forschen und es gibt noch jede Menge Probleme. Aber es arbeiten jede Menge Ferkörperphysiker daran diese zu lösen und man kammt auch voran.
Besser nicht. Ein anderes OS ist durch die Zweiteilung nahezu ausgestorben