What was the first operating system that supported preemptive multitasking?
By preemptive multitasking I mean that user processes were able to run in a time-sliced manner without special programming, not as loaded interrupt services, etc.
I've heard an opinion expressed that it was CTSS, but couldn't find any specific documentation to substantiate this.
Closely related, I would also be interested in the first operating system that implemented cooperative multitasking, where one process would execute only after another process yielded control.