Applications may always have a fall-back mechanism: try to go (really) real-time, if that's not possible, then go best-effort, possibly with some UI trick for letting the user know he's running too many RT applications. That already happens with RT priorities: applications (e.g., jack) try to acquire RT prio, if that fails, they log a warning/error and they run anyway without it.
Or, you can have a more elaborate user-space middle-ware that allows to manage overload situations, e.g., have a look at the FRESCOR Application Level Contracts (ALC): http://www.frescor.org/index.php?page=publications.
Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds