In this paper we comprehensively investigated the issue of reliability-driven real-time scheduling for periodic tasks in heterogeneous systems. First, we built a reliability model in which the concept of reliability cost is introduced in the context of heterogeneous realtime systems. Next, we proposed a novel reliabilitydriven scheduling algorithm (referred to as Repars) for periodic tasks in heterogeneous systems. Third, after extending the reliability model to meet the needs of our fault-tolerant scheme, we developed a fault-tolerant scheduling algorithm or Refine. Refine aims to enhance system reliability while being able to tolerate one-processor failures in heterogeneous real-time systems. Experimental results showed that Repars is superior to RMFF in terms of both schedulability and reliability. When compared with Repars, Refine significantly reduced the reliability cost by up to 34% with graceful degradation in schedulability.