The process scheduling aims to arrange CPU time to multiple processes for providing users with more efficient throughput. Except the class of process set by user, conventional operating systems have applied the equivalent scheduling policy to every process. Moreover, if the scheduling policy is once determined, it is unable to change without resetting the operating system which takes much time. In this paper, we propose an intelligent CPU process scheduling algorithm using fuzzy inference with user models. It classifies processes into three classes, batch, interactive and real-time processes, and models user's preferences to each process class. Finally, it assigns the priority of each process according to the class of the process and user’s preference through the fuzzy inference. The experimental result shows the proposed method can adapt to user and allow different scheduling policies to multiple users.