Time sharing in its simplest form needs nothing more than a periodic interrupt to invoke a task switcher. Hardware to manage user memory space is certainly nice, but not manditory, particularly if the users can be constrained (by compiler or application) to run in only the memory space allocated to them.
"Dynamic Address Translation" is an impressive phase, but early machines had nothing more than a relocation register and a protection register. The user's memory addresses were summed with the relocation register to get a physical address. The protection register set an upper bounds on the user's memory access and caused a trap or fault to the kernel if exceeded.
Often as not, "dynamic address translation" was added to machines to overcome hardware memory space limitations rather than to implement timesharing.
I disagree. I installed a fully functional 8-user timeshare system on a PDP 8 with 12k words of memory back in 1972. The early Unix and Decsystem 10's were amazingly efficient for the resources available then.
Anyone interested in hearing about this stuff from the people that actually did it should review the early years of alt.folklore.computing. Lots and lots of good posts.
I've always been amazed that not a single science fiction writer *got* the internet. All of the SF saw the future as monolithic central computers.