The operating system is responsible for managing the overall resources and operations of a PC by controlling access to the central processing unit (CPU) as well as computer memory files, storage devices, and input/output devices. It also performs tasks like scheduling resource usage to prevent conflicts and interfering between processes, managing the structure and contents of files stored on nonprimary media and determining which applications require hardware components like disk drives or Wi-Fi adaptors. It also permits interactive users to connect with the system through an Graphical User Interface or Command-Line Interface.
Process Management
The operating systems handles the starting, stopping and resumption processes of applications. It decides which application should be executed first, how long the CPU can be utilized, and when to stop. It can also divide the program into multiple threads so that it can run on multiple processors in parallel. Each of these actions is controlled by an operating system program called a process control block.
File management
Operating systems maintain the structure and contents of files in nonprimary data storage. They can move data between memory and storage whenever needed. They can also convert a virtual memory page into a physical memory page to make it easier to access data, a process called demand panning.
It also interacts directly with the hardware on the computer via drivers and other interface software. For instance when an application needs to utilize a particular piece of hardware such as an adaptor for Wi-Fi it will ask the operating system to provide the driver and then let the application access it. This is all done without the programmers having online data privacy to write an entirely new piece of code for each Wi-Fi adaptor disk drive or other type of hardware.