Здравствуйте, cppguard, Вы писали:
C>Ничего из него непонятно.
Тогда проще: представьте, что Вы работаете на конвейере, по которому движутся, скажем, тонкие стеклянные изделия, которые Вам нужно упаковывать в коробки. Конвейер может иметь следящее устройство, которое останавливает его, если Вы не успеваете снять очередное изделие, а может и не иметь его. Скорость Вашей работы может быть как выше скорости конвейера, так и ниже нее.
— Если Вы всегда успеваете вовремя снять изделие, и аварийная остановка никогда не срабатывает, или вообще не предусмотрена — это hard realtime.
— Если Вы обычно успеваете, но в редких случаях остановка таки срабатывает — это soft realtime. Здесь также возможно, что остановки не происходит, и изделие разбивается (теряется безвозвратно). Предполагается, что такие случаи не наносят заметного вреда общему процессу. Так работает, например, передача по UDP, что не мешает организовать по TCP вполне надежную передачу звука или видео в реальном времени.
— По мере увеличения частоты остановок из-за неуспевания уменьшается возможность отнесения процесса к realtime.