operating system and hardware devices