Difference between multi-programmed system and time sharing system

Hi guys,
Please Explain the difference between multi-programmed system and time sharing system. Also tell me that What is the difference between FILE DESCRIPTOR and BUFFER?
Thank you all.
