6 ms·
Maybe a dumb question What are the disadvantages of a real time system? I mean, real time sounds better than not real time, so why not include it into the sta
by MichaelRazum 4y ago
Maybe a dumb question
What are the disadvantages of a real time system?
I mean, real time sounds better than not real time, so why not include it into the standard Ubuntu distribution.
- onemoresoop 4y agoNo multitasking is one that comes to mind. A real time system wants to be small and robust and guarantee a fast response, no stuttering and so on. They're used in specialized problem domains. But you wouldn't need that on your laptop, you're fine with a sometimes imperceptible delay in exchange for all the goodies in a modern OS. Well, I like my OSes stripped down but no matter how much you reduce they'll never be real time systems.
- nimish 4y agoYou can have real time multitasking, the key is to be able to provide bounds and guarantees around execution. Freertos even has SMP on the RP2040 dual core system.
- ggeorgovassilis 4y ago"Real-time" means that a process receives guarantees regarding its execution schedule. These guarantees require modified task schedulers, preclude certain performance optimisations and constrain what a process is allowed to do (and how much of it).
- throw009 4y agoLess throughput in certain cases. That strongly depends on what the scheduler algorithm is however.
- guenthert 4y agoThere are trade-offs; a real time as well as a low-latency system (which is what is offered here) will never be as efficient in terms of data throughput as a system which doesn't guarantee response times (or as here merely prioritizes fast response times). You'll want to use a low-latency system for multimedia applications, games and other interactive systems. You want to use a real-time system when exceeding deadlines is cost-prohibitive or dangerous (below mentioned CNC machines, robotics, etc.). You will want to use a system which prioritizes throughput in all other cases.
- yencabulator 4y agoThe easiest way to make a real time system is to statically partition the resources. Think of giving each of 4 processes 1/4th of the CPU, now you can guarantee each process will get that much CPU time, and thus can finish a job that takes X clock cycles in Y real world nanoseconds. Now consider that with 3 of the processes being idle, and 1 trying to do as much computation as possible; it's obviously wasteful. Trying to be more efficient, while still remaining real time, gets progressively more complicated.
- klysm 4y agoFundamentally it’s the trade off between latency and throughput. Batching increases throughout at the cost of latency. Real time in this context means guaranteed low latencies which means lower throughput
- tuatoru 4y agoGuaranteed maximum latency responding to interrupts. For example, "the system will never take longer than 24 hours to respond to any interrupt." "Low" is in the eye of the beholder. The key word is never.
- rajnathani 4y agoFrom what I understand, it is about interrupts being handled in real-time. For example see the famous PREEMPT_RT Linux patch.