A Survey of Real-time Operating Systems