Explain the purposes of operating systems, including interfaces between applications and hardware, process management and scheduling, access control protection, and management of applications, memory, disks, and devices.