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|88 docs|33 tests

Up next

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

1. What is the purpose of an operating system?
Ans. The main purpose of an operating system is to manage the hardware and software resources of a computer system. It provides a user-friendly interface and enables the execution of applications, manages memory and storage, facilitates communication between different programs and devices, and ensures the overall stability and security of the system.
2. What are the major functionalities of an operating system?
Ans. The major functionalities of an operating system include: - Process management: It manages the execution of processes or programs, scheduling them for execution, and allocating system resources. - Memory management: It allocates and manages the computer's memory, ensuring efficient and secure utilization. - File system management: It organizes and controls the storage and retrieval of files on the computer's storage devices. - Device management: It controls and coordinates the interaction between hardware devices and software applications, ensuring proper communication and resource allocation. - User interface: It provides a user-friendly interface for users to interact with the computer system, such as graphical user interfaces (GUI) or command-line interfaces (CLI).
3. What are the types of operating systems?
Ans. Operating systems can be categorized into the following types: - Single-user, single-tasking operating system: It allows only one user to execute one task at a time, commonly found in older personal computers. - Single-user, multi-tasking operating system: It allows one user to execute multiple tasks simultaneously, switching between them rapidly, commonly found in modern personal computers. - Multi-user operating system: It allows multiple users to simultaneously access and use the computer system. - Real-time operating system: It is designed for applications that require precise and immediate response times, commonly used in embedded systems and industrial control systems. - Network operating system: It is designed to manage and coordinate multiple computers and devices connected through a network.
4. What is the process of booting an operating system?
Ans. Booting is the process of starting up a computer system. The typical steps involved in booting an operating system are: - Power-on: The computer is powered on. - Power-on self-test (POST): The computer's hardware components are tested to ensure they are functioning correctly. - Boot loader: The boot loader program is loaded from the computer's boot device (such as the hard drive or a USB drive) into memory. It then locates and loads the operating system kernel. - Operating system initialization: The operating system kernel is loaded into memory, and it initializes various system components and drivers. - User login: The operating system prompts the user to log in with their credentials. - Desktop environment: Once logged in, the operating system loads the user's desktop environment and allows them to start using the system.
5. What is dual booting of an operating system?
Ans. Dual booting is the process of installing and running two or more operating systems on a single computer. It allows the user to choose which operating system to boot into when starting up the computer. This is useful when users need to use different operating systems for different purposes or when transitioning from one operating system to another. Each operating system is installed on its own separate partition or disk, and the user can select the desired operating system during the boot process.
10 videos|88 docs|33 tests
Download as PDF

Up next

Explore Courses for Computer Science Engineering (CSE) exam
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
Download the FREE EduRev App
Track your progress, build streaks, highlight & save important lessons and more!
Related Searches

pdf

,

shortcuts and tricks

,

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

,

Viva Questions

,

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

,

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

,

Previous Year Questions with Solutions

,

Semester Notes

,

Free

,

mock tests for examination

,

Important questions

,

Summary

,

Exam

,

ppt

,

video lectures

,

MCQs

,

study material

,

Objective type Questions

,

Sample Paper

,

Extra Questions

,

practice quizzes

,

past year papers

;