This paper describes a method of job shop scheduling and co-designing a multiprocessor system with the minimal number of processors. The program is represented with a direct acyclic graph, and there is a fixed real-time deadline as well as a restriction on the reliability of the system. The system is supposed to tolerate both hardware and software faults. A simulated annealing algorithm is proposed for the problem, and it is evaluated both experimentally and theoretically in terms of asymptotic convergence. The algorithm is also applied to a practical problem of scheduling in radiolocation systems.