Software that provides an interface between an operating system and the application programs of users.