Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: ehenkes am 08. August 2009, 10:03

Titel: Shutdown PC
Beitrag von: ehenkes am 08. August 2009, 10:03
Wie fährt man den Rechner per Software runter. Im Netz finde ich nur Methoden mit dem Windows shutdown.exe ...  :-D
Steht das im wiki?
Titel: Re: Shutdown PC
Beitrag von: bluecode am 08. August 2009, 10:29
Über APM (BIOS) oder über ACPI. Ersteres verwendet BIOS-Interrupts, d.h. ist Real-Mode bzw. Virtual-8086-Mode only, und letzteres steht in der gigantischen ACPI-Spec.
Titel: Re: Shutdown PC
Beitrag von: bluecode am 08. August 2009, 10:52
Über den Virtual-8086-Mode (ist ein Untermodus des Protected-Mode) mit APM schon, ansonsten würde ich sagen Nein, nicht mit vertretbarem Aufwand.
Titel: Re: Shutdown PC
Beitrag von: kevin am 08. August 2009, 11:49
Sie bittet vermutlich über irgendwelche Umwegen den Kernel, herunterzufahren. ;)

Und der dürfte dafür normalerweise ACPI benutzen.
Titel: Re: Shutdown PC
Beitrag von: bluecode am 08. August 2009, 11:51
Ich wollte in dem anderen Post nur sagen, dass ACPI etwas zuviel Aufwand ist für ein Hobby-Betriebssystem. Das Microsoft ein paar mehr Entwickler, Test-PCs, etc.. zur Verfügung hat sollte klar sein.
Titel: Re: Shutdown PC
Beitrag von: tarrox am 08. August 2009, 12:53
Man muss ja nicht den ganzen ACPI dekodieren. Es reicht sich die nötigen Informationen rauszusuchen. Im englischsprachigem Forum gibt es dazu einen guten Eintrag http://forum.osdev.org/viewtopic.php?t=16990, den man selbst in seinem Hobby-Betriebssystem umsetzen kann. Ansonsten gibt es noch Open-source Projekte, die zur Aufgabe haben, den ACPI zu dekodieren. Man könnte versuchen eins davon zu rüberzuporten.
Titel: Re: Shutdown PC
Beitrag von: kevin am 20. August 2009, 12:28
Könnte man auch machen, wenn man sich unbedingt vor dem VM86 drücken möchte.
Titel: Re: Shutdown PC
Beitrag von: XanClic am 20. August 2009, 15:35
Wenn man einfach nur den Computer ausschalten möchte, dann kann ich wirklich den von tarrox empfohlenen Thread empfehlen. Ich habe den Code ausprobiert und muss sagen, es war ziemlich einfach, ihn zu portieren.