Task scheduling algorithm, with which the tasks with precedence constraints are assigned to the proper processor, is vital for obtaining high performance in multiprocessors system. In this paper, we firstly analyzed three typical table-based algorithms, i.e. MCP algorithm, ETF algorithm and BDCP algorithm. It is showed these algorithms cannot guarantee that the critical tasks have the priority to schedule firstly. To solve this problem, we proposed a new global scheduling algorithm that based on dynamic critical path (GDCP). In GDCP algorithm, tasks on the critical path have the priority to be scheduled firstly in each scheduling step, and a global search strategy will be applied to select a suitable processor to execute each task, thus reduces the schedule length. The result of experiments shows that the proposed algorithm is better than other algorithms.