Introduction of Operating System | Operating System - Computer Science Engineering (CSE) PDF Download

Operating System

An operating system functions as an intermediary between a computer's user and its hardware. Its main function is to establish a favorable and effective environment for users to run programs. Operating systems are software specifically created to supervise computer hardware, necessitating the hardware to include appropriate mechanisms for maintaining the computer system's optimal operation and preventing user programs from causing disruptions.

Operating System: Definition

  • An operating system serves as a software that manages the execution of application programs and serves as an intermediary between a computer's user and its hardware.
  • Alternatively, a more commonplace definition posits that the operating system is the singular program persistently running on the computer, often referred to as the kernel, while all other programs are deemed application programs.
  • The operating system is primarily concerned with resource and service allocation, encompassing elements such as memory, processors, devices, and information. It also incorporates specific programs to oversee these resources, including a traffic controller, scheduler, memory management module, I/O programs, and a file system.

Question for Introduction of Operating System
Try yourself:What is the role of an operating system?
View Solution

The functions of an operating system can be categorized into three main aspects:

  • Convenience: The operating system enhances the user-friendliness of a computer, making it more convenient to use.
  • Efficiency: The operating system facilitates the efficient utilization of computer system resources, ensuring optimal performance.
  • Ability to Evolve: A well-designed operating system should allow for the seamless development, testing, and implementation of new system functions without disrupting ongoing services.

Major Functionalities of Operating System

  • Resource Management: When multiple users access the operating system simultaneously, it functions as a Resource Manager, responsible for allocating hardware resources to users and alleviating system load.
  • Process Management: This involves tasks such as scheduling and terminating processes. The operating system efficiently manages multiple tasks concurrently, employing CPU scheduling algorithms to execute various processes.
  • Storage Management: The file system, including NIFS, CFS, CIFS, NFS, etc., is employed for storage management. Data is stored in different tracks on hard disks, all managed by the storage manager, which includes the management of hard disk resources.
  • Memory Management: This refers to the oversight of primary memory. The operating system monitors the usage of memory, determining how much is utilized and by whom. It makes decisions on which processes require memory space and how much, and manages the allocation and deallocation of memory space.
  • Security/Privacy Management: The operating system ensures privacy through mechanisms like passwords, preventing unauthorized access to programs or data. For instance, Windows utilizes Kerberos authentication to safeguard against unauthorized data access.

The operating system as User Interface:

  • User
  • System and application programs
  • Operating system
  • Hardware

Each versatile computer includes hardware, an operating system, system programs, and application programs. The hardware encompasses memory, CPU, ALU, I/O devices, peripheral devices, and storage devices. System programs include compilers, loaders, editors, the operating system, and more. On the other hand, application programs comprise business applications and database programs.

Conceptual view of a computer systemConceptual view of a computer system

For a computer to function effectively, it necessitates an operating system to execute different programs. The operating system manages hardware utilization among various system and application programs for diverse users, essentially creating an environment where other programs can perform practical tasks. This set of specialized programs runs on a computer system, enabling it to operate correctly. The operating system undertakes fundamental responsibilities like identifying keyboard input, monitoring files and directories on the disk, displaying output on the screen, and overseeing peripheral devices.
OS is designed to serve two basic purposes: 

It oversees the distribution and utilization of computing system resources among different users and tasks. Serving as a bridge between computer hardware and programmers, it streamlines and enables the coding, creation, and debugging of application programs.

The operating system is required to fulfill the following tasks:

  • Facilitate the creation and modification of programs and data files using an editor.
  • Allow access to the compiler to translate user programs from high-level language to machine language.
  • Offer a loader program to transfer the compiled program code to the computer's memory for execution.
  • Provide routines that manage the intricacies 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

An assembler takes as input an assembly language program and produces an output comprising an object program along with additional information essential for the loader to ready the object program for execution. In earlier times, computer programmers utilized a rudimentary machine that, through hardware, interpreted specific fundamental instructions. Programming involved the manual creation of a series of ones and zeros in machine language, which were then placed into the machine's memory.

Compiler 

High-level languages, such as FORTRAN, COBOL, ALGOL, and PL/I, undergo processing through compilers and interpreters. A compiler is a software that takes a source program written in a high-level language and generates an equivalent object program. Conversely, an interpreter is a program that simulates the execution of a source program as if it were in machine language. Frequently, the same name (e.g., FORTRAN, COBOL) is utilized to refer to both the compiler and the associated programming language.

Loader
A loader is a routine responsible for loading an object program and readying it for execution. It employs various loading schemes, including absolute, relocating, and direct-linking. Generally, the loader performs the tasks of loading, relocating, and linking the object program. Serving as a program, the loader is designed to position programs into memory, preparing them for execution. In a straightforward loading scenario, the assembler generates the machine language translation of a program on a secondary device, and the loader situates it in the core memory. The loader then transfers control to the machine language version of the user's program in memory. Due to its smaller size compared to the assembler, the loader program maximizes core availability for 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. 

Introduction of Operating System | Operating System - Computer Science Engineering (CSE)

