Operating system
File/Disk management
Organises and maintains using utility software
Organises data into hierarchical structure and deals with moving, editing and deleting data
Manages the disk, splitting it into physical 'sectors' which are assigned to certain data, and also keeps track of free space
I/O device communication
Finds and installs the correct driver for the selected I/O device to allow it to communicate (act as a translator)
Automatically installs updates which may fix bugs, or add features
Application management
Provides a platform, allowing applications to access hardware
Provides a GUI to help the user interact with programs
Can take advantage of the OS features
Memory management
Copies the necessary instructions or data of programs into memory, and removes those not used recently
Manages how much memory programs have access to depending on their priority
Allocates certain memory addresses to prevent overwrites and interference
CPU management
Schedules processes into the most efficient order, depending on their priority
May interrupt the order if a new process becomes available
System security
Keeps data secure - controls the user accounts, so grants each account access to specific data
Often have anti-theft malware, such as passwords/pins, or bio-metrics eg. tongue print