The memory model is flat enough. The problem with the memory is, you only have about 200kB traditional RAM. But then, you have 8MB of PSRAM. But it requires strict 4-byte alignment, and is noticeably slower.

What makes traditional OSs difficult on this platform, is the lack of memory protection. But I am a simple man, I am not writing an OS, all I wanted was a usable shell and an apps installer, so I made that work.

Things change when the underlying assumptions change. Memory protection is mostly useful for multitasking, but traditional multitasking isn't always needed when your entire app starts faster than Windows can minimize a program.

Just like MS-DOS and CP/M did great with such hardware constraints.

I still think many don't understand how much is possible with a plain ESP32.

We should have an argument about how WASM would be the perfect app format for this.

Like USCD Pascal P-Code, M-Code, Taos, IBM TIMI, JVM, CLR, Parallax Propeller, and many others.