This subject is long time in the making for me and it particularly took off when I was researching bootloaders for computers and consumer electronics, which, I will note, differ drastically. I've learned how ancient and inflexible x86 hardware is and just how much the structure of software is constrained by it. Examples of what I am talking about:
- Bootloaders cannot have an arbitrary size.
- Specialized functions like memory-mapped hardware.
- An Intel processor's ties to a particular type of firmware.
So I've wondered about systems that might be designed like this:
- Writing text to the screen handled pixel-by-pixel by an operating system instead of an intermediary microcontroller.
- Sectorless hard drives wherein a computer simply begins executing at the first address and the bootloader can be any size.
- Functionality of microcontrollers moved into the software.
I understand that this would take away a lot of simplicity, but do systems like this exist? I am guessing this would be more prevalent in embedded systems. To better understand this question, imagine a device where there are no controllers or independent systems and everything is controlled by the CPU.