The goal of this thesis is to overview the different multi-core programming models and technologies. Nowadays multi-core systems are more and more popular. Personal computers usually are based on multi-core technology since some years ago so it is needed some technologies for implementing it. In this thesis, we have studied several models and technologies of multi-core programming. We have also studied and presented a comparison of the models and technologies. Furthermore, we have shown the installation and configuration instructions for the two main technologies (OpenMP and MPI).