Operating Systems and Hypervisors for Network Functions: A Survey of Enabling Technologies and Research Studies