Introduction of Operating System

An operating system acts as an intermediary between the user of a computer and computer hardware. The purpose of an operating system is to provide an environment in which a user can execute programs conveniently and efficiently. 

An operating system is software that manages computer hardware. The hardware must provide appropriate mechanisms to ensure the correct operation of the computer system and to prevent user programs from interfering with the proper operation of the system. 

Operating System: Definition: 

  • An operating system is a program that controls the execution of application programs and acts as an interface between the user of a computer and the computer hardware.
  • A more common definition is that the operating system is the one program running at all times on the computer (usually called the kernel), with all else being application programs.
  • An operating system is concerned with the allocation of resources and services, such as memory, processors, devices, and information. The operating system correspondingly includes programs to manage these resources, such as a traffic controller, a scheduler, a memory management module, I/O programs, and a file system.

Features of Operating system: Operating system has the following features: 

  1. Convenience: An OS makes a computer more convenient to use.
  2. Efficiency: An OS allows the computer system resources to be used efficiently.
  3. Ability to Evolve: An OS should be constructed in such a way as to permit the effective development, testing, and introduction of new system functions at the same time without interfering with service.
  4. Throughput: An OS should be constructed so that It can give maximum throughput(Number of tasks per unit time).

Major Functionalities of Operating System: 

  • Resource Management: When parallel accessing happens in the OS means when multiple users are accessing the system the OS works as Resource Manager, Its responsibility is to provide hardware to the user. It decreases the load in the system.
  • Process Management: It includes various tasks like scheduling and termination of the process. It is done with the help of CPU Scheduling algorithms.
  • Storage Management: The file system mechanism used for the management of the storage. NIFSCFSCIFSNFS, etc. are some file systems. All the data is stored in various tracks of Hard disks that are all managed by the storage manager. It included Hard Disk.
  • Memory Management: Refers to the management of primary memory. The operating system has to keep track of how much memory has been used and by whom. It has to decide which process needs memory space and how much. OS also has to allocate and deallocate the memory space.
  • Security/Privacy Management: Privacy is also provided by the Operating system by means of passwords so that unauthorized applications can’t access programs or data. For example, Windows uses Kerberos authentication to prevent unauthorized access to data.

The process operating system as User Interface: 

  1. User
  2. System and application programs
  3. Operating system
  4. Hardware

Every general-purpose computer consists of hardware, an operating system(s), system programs, and application programs. The hardware consists of memory, CPU, ALU, I/O devices, peripheral devices, and storage devices. The system program consists of compilers, loaders, editors, OS, etc. The application program consists of business programs and database programs. 

Fig1: Conceptual view of a computer system 

Every computer must have an operating system to run other programs. The operating system coordinates the use of the hardware among the various system programs and application programs for various users. It simply provides an environment within which other programs can do useful work. 

The operating system is a set of special programs that run on a computer system that allows it to work properly. It performs basic tasks such as recognizing input from the keyboard, keeping track of files and directories on the disk, sending output to the display screen, and controlling peripheral devices. 

OS is designed to serve two basic purposes: 

  1. It controls the allocation and use of the computing System’s resources among the various user and tasks.
  2. It provides an interface between the computer hardware and the programmer that simplifies and makes it feasible for coding and debugging of application programs.

The Operating system must support the following tasks. The tasks are:   

  1. Provides the facilities to create and modify of programs and data files using an editor.
  2. Access to the compiler for translating the user program from high-level language to machine language.
  3. Provide a loader program to move the compiled program code to the computer’s memory for execution.
  4. Provide routines that handle the details of I/O programming.

I/O System Management: The module that keeps track of the status of devices is called the I/O traffic controller. Each I/O device has a device handler that resides in a separate process associated with that device. 
The I/O subsystem consists of 

  • A memory Management component that includes buffering caching and spooling.
  • A general device driver interface.

Drivers for specific hardware devices. 

Assembler: The input to an assembler is an assembly language program. The output is an object program plus information that enables the loader to prepare the object program for execution. At one time, the computer programmer had at his disposal a basic machine that interpreted, through hardware, certain fundamental instructions. He would program this computer by writing a series of ones and Zeros (Machine language), and place them into the memory of the machine. Examples of assembly languages include 

Compiler and Interpreter: The High-level languages- examples are C, C++, Java, Python etc (around 300+ famous high level languages) are processed by compilers and interpreters. A compiler is a program that accepts a source program in a “high-level language “and produces machine code in one go. Some of the compiled languages are FORTRAN, COBOL, C, C++ , Rust and Go. An interpreter is a program that does the same thing but converts high-level code to machine code line-by-line and not all at once. Example of interpreted languages are Python, Perl and Ruby. 

Loader: A Loader is a routine that loads an object program and prepares it for execution. There are various loading schemes: absolute, relocating, and direct-linking. In general, the loader must load, relocate and link the object program. The loader is a program that places programs into memory and prepares them for execution. In a simple loading scheme, the assembler outputs the machine language translation of a program on a secondary device and a loader places it in the core. The loader places into memory the machine language version of the user’s program and transfers control to it. Since the loader program is much smaller than the assembler, those make more core available to the user’s program. 

History of Operating system: The operating system has been evolving through the years. The following table shows the history of OS.  

GenerationYearElectronic device usedTypes of OS Devices
First1945-55Vacuum TubesPlug Boards
Second1955-65TransistorsBatch Systems
Third1965-80Integrated Circuits(IC)Multiprogramming
FourthSince 1980Large Scale IntegrationPC

Types of Operating Systems

  • Batch Operating System- Sequence of jobs in a program on a computer without manual interventions.
  • Time-sharing operating System- allows many users to share computer resources. (Max utilization of the resources).
  • Distributed operating System- Manages a group of different computers and makes appear to be a single computer.
  • Network operating system- computers running in different operating systems can participate in a common network (It is used for security purposes).
  • Real-time operating system – used where any or all the jobs have strict time constraints.

Features of operating systems:

Memory Management: The operating system manages the computer’s memory, ensuring that programs have the necessary memory to run and allocating memory efficiently to maximize performance.

Process Management: The operating system is responsible for managing the processes running on the computer. It schedules processes to run on the CPU, allocates system resources to processes, and terminates processes when they are no longer needed.

File System Management: The operating system manages the file system, which is responsible for storing and retrieving files on the computer’s hard disk or other storage devices.

Device Management: The operating system manages the computer’s input and output devices, such as the keyboard, mouse, and printer, ensuring that they are properly configured and functioning correctly.

Security: The operating system provides security features to protect the computer from unauthorized access, viruses, and other types of malware.

User Interface: The operating system provides a graphical user interface (GUI) or a command-line interface (CLI) to interact with the computer, making it easier for users to access and use the computer’s resources.

Networking: The operating system provides networking features that enable computers to communicate with each other over a network, allowing users to share resources and collaborate with others.

Examples of Operating Systems are as follows: 

  • Windows (GUI-based, PC)
  • GNU/Linux (Personal, Workstations, ISP, File, and print server, Three-tier client/Server)
  • macOS (Macintosh), used for Apple’s personal computers and workstations (MacBook, iMac).
  • Android (Google’s Operating System for smartphones/tablets/smartwatches)
  • iOS (Apple’s OS for iPhone, iPad, and iPod Touch)

Leave a comment