Can anyone tell me what are the basic differences between Unix and DOS/Windows file systems?

Please also explain why programs written on unix don't run under windows/dos and vice versa.

Thanks a lot