Discuss the key functions of an operating system, and how these functions make it possible for computer applications to effectively utilize computer system resources.