PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Reboot Code



Sandal
26-07-2002, 23:44
Hallo,

hat hier vielleicht jemand Ahnung, wie der Reboot/ Shutdown bei Linux programmiert ist? Vor allem im Gegensatz zu Win2K?
Ich habe auf meinem Rechner den interessanten Effekt, daß Linux und Win98 den Rechner rebooten und ausschalten können. Win2000 aber nicht....

Sandal

tkortkamp
27-07-2002, 01:06
Hi!
Ich sehe jetzt zwar nicht den Zusammenhang zum Programmieren, aber du musst schon die Powermanagementsachen (APM-Unterstützung bei den Energies-Option/Systemsteuerung oder so) an machen.

c ya,
Tobias

Sandal
29-07-2002, 20:43
Ja, klar. So einfach meinte ich das nicht. Wenn man Windows installiert (und neuerdings auch bei Linux 1 Mal), wird der Rechner vom Setup neu gestartet. Dasselbe passiert bei "shutdown -r now" oder unter Windows.
Auf meinem Rechner geht das unter Linux aber nicht unter Windows.

Ich habe früher unter DOS viel rumprogrammiert und erinnere mich schwach, daß es für den Reboot verschiedene Interrupts gab...

Sandal

Sion
30-07-2002, 20:45
Original geschrieben von Sandal
Ja, klar. So einfach meinte ich das nicht. Wenn man Windows installiert (und neuerdings auch bei Linux 1 Mal), wird der Rechner vom Setup neu gestartet. Dasselbe passiert bei "shutdown -r now" oder unter Windows.
Auf meinem Rechner geht das unter Linux aber nicht unter Windows.

Ich habe früher unter DOS viel rumprogrammiert und erinnere mich schwach, daß es für den Reboot verschiedene Interrupts gab...

Sandal

Der Reboot selbst dürfte über eine BIOS-Funktion ausgeführt werden. Das sind Dinge, die du weder unter Linux noch unter Win direkt machen kannst.

Unter Linux werden durch shutdown verschiedene Scripten ausgeführt, bzw. in Runlevel gewechselt (bei Suse: rc 6). Ganz am Ende dieses Scriptes (/etc/init.d/rc6.d/S20Reboot) wird dem Kernel der Befehl (über das Programm /sbin/halt) zum Reboot gegeben. Aber erst nach dem beenden von Services und unmounten der Dateisysteme usw.

Unter Win fast genauso einfach einen Reboot anordnen, in dem du eine bestimmte Funktion eine Kernel-DLL aufrufst, was auch dem Klicken Start->Beenden->Rebootwählen->OK entspricht.
Aber auch hier geht's nicht direkt zum Reboot, das sollte auch jedes Betriebssystem verweigern!

Soweit ich weiss wurde bei Linux schon immer irgendwann neu gebootet, früher bei Suse halt nach der Installation, bei Suse8 jetzt schon dazwischen.

Sion