Hi Ralf and Ira,

> The problem is just to load everything and the kitchen sink by default, 
> regardless if needed or not. FDAPM is not necessary to run FreeDOS

The kernel has a built-in IDLEHALT option which you can activate
in config sys and which already implements the core idea: To stop
the CPU (or give away a time slice in case of virtual computers)
at "obviously idle" moments. FDAPM itself has a few additional
features such as displaying statistics about how idle DOS was or
capturing more idle moments than a DOS kernel itself is aware of.

> Beside that the last APM spec (v1.2) is now 20 years old and for at 
> least 19 years superseded by ACPI and I am not sure if FDAPM does...

FDAPM only supports very few ACPI functions, notably powering off
your computer for systems where the BIOS no longer supports APM
and the old ACPI throttle where the mainboard freezes the clock
for N out of each 8 (sometimes 16) time slices of e.g. 1s / 32k.

Because ACPI, even in the oldest versions, is a complex description
and programming language with a virtual machine and everything, the
few things done with ACPI by FDAPM are based on "keyword spotting"
in the ACPI code. In particular on newer systems, this often fails.
However, implementing a full ACPI VM would make FDAPM really huge.

Another FreeDOS tool which does things with less ancient computers
is PCISLEEP, which checks which of your PCI (or AGP or PCIe) cards
and devices support the easiest energy saving modes and offers to
put them to sleep or wake them up. In case of graphics cards, this
includes trying to re-boot the graphics BIOS. Again, implementing
a full energy saving system would make the tools huge, because PCI
also has "state loss" energy saving modes where you have to backup
and restore all hardware settings after wake-up. Plus you want the
devices to sleep and wake in a good order, e.g. bridges vs. disks.

So in short, this is all interesting to look at (in particular, my
PCISLEEP works great as minimalist LSPCI alternative for DOS), but
if you want maximum battery life, use a big modern operating system
with advanced drivers for the various components of your hardware.

If you only want to avoid fast battery drain and lower fan noises,
or want to keep your virtual PC / QEMU / virtualbox / whatever from
hogging a complete CPU core, then the IDLEHALT option built into
FreeDOS kernel, together with BIOS settings, already helps quite a
bit and the other tools are for making the experience a bit nicer.

Regards, Eric

PS: If any of the tools does something stupid, by misunderstanding
a too modern system, remember the ACPI emergency override: Press
the power button for several seconds to force a power off (or on).
Can be useful when you manage to switch off cooling at full speed,
or when you get stuck in a sleep state without wake-up button/key.



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to