Operating System

An operating system is a System Software that manages the hardware and software resources of a computer.

It is the first thing that is loaded into memory when we turn on the computer. 

Without the operating system, each programmer would have to write codes on how to start the system when he powers on the system. In the beginning, programmers needed a way to handle complex input/output operations. The evolution of computer programs and their complexities required new necessities. Because machines began to become more powerful, the time a program needed to run decreased. However, the time needed for handling of the equipment between different programs became evident and this led to the program like DOS. As we can see the acronym DOS stands for Disk Operating System. This confirms that operating systems were originally made to handle these complex input/output operations like communicating among a variety of disk drives.

Earlier computers were not as powerful as they are today. In the early computer systems, you would only be able to run one program at a time. For instance, you could not be writing a paper and browsing the internet all at the same time. However, today's operating systems are very capable of handling not only two but multiple applications at the same time. In fact, if a computer is not able to do this it is considered useless by most computer users.

In order for a computer to be able to handle multiple applications simultaneously, there must be an effective way of using the CPU. Several processes may be running at the same time, so there has to be some kind of order to allow each process to get its share of CPU time.

An operating system must allocate computer resources among the potentially competing requirements of multiple processes. In the case of the processor, the resource to be allocated is execution time on the processor and the means of allocation is scheduling. The scheduling function must be designed to satisfy a number of objectives, including fairness, lack of starvation of any particular process, efficient use of processor time, and low overhead. In addition, the scheduling function may need to take into account different levels of priority or realtime deadlines for the start or completion of the certain process.

Over the years, scheduling has been the focus of intensive research, and many different algorithms have been implemented. Today, the emphasis in scheduling research is on exploiting multiprocessor systems, particularly for multithreaded applications, and real-time scheduling.


In a multiprogramming systems, multiple processes exist concurrently in main memory.Each process alternates between using a processor and waiting for some event to occur, scheduling .such as the completion of an I/O operation. The processor is kept busy by executing one process while the others wait, hence the key to multiproscheduling.
Related Posts Plugin for WordPress, Blogger...