Lazy loading is not unique for the web or in anyway a new idea. The web is in fact one of the last places it has appeared in.
Indeed. In apps lazy loading is something you add when you need it. But for kernels, it’s the first problem you tackle: how to pick yourself up with your bootstraps.
Booting is tricky now, and it always has been. Right back to the early machines that were booted by manually entering machine code via switches.
Interestingly AWS virtual machines still boot in 16-bit mode, then bootstrap up through 32 and then 64 bit modes, last I heard.
All Intel-compatible and emulated Intel-compatible processors do this. You'd have to run ARM to avoid it.
I thought x86 started in 64-bit mode when using UEFI?
More like the UEFI puts it into 32-bit/64-bit mode before it gets to the kernel, the hardware didn’t change.