Could any one tell me about genetic algorithms and how these are used to solve optimization problems?

I am working on task allocation in distributed computing systems. To get the optimal results i need to know about genetic algorithms.