An operating system is an interface between the user and computer hardware that manages files, processes, memory and peripheral devices. It performs basic tasks like file management, memory management, process management, input/output handling and controlling devices. There are different types of operating systems including batch, time-sharing, distributed and network operating systems. Batch operating systems run jobs non-interactively in batches while time-sharing systems allow interactive use by allocating CPU time to users. Distributed systems communicate over a network and network operating systems manage data, users and security for multiple devices on a private network.