1. INTRODUCTION TO OPERATING SYSTEM

1.2. HISTORY AND TYPES OF OPERATING SYSTEM

2.1 History of Operating Systems

The development of operating systems has evolved alongside the advancement of computer hardware and user needs. The history can be divided into distinct generations or phases:


1st Generation (1940s – Early 1950s): No Operating System

  • Early computers like ENIAC had no operating systems.

  • Programs were input using punched cards and switches.

  • Each program controlled all hardware resources directly.

  • Computers could run only one task at a time.


2nd Generation (Mid 1950s – Early 1960s): Batch Operating Systems

  • Introduction of Batch Processing.

  • Jobs were grouped and processed one after another without user interaction.

  • Operating systems began to automate job scheduling and file management.

  • Example: IBM 7094 using FMS (Fortran Monitor System).


3rd Generation (Mid 1960s – 1970s): Multiprogramming and Time-Sharing OS

  • Introduction of multiprogramming: running multiple programs at once.

  • Time-sharing allowed multiple users to access the computer interactively.

  • UNIX was developed during this period.

  • Development of the kernel and improved resource management.


4th Generation (1980s – 1990s): GUI-Based Operating Systems

  • Rise of personal computers and user-friendly Graphical User Interfaces (GUI).

  • Popular OS like MS-DOS, Windows, and Mac OS emerged.

  • Operating systems became more interactive and visual.


5th Generation (2000s – Present): Modern and Mobile Operating Systems

  • Focus on connectivity, mobility, and security.

  • Rise of mobile OS (Android, iOS).

  • Introduction of cloud-based and distributed OS.

  • Real-Time OS used in embedded systems and IoT devices.


2.2 Types of Operating Systems

Operating systems are categorized based on their design, function, and usage:


1. Batch Operating System

  • Executes batches of jobs automatically without user interaction during processing.

  • Suitable for repetitive tasks with little need for real-time input/output.

  • Example: IBM Mainframe Systems.


2. Time-Sharing Operating System

  • Allows multiple users to share system resources simultaneously.

  • Each user gets a time slice of the CPU.

  • Example: UNIX.


3. Distributed Operating System

  • Connects multiple computers to work as a single system.

  • Resources are distributed but managed centrally.

  • Example: Amoeba, Mach.


4. Real-Time Operating System (RTOS)

  • Designed for time-critical applications.

  • Responses to inputs are immediate and predictable.

  • Used in embedded systems like automotive controllers and medical devices.

  • Examples: VxWorks, FreeRTOS.


5. Network Operating System (NOS)

  • Supports computers on a network by providing file sharing, communication, and centralized control.

  • Examples: Windows Server, Novell NetWare.


6. Mobile Operating System

  • Designed for mobile devices with touchscreens, sensors, and wireless communication.

  • Examples: Android, iOS.


7. Multi-user and Single-user OS

  • Multi-user OS allows multiple users to operate at once (e.g., Linux).

  • Single-user OS supports only one user at a time (e.g., Windows 10 Home).


8. Multitasking and Single-tasking OS

  • Multitasking OS runs multiple processes at once.

  • Single-tasking OS runs one program at a time (e.g., MS-DOS).