Question for Introduction of Operating System
Try yourself:
What are the major functions of an operating system?
View Solution

Types of Operating System

  • Batch Operating System: A computer program that executes a sequence of jobs without requiring manual interventions.
  • Time-sharing Operating System: Enables multiple users to share computer resources, maximizing resource utilization.
  • Distributed Operating System: Manages a group of diverse computers and presents them as a unified, single computer system.
  • Network Operating System: Facilitates the collaboration of computers running different operating systems in a shared network, often employed for enhanced security.
  • Real-time Operating System: Designed for applications that demand adherence to strict deadlines.

Examples of Operating Systems include:

  • Windows (Graphical User Interface-based, for personal computers)
  • GNU/Linux (Suitable for personal use, workstations, ISPs, file and print servers, and three-tier client/server setups)
  • macOS (Designed for Apple's personal computers and workstations, such as MacBook and iMac)
  • Android (Google's Operating System for smartphones, tablets, and smartwatches)
  • iOS (Apple's Operating System for iPhone, iPad, and iPod Touch)

Booting and Dual Booting of Operating System


Once an operating system is generated, it needs to be made accessible to the hardware for utilization. However, the hardware must ascertain the location of the kernel and the method for loading it. This process, known as booting the system, necessitates a specialized program stored in ROM, referred to as the Bootstrap loader. An example of this is the BIOS (Basic Input/Output System) in modern PCs, which supports booting from various devices.
A contemporary PC BIOS offers the flexibility for users to configure a specific boot order. For instance, if the boot order is set as follows:

  • CD Drive
  • Hard Disk Drive
  • Network

The BIOS will attempt to boot from the CD drive initially. If unsuccessful, it will then try to boot from the hard disk drive. Subsequently, if that attempt fails, it will endeavor to boot from the network. If all these attempts prove unsuccessful, the system will not boot at all.
Booting, defined as the startup sequence initializing the operating system when the computer is powered on, involves a set of initial operations known as the boot sequence. Every computer possesses a boot sequence. The Bootstrap loader, a component of this sequence, locates the kernel, loads it into the main memory, and initiates its execution. In certain systems, a basic bootstrap loader retrieves a more intricate boot program from the disk, which subsequently loads the kernel.
Introduction of Operating System | Operating System - Computer Science Engineering (CSE)

Dual Booting

Dual booting occurs when a computer system is equipped with two installed operating systems. In fact, multiple operating systems can coexist on such a system. The challenge lies in determining which operating system to boot. This is addressed by a boot loader capable of comprehending various file systems and multiple operating systems, which resides in the boot space. Once activated, the boot loader can initiate any of the available operating systems stored on the disk, which may consist of multiple partitions, each hosting a distinct type of operating system. Upon powering up the computer, a boot manager program presents a menu, enabling the user to select the desired operating system.

The document Introduction of Operating System | Operating System - Computer Science Engineering (CSE) is a part of the Computer Science Engineering (CSE) Course Operating System.
All you need of Computer Science Engineering (CSE) at this link: Computer Science Engineering (CSE)
10 videos|99 docs|33 tests

Top Courses for Computer Science Engineering (CSE)

FAQs on Introduction of Operating System - Operating System - Computer Science Engineering (CSE)

1. What are the major functionalities of an operating system?
Ans. The major functionalities of an operating system include process management, memory management, file system management, device management, and security management.
2. What are the types of operating systems?
Ans. The types of operating systems include real-time operating systems, multi-user and single-user operating systems, distributed operating systems, network operating systems, and embedded operating systems.
3. What is the process of booting an operating system?
Ans. Booting is the process of starting up a computer and loading the operating system into memory. It involves power-on self-test (POST), boot loader execution, kernel initialization, and system startup.
4. What is dual booting of operating systems?
Ans. Dual booting is the process of installing and running two different operating systems on the same computer. It allows users to choose which operating system to boot into when the computer is turned on.
5. How can I dual boot my operating system?
Ans. To dual boot your operating system, you need to partition your hard drive, install the second operating system on the new partition, and then use a boot manager to choose which operating system to boot into during startup.
10 videos|99 docs|33 tests
Download as PDF
Explore Courses for Computer Science Engineering (CSE) exam

Top Courses for Computer Science Engineering (CSE)

Signup for Free!
Signup to see your scores go up within 7 days! Learn & Practice with 1000+ FREE Notes, Videos & Tests.
10M+ students study on EduRev
Related Searches

Sample Paper

,

Summary

,

Introduction of Operating System | Operating System - Computer Science Engineering (CSE)

,

shortcuts and tricks

,

pdf

,

MCQs

,

Introduction of Operating System | Operating System - Computer Science Engineering (CSE)

,

Previous Year Questions with Solutions

,

Objective type Questions

,

Exam

,

ppt

,

Semester Notes

,

past year papers

,

mock tests for examination

,

Introduction of Operating System | Operating System - Computer Science Engineering (CSE)

,

Important questions

,

Extra Questions

,

Free

,

practice quizzes

,

Viva Questions

,

study material

,

video lectures

;