Context-aware Operating Systems