The modern equivalent to this would be an embedded system with an RTOS, where you do get full control of memory, because you are the OS. We just have nice abstractions on top of that for the most common use cases, since you very rarely need that precise of control over system timings or memory allocation.