  Mixed-criticality real-time scheduling has been developed to improve resource
utilization while guaranteeing safe execution of critical applications. These
studies use optimistic resource reservation for all the applications to improve
utilization, but prioritize critical applications when the reservations become
insufficient at runtime. Many of them however share an impractical assumption
that all the critical applications will simultaneously demand additional
resources. As a consequence, they under-utilize resources by penalizing all the
low-criticality applications. In this paper we overcome this shortcoming using
a novel mechanism that comprises a parameter to model the expected number of
critical applications simultaneously demanding more resources, and an execution
strategy based on the parameter to improve resource utilization. Since most
mixed-criticality systems in practice are component-based, we design our
mechanism such that the component boundaries provide the isolation necessary to
support the execution of low-criticality applications, and at the same time
protect the critical ones. We also develop schedulability tests for the
proposed mechanism under both a flat as well as a hierarchical scheduling
framework. Finally, through simulations, we compare the performance of the
proposed approach with existing studies in terms of schedulability and the
capability to support low-criticality applications.
