Gerçek zamanlılık Hard ve Soft şeklinde iki alt kategoriye ayrılır. Hatanın kabul edilmediği hard sistemlerde zamanlama diğer amaçlara feda edilemez. Örneğin nükleer santral kontrol sistemi. Zamanlamanın aynı kritik düzeyde olmadığı soft sistemler hatayı bir ölçüde kaldırabilirler. Örneğin ülkemiz ATM’lerinde bir yılda gerçekleştirilen ortalama bir milyar işlemin 2.500’ü başarısız olmakta ve çoğu çağrı merkezlerindeki düzeltmelerle telafi edilmektedir. Oysa atom bombasının kontrollü patlatılması şeklinde ifade edebileceğimiz nükleer santrallerde her 20-50ms içinde kontrol işlemi yapılmadığı takdirde infilak olasılığı yükselmektedir. Uçaklarda bu süre 40-100ms’dir. Her gerçek zamanlı sistem ms mertebesinde çalışmak zorunda değildir. Zaman kiminde mikro saniye, kiminde saniye biriminde akar. Önemli olan maksimum hız değil, işin doğasına uygun hızda garantili çıktı üretmektir.
Gerçek zamanlı sistemler “fault tolerant” yapıdadırlar. Bu yapı sistemin kusursuz olduğu anlamına değil, aksamalar oluşması halinde bile çıktıların tam ve zamanında gerçekleştirilmesi demektir. “Fault tolerance” sisteme tasarım aşamasında donanım ve yazılım yedeklemeleri ile kazandırılan bir üstünlüktür. Ancak ne gibi sorunların çıkabileceğini öngörmek ve engelleyici kuralları algoritmaya eklemek de zorunludur. Çıkabilecek sorunlardan biri “Bizanslı Kusuru”dur. Bizanslı kusuru sistemin bileşenleri arasında iletişim sorunları yaşanması nedeniyle hatalı çalışması veya “livelock” türü kilitlenmeye neden olur. Bizanslı kusuru ismi aynı düşmana saldıran, birbirlerinden hayli uzaktaki (otomasyon terimiyle dağıtık!) iki Bizans ordusu arasındaki iletişimsizlik sorununu örneklemek için konmuştur. Habercilerin arasına giren hainler generalleri kasıtlı olarak yanlış yönlendirilmişler ve yaptıkları birbirlerini zorda bırakacak hamleler sonucu Bizans ordusu bozguna uğramıştır.
Byzantine Fault Tolerance algoritması 1999 yılından beri hazır yazılım olarak satılmaktadır.
Uzak tarihi de yakın tarihi de bilmek faydalıdır!