In Epsilon 2.0 (1985) for MS-DOS, you could Cntl-X Cntl-M to get a buffer that had a real, live shell in it, where you could start up background compiles and such, and still be able to edit your other buffers live. This was a miracle! (DOS could barely run a single process, with certainly no preemptive scheduling; and even if you dreamed of multi-tasking, there was a maximum of 640k of memory, with nothing virtual about it).