I’d say as well, that a huge difference is a microcontroller has direct access memory (I.e. without translation), and a bigger computers CPU/SoC has an MMU (memory management unit) that does address translation. This is a key hardware difference for isolation of multiple processes, which you don’t typically have in a microcontroller (you _could_ have an MPU to give you some partitioning, but that’s further down the road).