• Provides a UI, typically using windows, icons, menus and pointers (WIMP)
  • Provides an interface for peripheral devices such as keyboard, mouse, speakers, printer etc.
  • Running software programs, by loading program code and data into RAM then activating the CPU to execute the program
  • Allowing multiple programs to be active at the same time, by sharing processor time
  • Allows the configuration of hardware (e.g. screen resolution, mouse speed)
  • Provides device drivers to allow new peripherals to be installed
  • Controls the storage of files in secondary storage, and displaying a catalogue or programs and data files
  • Providing security to prevent unauthorised access or alteration of data
  • Allows multiple users to have personal secure access through a password system
  • Responding to system errors in a way which minimises data loss
  • Displaying previews of common file types, like images, video, sound and text
  • Handling on-line updates to the operating system.