In metallic conductors, free electrons are the current carriers, i.e, it is due to the motion of the free electrons that conduction takes place in a metallic conductor. The protons do not move as they are inside the nucleus and bound by strong nuclear forces. It is the electrons of the outermost shell of the atom which are least bound to the atom, flow and cause conduction
In semiconductors the current carriers are free electrons and holes.
What are holes?
Holes are actually vacancies created when an electron is freed from a bond. It is assigned a positive charge. When a potential difference is applied across a semiconductor, the free electrons move towards the positive terminal as in the case of a metal. The bonded electrons also move towards positive terminal from vacancy to vacancy and this causes the holes t move towards the negative terminal.