The Phosphorus atom, in the middle of the figure, has one extra electron in its outer shell, compared to the 4 outer electrons of Silicon. Four of these electrons of Phosphorus will then be shared with the nearby Silicon atoms in valence bonds, leaving an extra electron not participating in such bonds. This electron will be freer to contribute to an electric current when the sample is subject to a potential difference. Such a device is called an n-type semiconductor, as the free charge carrier is an electron with a negative charge.
One could also consider doping Silicon with Aluminum, as in the figure below.
The Aluminum atom, again indicated in the center of the figure, has three electrons in its outer shell, which is one less electron than needed to form valence bonds with four nearby Silicon atoms. One can think of this as the existence of a hole, or an absence of an electron. When a potential difference is applied across this sample, an electron from a nearby site will migrate over to fill up this hole, but that leaves a hole in the original site. This hole in turn is filled up by an electron from some other site, and so on. The motion of charges in this case is more conveniently thought of as the motion of the holes, which being the absence of an electron can be considered as being the presence of a positive charge. This is called a p-type semiconductor.
It is perhaps helpful to draw an analogy between the motion of these holes and the movement of cars in rush-hour traffic. Invariably in a traffic jam gaps between cars open up, which are filled by cars moving in. These cars themselves leave gaps, which are in turn filled up by other cars. One could then describe the traffic jam either as the flow of cars or as a flow of the gaps. In a similar manner, in a p-type semiconductor it is still electrons which are moving (i.e., the cars), but in this case it is more convenient to describe the flow of charge in terms of the movement of holes (i.e., gaps).