August 19, 2026
From Flipping Switches to Touching Controls: The Epic Evolution of Operating Systems along with the…
On September 9, 1947, at the Computational Laboratory of Harvard University. The group of scientists were struggling to find out the…
By Debaditya Bhar
5 min read
On September 9, 1947, at the Computational Laboratory of Harvard University. The group of scientists were struggling to find out the logical error in the Harvard Mark II computer — a monolithic beast of steel, miles of copper wiring, and thousands of clicking electromagnetic relays.
Finally, after tracking the erratic signals of the labyrinthine maze of panels. Inch by inch, wire by wire, when they opened the Relay# 30 at Panel F, they found culprit. A three-inch-long moth! It was flown towards the warmth of vacuum tubes and the hum of electricity, crushed by the sudden closure of the electric circuits.
Grace Hopper, pioneering computer scientist and future U.S. Navy Rear Admiral, carefully extracted the crushed insect, pulled out a piece of scotch tape, and fastened the dead moth directly into the system's official activity logbook. Below she wrote the famous phrase of computation science — "First actual case of bug being found."
the Smithsonian Institution's National Museum of American History in Washington, D.C preserved the original page from Harvard Mark II operations logbook — complete with the physical, flattened remains of the 3-inch-long moth still taped to the graph paper.
The insect did not give us the favorite vocabulary of the software "debugging"; rather it tells us the story of raw and physical reality of early computing back in the 1940's. It was the time when the "software" does not exist on cloud and can be downloaded from the app stores. The fixing of an error in the code actually requires the rewiring of the monolith of steel and vacuum tubes.
There are the fascinating stories about how computers evolve from relay switches to the running complex operating system that can be fit in your pocket. To understand today's digital world, we need to look back at how computers have evolved with complex operating systems.
Brief History of Operating System
The history of operating systems evolves with the advancement of computer systems. It is discussed in different generations.
First Generation Computers (1945–1955)
- Basic building blocks are Vacuum Tube and plug mode.
- Users directly interact with hardware.
- No hint of Operating System.
- High maintenance cost and programmer overhead.
Second Generation Computers (1955–1965)
- Basic building block is transistors. The size of the computer reduced drastically.
- The system was Offline, i.e., the processing unit and I/O units are not connected.
- Programmers wrote programs in punch cards. Punch cards were put into the input unit, and output was generated in the output unit (probably a printer).
- The processing unit is idle most of the time as the I/O needs manual effort.
- To reduce idle processing time, programmers sort out the jobs with similar needs and place them together to the processing unit at a time as a batch.
- The concept of sorting out similar jobs and placing them together to the processing unit at a time as a batch is called Batch Processing.
- In batch processing, a program called Residence Monitor tracks the current job termination and new job initiation to indicate the processing unit to reinitialize the registers. This is the first smell of the Operating System.
Third Generation Computers (1965–1980)
- Basic building block is Integrated Circuits (IC). Hard Disk is introduced and the system becomes Online.
- With the advent of hard disk, more space is available for software development. This increases the gap between software world and hardware world. To reduce the gap, the operating system comes into picture.
- With the arrival of OS, the following concepts are introduced:
Multiprogramming
SPOOLing
Time Sharing
Now, we will discuss a little bit about the above three concepts one-by-one.
Multi-programming
- The concept of loading multiple programs into main memory, so that when the program in execution is performing some I/O operations, another program from the main memory can be selected for CPU for its execution, in order to reduced CPU idle time wastage, is called multi-programming.
- The operating system needs to perform memory management in multi-programming as there are multiple programs that are loaded into main memory.
- The operating system requires performing processor management to select a program from main memory for its execution in CPU, when the currently running program acquiring CPU is performing I/O operations.
SPOOLing
- The full form of SPOOL is S_imultaneous __P__eripheral __O__peration __OnL_ine.
- With the advent of hard disk, input operation of a program can be performed simultaneously with output operation of another program. At the same time another program from main memory can be executed by CPU.
- The simultaneous I/O operations and execution operation in an online computing system is called SPOOLing.
- Total turn-around time of a computer system is reduced by the concept of SPOOLing.
- Operating system performs I/O and Disk Management to support SPOOLing.
Time Sharing
- Time Sharing concepts can be seen as multi-programming plus equal priority concepts.
- In the Time-Sharing system, every program in the main memory is allocated to CPU for a specified time, called Time Slice.
- After the time slice expired, the program must leave the CPU for the next program in the chain.
- With the Time-Sharing system, a program may leave the CPU before its completion. This concept is called preemption. So, the time-sharing system can be seen as a multi-programming system with equal time slices and preemption concepts.
- In a time-sharing operating system, the switching between multiple programs in main memory is performed so rapidly that the programs seem to be executed in parallel. This is called Pseudo-Parallelism.
- The time-sharing operating system reduces the overall waiting time of the system.
Fourth Generation Computers (1980-Till Date)
There are two types of Operating Systems that were invented in the fourth generation.
Network Operating System
- Multiple computers are connected to each other by network.
- Each computer runs a local operating system to connect to the network.
- Users can access files or data on another computer from one computer.
Distributed Operating System
- In a true distributed system, users are unaware of where their programs are being executed, and their files are located. The distributed system appears as a traditional uniprocessor system to its users.
- In a distributed environment, a full Operating System is installed on a server machine. This is called Monolithic Kernel.
- A small part of the operating system is installed on the client machine. This is called Micro Kernel.
- The main task of micro kernels is to handle communication between client and server machines.
Fifth Generation Computers (Present and Beyond)
- Interconnected remote servers and delivery of IT services through the internet called Cloud Computing.
- In cloud computing, no significant hardware is required. It is mostly a pay-as-you-go model. It has more flexibility and scalability.
- There are different types of computing cloud: Public (AWS, Azure, Google), Private (more control and expensive), and Hybrid (Public + Private)
- There are several cloud computing models:
- IaaS (Infrastructure-as-a-Service): Server + Network + Storage + Virtualization are served by cloud.
- PaaS (Platform-as-a-Service): IaaS + Runtime + Middleware + OS are served by the cloud.
- SaaS (Software-as-a-Service): PaaS + Application Program + Data are served by the cloud.
We have started our journey from the room-size labyrinth of vacuum tubes, pile of wires, and switches. Back then to instruct the solution of a simple problem required flipping the switches, re-wiring the whole system, moving to-and-fro with punch cards of data. Now, a single mouse click, swiping on the touchscreen glass, and even saying human instructions to AI enabled devices solving complex problems are possible due to the fascinating story of evaluation of computer and ghost in the machine, the operating system.
What do you think the next great leap in human-computer interaction will be? Drop your thoughts in the comments below, and let's keep the conversation going!