General tasks for a typical operating system
1. Control of the operation of the input, output and backing storage devices (memory management)
2. Supervising the loading, running and storage of applications programs
3. Dealing with errors that occur in application programs
4. Maintaining security of the whole computer system
5. Maintaining a computer log
6. Allowing communication (user interface) between user and the computer system