ok, I'll quote your whole thing too, it'll save me the hassle of referring to your points with a few nouns.
Defragging a potentially huge disk, in the background, on-the-fly, so the disk never slows down.
Why on earth would it do this while on battery? Can't it wait until the machine is plugged in again?
No, because you may never plug it in, and when you do, you don't suddenly want it to have loads of work to do and slow you down when you want it at its fastest.
File search index, in the background, on-the-fly, so you can search faster. You can turn this off.
Again, why do this by default when on battery?
Again, for the same reason.
Full window dragging, and many other graphics enhancements. You can turn these off.
This will have almost no impact on battery life unless you are spending most of your time dragging around windows for your own amusement.
Hence my words "and many other graphics enhancements". Read more.
Is the printer still there? Let's check again.
Why? If I'm not trying to print anything, who cares if the printer is there.
Because then you'll have no idea why it isn't there. Much easier to know what's wrong when it goes wrong, rather than six days later. If you don't want to know about your printer, unplug it. Or turn this feature off.
Port polling, did you know that a USB port might gett polled 50'000 times per second? You can turn this down. A lot.
Why default to such an aggressive polls/second while on battery?
Welcome to high-speed and responsive. If you want it slower and laggy, you can easily change it.
Scheduled tasks. Oh so many scheduled tasks. You probably have over 1'000 defined.
I certainly didn't schedule over 1000 tasks. Why are there over 1000 tasks scheduled and why are they scheduled to run while on battery?
All of the above things are scheduled. Those things happen on battery power too. Like printing. Battery power doesn't mean you lose features.
Is the internet still connected? Let's check again.
Why? I'll know as soon as a webpage can't load.
Same as with the printer. Knowing that you won't be able to load a webpage is much more useful when you sit down to get some work done. And there are internet-related activities that don't involve a webpage that you requested. Sometimes we have tools and applications and utilities running in the background that depend on the connectivity. If it's gone, that means my scheduled backup that will run overnight won't work. I should fix it now, because I won't be around overnight to see it not working. I also don't check it every time it runs, because it's robust, and can handle a missing connection for one night -- it'll try again a few hours later. But I should know that things are dying all around me before it becomes an issue. Welcome to business.
An actual software Firewall. You can turn it off, or make it much simpler.
If this has any effect on battery life then it is horribly, horribly written.
If there's one feature that can be a little better, but it would consume more power, should it be thrown out? We're talking about security here. Oh yeah, windows also checks to see that your anti-virus exists, and is functioning properly -- with active tests. Should it not check to see that your third-party virus scanner is functioning properly? What would you like to happen if your virus scanner just crashes silently one day? Do you ever check on it?
Multi-user, multi-profile. Everything gets doubled.
You have multiple users logged into your laptop while on battery? Sure, it's possible but, I find it highly unlikely that most people do.
Actually, since most of the above features run as a system user, you're always logged into multiple accounts. Typically three accounts -- your own, the system account, and the other system account. And often also the admin account if you're doing anything with elevated privs. So up to four accounts concurrently. Your user account may not have access to the things that you've scheduled to happen in the background.
Is the printer still there? Let's check again.
Is the internet still connected? Let's check again.
See above.
See above.
Event logging. Windows knows what it's doing, because it takes the time to write it down.
That's the only potentially valid thing you've said so far. Well, the first sentence at least.
Ok then. I guess you've never needed to look at logs from a week ago. That's fine. I have. But my machine is responsible for doing things without me, so that's a semi-common thing in my world.
The windows registry. It's probably the single most reliable aspect of any operating system. It's incredibly fast, always-on, used tens of thousands of times in a single moment by a any application -- my graphics suite writes 12'000 registry entries when I close the application. And you never need to worry about it getting corrupted.
At this point I'm wondering if this is actually a troll.
Run Paint shop pro, photoshop, ultraedit. You'll see over 50'000 registry reads and writes on start-up. And they all happen within 1 second. I've written some of my own software anchored to the registry. It's fantastic. It runs with the reliability of a transactional database. It hasn't corrupted on any of my 50 machines or my associate's 1'300 machines in the last 15 years.
No fewer than eight different scripting languages available at any moment.
I don't see how this could affect battery life at all.
Many scripting languages are interpreted languages, and are purely CPU bound. They weren't all invented for power efficiency. There's no choice in the matter. If you want to support an old language that only exists in one way, then that's the way. If anything you're running, or want to run in an instant, uses said language, then it's going to consume power in its own way.
Twenty versions of a single DLL loaded concurrently, for cross-decade application compatibility.
Except for the disk access to read the DLLs, just having them in memory makes no difference at all.
Fast active memory uses power. Modern memory shunts chip by chip based on usage. Swapping memory when you're over-capacity takes disk reads, disk writes, memory reads, and memory writes. ECC memory does even more work.