The evolution of operating systems (OS) can be traced back to the 1950s when computers were first invented. Over the years, operating systems have evolved significantly, adapting to changing hardware and software environments.
Initially, operating systems were simple and designed to provide basic functionality to users, but with the advent of new technologies, the complexity of operating systems increased to support more sophisticated tasks.
Evolution of Operating SystemToday, operating systems are an integral part of computing and are used in various devices, including desktops, laptops, smartphones, and tablets, among others.
The evolution of OS since 1950 is described in detail in this article. Here, we will discuss six main types of operating systems that have been evaluated over the past 70 years.
Serial ProcessingThe history of operating systems began in 1950. Before 1950, programmers directly interacted with the hardware as there was no operating system available at that time. If a programmer wished to execute a program in those days, the following sequential steps were necessary.
This type of processing is difficult for users, it takes much time and the next program should wait for the completion of the previous one. The programs are submitted to the machine one after one, therefore the method is said to be serial processing.
Batch ProcessingBefore 1960, it was difficult to execute a program using a computer because the computer was located in three different rooms, one room for the card reader, one room for executing the program, and another room for printing the result.
The user/machine operator runs between three rooms to complete a job. We can solve this problem by using batch processing.
In the batch processing technique, the same type of jobs batch together and execute at a time. The carrier carries the group of jobs at a time from one room to another.
Therefore, the programmer need not run between these three rooms several times.
Multiprogramming is a technique used to execute multiple programs simultaneously on a single processor.
In multiprogramming, several processes reside in the main memory at the same time. The operating system (OS) selects and begins to execute one of the programs in the main memory.
The following figure depicts the layout of a multiprogramming system in which the main memory can hold up to 5 jobs at a time, and the CPU executes them one by one.
MultiprogrammingIn a non-multiprogramming system, the CPU can only execute one program at a time. If the running program is waiting for any I/O device, the CPU becomes idle, which negatively affects the CPU’s performance.
In a multiprogramming environment, if a process is waiting for I/O, the CPU switches from that process to another process in the job pool. As a result, the CPU is not idle at any time.
AdvantagesMultiprogramming in operating systems offers several advantages, including:
Time-sharing or multitasking is a logical extension of multiprogramming, in which multiple tasks are executed by the CPU by switching between them.
The CPU scheduler selects a task from the ready queue and switches the CPU to that task. When the time slice assigned to a task expires, the CPU switches from that task to another task.
In this method, the CPU time is shared among different processes, making it a ‘Time-Sharing System’. Generally, the time slices are defined by the operating system.
AdvantagesThe main advantage of a time-sharing system is the efficient utilization of CPU resources. It was developed to provide interactive use of a computer system at a reasonable cost.
A time-sharing operating system uses CPU scheduling and multiprogramming to provide each user with a small portion of a time-shared computer.
Another advantage of a time-sharing system over a batch processing system is that the user can interact with the job while it is executing, which is not possible in batch systems.
Parallel SystemThere is a trend in multiprocessor systems, such systems have more than one processor in close communication, sharing the computer bus, the clock, and sometimes memory and peripheral devices.
These systems are referred to as “Tightly Coupled” systems. Then the system is called a parallel system. In the parallel system, many processors are executing their jobs in parallel.
AdvantagesParallel operating systems offer several advantages, including
In a distributed operating system, the processors cannot share a memory or a clock, each processor has its local memory. The processor communicates with one another through various communication lines, such as high-speed buses. These systems are referred to as “Loosely Coupled” systems.
AdvantagesIf multiple sites are connected by high-speed communication lines, it is possible to share resources from one site to another.
For example, let’s consider two sites, s1 and s2, which are connected by communication lines. Suppose s1 has a printer, but s2 does not. Then, in a distributed operating system, it is possible to access the printer from s2 without physically moving to s1.
Therefore, resource sharing is possible in a distributed operating system.
In distributed systems, a large computer is partitioned into several sub-systems, which are run concurrently.
If a resource or system fails in one site due to technical problems, we can use other systems or resources in some other sites. Therefore, the reliability of a distributed system increases.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4