The software that manages hardware and software resources and provides common services for programs to run on.