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