Communication in Operating Systems