This thesis presents a parallel scheduling algorithm of multi-core processor based on task clustering and duplication. This algorithm, using the strategy of task clustering, gives priority to the operation of thread nodes of the same process on the same processor and effectively reduces time complexity of task scheduling. In order to avoid the unbalanced task load on the processors, it will employ their ultimate values to control the load. Finally, for achieving the optimal time of task operations, this algorithm, with the adoption of task duplication strategy, looks for the key tasks and duplicates them so as to fully utilize the resources of each core on the processor and improve the efficiency of task scheduling. The analysis of the experiment shows that, with the increasing number of task scheduling, the time of task operation of this algorithm is always the least.