|
|
|
|
|
by moring
94 days ago
|
|
Sorry for being ignorant of the basics, but how does the following work? > However, seg-ments of code that are provably free of garbage collection
> have deterministic timing and can satisfy hard timing con-straints, as they
> are certainly not interrupted by garbage collection. You are only ever "certainly not interrupted" if you turn off interrupts, which requires a high level of privileges. And not being interrupted still does not mean you have uncontended access to main memory or shared caches, which is a relevant factor for hard real-time. Nor do you have uncontended access to execution facilities (e.g. multipliers or floating-point ALUs), but at least for those you might be able to find an upper bound even for contended access. |
|
I'm speaking a little outside my wheelhouse here (experts, please jump in), but my understanding is that if you have actual hard real-time requirements, you very well might turn off interrupts, multithreading, etc. and work with uncontested access to CPU/memory resources during time-sensitive parts of your code, as needed.