The general rule of thumb is that if a process can transition from RUNNING to READY not due to it's actions, then the system is preemptive. So, (3) can only occur in a preemptive system. The rest of the options can occur in non-preemptive systems. Here are examples:
- WAIT to READY can occur when a process's IO request has been serviced, and is now ready.
- READY to RUNNING can occur when a process that was in the run-queue is selected to be executed.
- RUNNING to READY only occurs in a preemptive system.
- RUNNING to WAIT can occur when a process requests IO, and now has to wait for the IO request to processed.
So, options 1,2, and 4 can occur due to non-preempetive actions.