The operating system controls the entire resources and operations of a PC by controlling access to the central processing unit (CPU), computer memory as well as file storage and input/output devices. It is responsible for scheduling resource usage to avoid conflicts and interfering between processes, managing the structure and content of files in nonprimary storage media and determining which software programs get to utilize hardware components like disk drives or Wi -Fi adaptors. It also provides a means for interactive users to connect to the system using either an Graphical User Interface (GUI) or a Command-Line Interface (CLI).
Process Management
Operating systems manage the starting, stopping, and restarting of applications. It decides which application is to execute first and for how long it is able to utilize the CPU, and when it’s time to end. It can also divide the program into multiple threads, allowing it to run simultaneously on more than one processor. Each of these actions is controlled by an operating system routine called the process control block.
File management
Operating systems manage the structure and contents of files in nonprimary storage. They can transfer data between storage and memory whenever needed. They can also convert virtual memory pages into physical memory pages for faster access. This process is known as demand paging.
It also communicates directly with the hardware of the computer through drivers and other interface software. For example the case where an application wishes to utilize a particular piece of hardware like a Wi-Fi adaptor, the operating system will give the driver and allow the process to access it. This enables the programmer to not write a piece of code for each Wi-Fi adapter disk drive, or any other kind of hardware.