The operating system manages the operation and resources of the computer through controlling access to the central processor unit (CPU) memory, file storage and input/output device. It performs tasks such as scheduling resource usage to prevent conflicts and interfering between processes, managing the structure and contents of files in nonprimary storage media and determining which software programs are able to use hardware components such as disc drives or Wi-Fi adapters. It also offers a method for users who are interactive to connect to the system via either a Graphical User Interface (GUI) or a Command-Line Interface (CLI).
Process Management
The operating systems handles the start, stopping and resumption process of applications. It decides which application should be executed first, for how long the CPU will be used, and also when to end. It also allows you to split an application into multiple threads to allow it to run simultaneously on multiple processors. Each of these actions is controlled by an operating system program called a process control block.
File management
Operating systems maintain structure and contents of files in non-primary data storage. They can transfer data between storage and memory when necessary. They can also convert virtual memory pages onto physical memory pages for faster access. This is referred to as demand paging.
It also interacts directly with the computer hardware via drivers and other interface software. If, for example, an application wishes to use specific hardware, such as a WiFi adaptor, the operating system will give the driver and permit it to connect to the hardware. This is all done without the programmer needing to write a new piece of code for each Wi-Fi adaptor disk drive, or another kind of hardware.