Wait state is a state where the schedulable unit must wait to be considered. This resource manager determines also according to which policy the waiting unit will be scheduled and moves the chosen unit from wait state to ready state.
Ready state is a state where the schedulable unit is ready to be scheduled.
When a schedulable unit is in ready state, it needs a dispatcher to move the unit from ready state to running state. Running state is a state where the schedulable unit uses the resource. In current OS, the next process is chosen according to priority policy. In future OS, we will need different schedulers which will deal with multimedia streams as well as with other types of data.