This paper addresses the problem of a unified framework for resource scheduling with emerging constraints that are important in cluster computing systems. Most research in job scheduling study in multi-programmed systems has focused solely on the allocation of processors to jobs. However, since I/O is also a critical resource for many parallel jobs, the allocation of processor and I/O resources must be coordinated to allow the system to operate most effectively. To this end, we present an efficient job scheduling policy for cluster computing systems. We studied the performance of the proposed scheduling policy under various parameters. We also compared the performance of the proposed scheduling policy with a recently proposed scheduling policy. The results show that our policy performs substantially better.