A method of executing a safety-critical application (130) on a hardware platform (100) is proposed. The method includes executing, on the hardware platform (100), a
hypervisor (115); instantiating, by the
hypervisor (115), an execution environment (120); executing, in the execution environment (120), an
operating system having a kernel (125, 125a); executing, in the execution environment (120), on the
operating system, the safety-critical application (130) on a
privilege level that is lower than that of the kernel (125, 125a); executing, by the safety-critical application (130), a
system call instruction of the kernel (125, 125a) that diverts the
control flow to a first-level handler (127) in the kernel (125, 125a) with the goal of invoking, by a particular intended
system call, a functionality provided by the kernel (125, 125a); further diverting, by the processor core (112a, 112b), the
control flow to a second-level handler (119) in the
hypervisor (115); passing, by the second-level handler (119), the intended
system call to a supervisor component (150); and checking, by the supervisor component (150), operations to be performed by the intended
system call against a predetermined ruleset, so as to allow or disallow the
system call.