This paper describes an open system architecture that allows independently
developed hard real-time applications to run together and supports their re
configuration at run-time. In the open system, each real-time application i
s executed by a server. At the lower level, the OS scheduler schedules all
the servers on the EDF basis. At the upper level, the server scheduler of e
ach server schedules the ready jobs of the application executed by the serv
er according to the algorithm chosen for the application. The paper describ
es the two-level CPU scheduling scheme used by the open system and the desi
gn and implementation of a uniprocessor open system within the framework of
the Windows NT operating system. The implementation consists of three key
components: the two-level hierarchical kernel scheduler, common system serv
ice providers, and real-time application programming interface.