IMHO главное не функционал, а то, что это готовый, распространяемый на каких либо условиях, отдельный от самой программы программный продукт. Например (+)
самописный автомат, переключаещий задачи в системе реального времени, или переключалка контекста по таймеру там же в своей проге - это не ОС вообще. Потому что она не существует в виде отдельного программного продукта. Это диспетчер, свитчер, как угодно, но не ОС. А вот DSP/BIOS - это RTOS натурально.