Hi n3prakash,
Good RTOS definitions and understanding is in the FSLMQX/doc/mqx/mqxug.pdf chapter #2.
In general an event is good to indicate an interrupt has occured and you want to notify one or more tasks that the interrupt has occured.
Semaphore good for limiting the number of tasks that can access a specific resource. Example might be you only want two task to be able to output data on a specific UART. If a third tasks tried to output data it would block until a semaphore became available. A mutext is a special case of semiphore where only one task can access a resource. Example would be a task data logging to a file where you cannot have more than one task accessing the same file.
Hope this helps.
Regards,
David