Lawrence:
Wow! That is a little heavy to follow, but I enjoyed the trip.
1. IMO, memory checking should be turned off, unless it is a server machine, but then again, why is it re-booting, and surely the machine has ECC on it anyway. This may save a few seconds, but is strictly up to the BIOS manufacturer to handle the POST, so OS or not, flash memory disk or not, these steps take time.
2. There are hundreds of processes that take place in a modern OS like Win2k/XP. Want to see a list? Hit F8 immediately at start of OS load and select normal with logging. After booted, strap on your glasses and open the bootlog.txt file in the root.
Think about what gets initialized, and think about what tasks are dependent on others. For example, you can't just load and bind the IP drivers without initializing the hardware first.
Anyway, as MS OS's have improved, so have their ability to queue and overlap boot tasks - that is why the disk seems busy during the boot. Think of all the hardware you know about:
PCI & AGP buses
Video
Sound
IDE & other storage devices, usually several
floppy disk
USB
modem
Firewire
PS/2 with mouse & keyboard
COM & LPT
Memory
etc...
Now imagine all of the devices you don't know about.
You want Plug & Play? You wait for it then. All the little devices out there have to be located. Much of this initialization is query & response based.
You want Network services? You wait for that then even longer. Some of the timeouts for these are insanely long. How about an IP address? Pack a lunch while the DHCP server gets around to it.
Would you like to print? Gotta init the port. Gotta load a print spooler. Oh, and then print drivers. Maybe even check the printer status.
You want ACPI? Sit tight for some BIOS calls.
How about some fonts? The list needs to be indexed.
It goes on...
If you really want to have a blast, and kill a good hour or so, open your System Information applet (msinfo32.exe). Look at all the hardware resources, system components, drivers, and services. Again, keep in mind that most of these are dependent on others. It is amazing it doesn't take longer to boot.
BTW, you could easily build a machine that boots very quickly. It just wouldn't be very usable or much fun, because it wouldn't have any accessories or software ready to go. There is much work done to reduce boot times - this is a huge consumer complaint (instantly available PC initiative and others). By today's standards, if it boots in around 30 secs, it is fast.
Now my biggest question is this - Why would anyone re-boot a machine anyway? With standby and hibernate modes available since Win98, you should be able to leave the machine running forever (except when it crashes). I standby my machine when I am not using it and hibernate it overnight for very fast "boot" times.
Anyway, hope that helps. Sorry so long and convoluted.
-DW