The Operating system (OS) is one of the most important programs that run on a computer, which controls and manages a computer’s activities. Then some operating systems are Linux, Microsoft Windows, and Mac OS. Application programs, such as a Web browser, notepad, or voice recorder cannot run without an operating system. Without an operating system, the hardware is not useable for us and without hardware, the operating system is not useable for us so the relationship is necessary for both, otherwise, both are nothing. The interrelationship of hardware, user, operating system, and application software is shown in the below figure.
The specific tasks of an Operating system:
- Monitoring and controlling system activities
- Assigning and allocating system resources
- Scheduling operation
Monitoring and controlling system activities
Operating systems perform some basic tasks, such as input recognizing from the keyboards or any other devices, sending output to the monitor or LCD, keeping track of directories and files on the hard drive, and controlling peripheral devices, such as disk drives and printers. They also make sure that many users and many different programs running at the same time and do not interfere with each other, and they are responsible for security, ensuring that unauthorized users do not access the system resources.
Assigning and allocating system resources
The Operating system (OS) is responsible for detecting that what computer resources a program needs (e.g., CPU, memory, disks, input and output devices) and for assigning and allocating them to run the program.
The operating system (OS) is responsible for scheduling programs to make more efficient use of computer system resources. Today’s operating systems support such techniques as multithreading, multiprogramming, or multiprocessing to increase the computer system performance.
Multithreading: Multithreading technique allows concurrency within a system program so that its subtasks can run at the same time. For example, in MS-word application processing program allow users to simultaneously edit text and save it to one file. In this example, saving and editing are two separate tasks within the same application. These two tasks may run on separate threads concurrently.
Multi programming: Multiprogramming technique allows the operating system (OS) to run multiple programs simultaneously by sharing the one CPU. The CPU is a much faster part of the computer than other computer components. For example, you may use an MS-word application to edit one file at the same time and at the same time, you may use one another application as the Web browser is downloading a file and you may use this same time third application calculator to calculate some mathematical formulas and so on. This process called multiprogramming.
Multiprocessing: Multiprocessing or parallel processing both are the same thing. In multiprocessing, two or more processors work together to perform a task. It is like a develop professional software application where many programmers work together on one single software application.