Efficiency, system performance and user convenience
Classes of operating systems
Batch processing system,
Multi programming systems
Time sharing systems
Real time operating systems
The document discusses the goals and operations of an operating system. The key goals of an operating system are efficient use of resources, user convenience, and preventing interference between users. The main operations of an operating system are program management, which involves executing and scheduling programs, resource management, which involves allocating and managing memory, CPU, and I/O devices, and security/protection which prevents unauthorized access to programs and data.
Operation of an O.S
Structure of an operating system,
Operating systems with monolithic structure
Layered design of an operating system
Virtual machine operating systems
Kernel based operating systems
The document provides an overview of operating systems, including what constitutes an OS (kernel, system programs, application programs), storage device hierarchy, system calls, process creation and states, process scheduling, inter-process communication methods like shared memory and pipes, synchronization techniques like mutexes and semaphores, readers-writers problem, and potential for deadlocks. Key concepts covered include kernel mode vs user mode, process control blocks, context switching, preemption, and requirements for deadlock situations.
The document provides an overview of operating systems, including their goals, advantages, components, and views from the user and system perspectives. It describes various operating system techniques like spooling, time-sharing, multiprocessor systems, distributed systems, and real-time systems. Multiprocessor systems can be symmetric (SMP) or asymmetric (AMP) depending on how processors are treated. Distributed systems have loosely coupled processors that communicate over a network, providing benefits like improved communication, computation speedup, reliability, and resource sharing. Real-time systems ensure tasks are completed within deadlines and can be soft or hard, with safety-critical systems usually requiring hard real-time guarantees.
This slide is to be understand about introduction Operating System and also discuss about the types of operating sytem which will be beneficial to all students or anybody...
This silde is all about how to install or how to work operating systems on computers ..
all slides is about operating systems. .
how much types of OS is available on the computers ..
totally develop or invent by Mayank Thanki ( www.gujrattinfo.com )
This document discusses CPU non-preemptive scheduling algorithms including first come first serve (FCFS), shortest job first (SJF), and priority scheduling. FCFS schedules processes in the order that they arrive without preemption. SJF selects the process with the shortest CPU burst time from the ready queue without preemption. Priority scheduling executes the highest priority process first among processes with equal priority being served in order of arrival. Examples are provided to calculate waiting times and turnaround times for each algorithm.
The document discusses the goals and operations of an operating system. The key goals of an operating system are efficient use of resources, user convenience, and preventing interference between users. The main operations of an operating system are program management, which involves executing and scheduling programs, resource management, which involves allocating and managing memory, CPU, and I/O devices, and security/protection which prevents unauthorized access to programs and data.
Operation of an O.S
Structure of an operating system,
Operating systems with monolithic structure
Layered design of an operating system
Virtual machine operating systems
Kernel based operating systems
The document provides an overview of operating systems, including what constitutes an OS (kernel, system programs, application programs), storage device hierarchy, system calls, process creation and states, process scheduling, inter-process communication methods like shared memory and pipes, synchronization techniques like mutexes and semaphores, readers-writers problem, and potential for deadlocks. Key concepts covered include kernel mode vs user mode, process control blocks, context switching, preemption, and requirements for deadlock situations.
The document provides an overview of operating systems, including their goals, advantages, components, and views from the user and system perspectives. It describes various operating system techniques like spooling, time-sharing, multiprocessor systems, distributed systems, and real-time systems. Multiprocessor systems can be symmetric (SMP) or asymmetric (AMP) depending on how processors are treated. Distributed systems have loosely coupled processors that communicate over a network, providing benefits like improved communication, computation speedup, reliability, and resource sharing. Real-time systems ensure tasks are completed within deadlines and can be soft or hard, with safety-critical systems usually requiring hard real-time guarantees.
This slide is to be understand about introduction Operating System and also discuss about the types of operating sytem which will be beneficial to all students or anybody...
This silde is all about how to install or how to work operating systems on computers ..
all slides is about operating systems. .
how much types of OS is available on the computers ..
totally develop or invent by Mayank Thanki ( www.gujrattinfo.com )
This document discusses CPU non-preemptive scheduling algorithms including first come first serve (FCFS), shortest job first (SJF), and priority scheduling. FCFS schedules processes in the order that they arrive without preemption. SJF selects the process with the shortest CPU burst time from the ready queue without preemption. Priority scheduling executes the highest priority process first among processes with equal priority being served in order of arrival. Examples are provided to calculate waiting times and turnaround times for each algorithm.
This document discusses different types of computer systems including batch processing systems, single-user systems, multi-user systems, single-tasking systems, multi-tasking systems, multiprogramming systems, and distributed systems. It provides examples of batch processing systems for payroll and utility billing. It also describes how batch processing, single-user systems, multi-user systems, multi-tasking, and multiprogramming systems work with no direct user interaction and by allocating short time slices to different programs or users.
The document discusses operating systems and their functions. It defines an operating system as software that manages a computer's hardware and software resources and provides an interface for users. The main functions of an operating system include managing system resources like the CPU and memory, coordinating hardware components through device drivers, providing an environment for software to run, displaying a structure for data management, and monitoring system health. Popular operating systems mentioned are Windows, macOS, Linux, and mobile operating systems like iOS and Android.
Introduction to Operating System (Important Notes)Gaurav Kakade
The document provides definitions and explanations of various operating system concepts. It discusses context switching, rollbacks, system calls, the definition of an operating system, swapping, semaphores, Belady's anomaly, waiting time, claim edges in resource allocation graphs, whether round robin is preemptive, the definition of an editor, fragmentation, files and their attributes, page faults, turnaround time, multiprogramming, overlays in memory management, processes, compile time, deadlocks, basic file operations, dispatchers, classic synchronization problems, and pages and frames in memory management. It also explains deadlock prevention strategies such as mutual exclusion, hold and wait, and no preemption.
This document provides an overview of operating systems. It begins with an introduction defining an operating system and its role. It then discusses the history of operating systems and the four main components of operating system software: memory management, processor management, device management, and file management. Finally, it outlines eight common types of operating systems including batch, multiprogramming, desktop, real-time, and distributed operating systems.
This presentation gives a brief introduction on the following topics:
Definition
Objectives of Operating System
Structure of Operating System
Need for Operating Systems
OS Components and Functions
OS Services
Types of Operating Systems
Examples of Operating Systems
The document discusses CPU scheduling in Windows operating systems. It covers scheduling algorithms used in different versions of Windows like Windows 3.1x, 95, NT, XP, 7, and 8. The key points discussed are:
- Windows uses a pre-emptive, priority-based scheduler with 32 priority levels and multi-level queues.
- The dispatcher determines thread execution order based on priority class and relative priority within class.
- Interactive threads get priority boosts after waits to improve response time.
- The foreground process in Windows XP gets preferential treatment over background processes.
- Later versions introduced improvements like user-mode scheduling and CPU cycle-based scheduling.
The document discusses the structure of operating systems. It explains that operating systems can have either a simple or layered structure. A simple structure, like MS-DOS, splits the operating system into layers but the layers are not sharply defined and overlap. A layered structure clearly defines separate layers that interact as needed. There are six main layers in a layered operating system: hardware layer, CPU scheduling layer, memory management layer, process management layer, I/O buffer layer, and user programs layer. Each layer performs distinct functions that build upon the layers below.
El documento habla sobre la gestión del conjunto residente en memoria virtual paginada. Explica que el conjunto residente son las páginas de un proceso alojadas en memoria principal y que el tamaño de este conjunto puede ser fijo o variable dependiendo de la política de asignación. También discute factores como la tasa de fallos de página y el nivel de multiprogramación que afectan cómo se determina el tamaño del conjunto residente.
Managing the memory hierarchy
Static and dynamic memory allocations
Memory allocation to a process
Reuse of memory
Contiguous and non contiguous memory allocation
Paging
Segmentation
Segmentation with paging
17 cpu scheduling and scheduling criteria myrajendra
This document discusses CPU scheduling and scheduling criteria. It covers the CPU scheduler or short term scheduler which selects processes from the ready queue to allocate the CPU to. It describes various scheduling criteria like CPU utilization, throughput, turnaround time, waiting time and response time that are used to compare scheduling algorithms. The goal of scheduling is to always keep the CPU busy while maximizing throughput and minimizing waiting times and turnaround times of processes.
The document discusses operating system design and implementation. It outlines design goals for an operating system including user goals like ease of use and reliability, and system goals which depend on the environment. Implementation is discussed, noting traditionally assembly was used but modern operating systems often use high-level languages like C and C++ due to advantages in development speed, portability and understandability, though assembly is still sometimes used for performance critical routines. Memory management and CPU scheduling are highlighted as important parts of implementation.
This document discusses different types of computer memory including primary memory (RAM and ROM), secondary storage (hard drives, CDs, DVDs, etc.), and cache memory. RAM is volatile and used for temporary storage of data and programs needed to run the computer. ROM is non-volatile and holds the operating system bootstrap loader. Cache memory improves performance by storing frequently used data and instructions closer to the processor. Secondary storage devices include hard drives, optical discs, USB drives, and solid state drives which are used for long-term and offline storage of data.
The document discusses different types of operating systems including desktop operating systems, server operating systems, and mobile operating systems. Desktop operating systems are recommended for personal use by different groups for reasons like ease of use, stability, and capabilities. Server operating systems are designed for multi-user environments and provide security, stability, and collaboration for applications like file sharing, web services, and email. Mobile operating systems control functions on devices like phones and tablets, with examples being Android and iOS.
Este documento describe la estructura y funcionamiento del núcleo de un sistema operativo multiprogramado. Explica que el núcleo contiene rutinas dependientes del hardware, rutinas auxiliares para la gestión de colas y procesos, y definiciones de datos como las estructuras PCB y colas. También describe las primitivas del núcleo para controlar dispositivos, procesos, sincronización y tiempo de espera. Finalmente, detalla cómo funcionan las rutinas clave del núcleo para la planificación, creación y destrucción de pro
This document discusses threads and threading models. It defines a thread as the basic unit of CPU utilization consisting of a program counter, stack, and registers. Threads allow for simultaneous execution of tasks within the same process by switching between threads rapidly. There are three main threading models: many-to-one maps many user threads to one kernel thread; one-to-one maps each user thread to its own kernel thread; many-to-many maps user threads to kernel threads in a variable manner. Popular thread libraries include POSIX pthreads and Win32 threads.
UNIT I OPERATING SYSTEM OVERVIEW
Computer System Overview-Basic Elements, Instruction Execution, Interrupts, Memory Hierarchy, Cache Memory, Direct Memory Access, Multiprocessor and Multicore Organization. Operating system overview-objectives and functions, Evolution of Operating System.- Computer System Organization Operating System Structure and Operations- System Calls, System Programs, OS Generation and System Boot.
This document discusses operating system structures and components. It describes four main OS designs: monolithic systems, layered systems, virtual machines, and client-server models. For each design, it provides details on how the system is organized and which components are responsible for which tasks. It also discusses some advantages and disadvantages of the different approaches. The document concludes by explaining how client-server models address issues with distributing OS functions to user space by having some critical servers run in the kernel while still communicating with user processes.
The document discusses the key components of computers including hardware, software, operating systems, and user interfaces. It defines hardware as the physical parts of a computer like the motherboard and CPU. Software is defined as instructions that tell the hardware what to do, like operating systems and applications. Common operating systems mentioned include DOS, Windows, MacOS, and Linux. The two main types of user interfaces are the graphical user interface (GUI) and command line interface (CLI).
The operating system provides several key services to programs and users, including user interface, program execution, input/output operations, file system management, communications, error detection and handling, resource allocation, accounting, protection, command interpretation, and resource management. These services allow for running programs, performing input/output, creating and managing files, connecting between processes, detecting and handling errors, tracking usage for billing, protecting processes from each other, interpreting user commands, and optimizing resource usage.
In a multiprogramming system, multiple processes exist concurrently in main memory. Each process alternates between using a processor and waiting for some event to occur, such as the completion of an I O operation. The processor or processors are kept busy by executing one process while the others wait. The key to multiprogramming is scheduling. CPU scheduling deals with the problem of deciding which of the processes in the ready queue is to be allocated the CPU. By switching the CPU among processor the operating system can make the computer more productive. Scheduling affectes the performance of the system because it determines which processes will wait and which will progress. In this paper, simulation of various scheduling algorithm First Come First Served FCFS , Round Robin RR , Shortest Process Next SPN and Shortest Remaining Time SRT is done over C Daw Khin Po ""Simulation of Process Scheduling Algorithms"" Published in International Journal of Trend in Scientific Research and Development (ijtsrd), ISSN: 2456-6470, Volume-3 | Issue-4 , June 2019, URL: https://www.ijtsrd.com/papers/ijtsrd25124.pdf
Paper URL: https://www.ijtsrd.com/computer-science/operating-system/25124/simulation-of-process-scheduling-algorithms/daw-khin-po
This is my sort note of operating system.In this note we describe our knowledge for B.Sc level. Student of B.Sc(H) Computer Science this note is good. We describe this note very easy language which the student easily understand.
This document discusses different types of computer systems including batch processing systems, single-user systems, multi-user systems, single-tasking systems, multi-tasking systems, multiprogramming systems, and distributed systems. It provides examples of batch processing systems for payroll and utility billing. It also describes how batch processing, single-user systems, multi-user systems, multi-tasking, and multiprogramming systems work with no direct user interaction and by allocating short time slices to different programs or users.
The document discusses operating systems and their functions. It defines an operating system as software that manages a computer's hardware and software resources and provides an interface for users. The main functions of an operating system include managing system resources like the CPU and memory, coordinating hardware components through device drivers, providing an environment for software to run, displaying a structure for data management, and monitoring system health. Popular operating systems mentioned are Windows, macOS, Linux, and mobile operating systems like iOS and Android.
Introduction to Operating System (Important Notes)Gaurav Kakade
The document provides definitions and explanations of various operating system concepts. It discusses context switching, rollbacks, system calls, the definition of an operating system, swapping, semaphores, Belady's anomaly, waiting time, claim edges in resource allocation graphs, whether round robin is preemptive, the definition of an editor, fragmentation, files and their attributes, page faults, turnaround time, multiprogramming, overlays in memory management, processes, compile time, deadlocks, basic file operations, dispatchers, classic synchronization problems, and pages and frames in memory management. It also explains deadlock prevention strategies such as mutual exclusion, hold and wait, and no preemption.
This document provides an overview of operating systems. It begins with an introduction defining an operating system and its role. It then discusses the history of operating systems and the four main components of operating system software: memory management, processor management, device management, and file management. Finally, it outlines eight common types of operating systems including batch, multiprogramming, desktop, real-time, and distributed operating systems.
This presentation gives a brief introduction on the following topics:
Definition
Objectives of Operating System
Structure of Operating System
Need for Operating Systems
OS Components and Functions
OS Services
Types of Operating Systems
Examples of Operating Systems
The document discusses CPU scheduling in Windows operating systems. It covers scheduling algorithms used in different versions of Windows like Windows 3.1x, 95, NT, XP, 7, and 8. The key points discussed are:
- Windows uses a pre-emptive, priority-based scheduler with 32 priority levels and multi-level queues.
- The dispatcher determines thread execution order based on priority class and relative priority within class.
- Interactive threads get priority boosts after waits to improve response time.
- The foreground process in Windows XP gets preferential treatment over background processes.
- Later versions introduced improvements like user-mode scheduling and CPU cycle-based scheduling.
The document discusses the structure of operating systems. It explains that operating systems can have either a simple or layered structure. A simple structure, like MS-DOS, splits the operating system into layers but the layers are not sharply defined and overlap. A layered structure clearly defines separate layers that interact as needed. There are six main layers in a layered operating system: hardware layer, CPU scheduling layer, memory management layer, process management layer, I/O buffer layer, and user programs layer. Each layer performs distinct functions that build upon the layers below.
El documento habla sobre la gestión del conjunto residente en memoria virtual paginada. Explica que el conjunto residente son las páginas de un proceso alojadas en memoria principal y que el tamaño de este conjunto puede ser fijo o variable dependiendo de la política de asignación. También discute factores como la tasa de fallos de página y el nivel de multiprogramación que afectan cómo se determina el tamaño del conjunto residente.
Managing the memory hierarchy
Static and dynamic memory allocations
Memory allocation to a process
Reuse of memory
Contiguous and non contiguous memory allocation
Paging
Segmentation
Segmentation with paging
17 cpu scheduling and scheduling criteria myrajendra
This document discusses CPU scheduling and scheduling criteria. It covers the CPU scheduler or short term scheduler which selects processes from the ready queue to allocate the CPU to. It describes various scheduling criteria like CPU utilization, throughput, turnaround time, waiting time and response time that are used to compare scheduling algorithms. The goal of scheduling is to always keep the CPU busy while maximizing throughput and minimizing waiting times and turnaround times of processes.
The document discusses operating system design and implementation. It outlines design goals for an operating system including user goals like ease of use and reliability, and system goals which depend on the environment. Implementation is discussed, noting traditionally assembly was used but modern operating systems often use high-level languages like C and C++ due to advantages in development speed, portability and understandability, though assembly is still sometimes used for performance critical routines. Memory management and CPU scheduling are highlighted as important parts of implementation.
This document discusses different types of computer memory including primary memory (RAM and ROM), secondary storage (hard drives, CDs, DVDs, etc.), and cache memory. RAM is volatile and used for temporary storage of data and programs needed to run the computer. ROM is non-volatile and holds the operating system bootstrap loader. Cache memory improves performance by storing frequently used data and instructions closer to the processor. Secondary storage devices include hard drives, optical discs, USB drives, and solid state drives which are used for long-term and offline storage of data.
The document discusses different types of operating systems including desktop operating systems, server operating systems, and mobile operating systems. Desktop operating systems are recommended for personal use by different groups for reasons like ease of use, stability, and capabilities. Server operating systems are designed for multi-user environments and provide security, stability, and collaboration for applications like file sharing, web services, and email. Mobile operating systems control functions on devices like phones and tablets, with examples being Android and iOS.
Este documento describe la estructura y funcionamiento del núcleo de un sistema operativo multiprogramado. Explica que el núcleo contiene rutinas dependientes del hardware, rutinas auxiliares para la gestión de colas y procesos, y definiciones de datos como las estructuras PCB y colas. También describe las primitivas del núcleo para controlar dispositivos, procesos, sincronización y tiempo de espera. Finalmente, detalla cómo funcionan las rutinas clave del núcleo para la planificación, creación y destrucción de pro
This document discusses threads and threading models. It defines a thread as the basic unit of CPU utilization consisting of a program counter, stack, and registers. Threads allow for simultaneous execution of tasks within the same process by switching between threads rapidly. There are three main threading models: many-to-one maps many user threads to one kernel thread; one-to-one maps each user thread to its own kernel thread; many-to-many maps user threads to kernel threads in a variable manner. Popular thread libraries include POSIX pthreads and Win32 threads.
UNIT I OPERATING SYSTEM OVERVIEW
Computer System Overview-Basic Elements, Instruction Execution, Interrupts, Memory Hierarchy, Cache Memory, Direct Memory Access, Multiprocessor and Multicore Organization. Operating system overview-objectives and functions, Evolution of Operating System.- Computer System Organization Operating System Structure and Operations- System Calls, System Programs, OS Generation and System Boot.
This document discusses operating system structures and components. It describes four main OS designs: monolithic systems, layered systems, virtual machines, and client-server models. For each design, it provides details on how the system is organized and which components are responsible for which tasks. It also discusses some advantages and disadvantages of the different approaches. The document concludes by explaining how client-server models address issues with distributing OS functions to user space by having some critical servers run in the kernel while still communicating with user processes.
The document discusses the key components of computers including hardware, software, operating systems, and user interfaces. It defines hardware as the physical parts of a computer like the motherboard and CPU. Software is defined as instructions that tell the hardware what to do, like operating systems and applications. Common operating systems mentioned include DOS, Windows, MacOS, and Linux. The two main types of user interfaces are the graphical user interface (GUI) and command line interface (CLI).
The operating system provides several key services to programs and users, including user interface, program execution, input/output operations, file system management, communications, error detection and handling, resource allocation, accounting, protection, command interpretation, and resource management. These services allow for running programs, performing input/output, creating and managing files, connecting between processes, detecting and handling errors, tracking usage for billing, protecting processes from each other, interpreting user commands, and optimizing resource usage.
In a multiprogramming system, multiple processes exist concurrently in main memory. Each process alternates between using a processor and waiting for some event to occur, such as the completion of an I O operation. The processor or processors are kept busy by executing one process while the others wait. The key to multiprogramming is scheduling. CPU scheduling deals with the problem of deciding which of the processes in the ready queue is to be allocated the CPU. By switching the CPU among processor the operating system can make the computer more productive. Scheduling affectes the performance of the system because it determines which processes will wait and which will progress. In this paper, simulation of various scheduling algorithm First Come First Served FCFS , Round Robin RR , Shortest Process Next SPN and Shortest Remaining Time SRT is done over C Daw Khin Po ""Simulation of Process Scheduling Algorithms"" Published in International Journal of Trend in Scientific Research and Development (ijtsrd), ISSN: 2456-6470, Volume-3 | Issue-4 , June 2019, URL: https://www.ijtsrd.com/papers/ijtsrd25124.pdf
Paper URL: https://www.ijtsrd.com/computer-science/operating-system/25124/simulation-of-process-scheduling-algorithms/daw-khin-po
This is my sort note of operating system.In this note we describe our knowledge for B.Sc level. Student of B.Sc(H) Computer Science this note is good. We describe this note very easy language which the student easily understand.
The three main purposes of an operating system are:
1. To provide a convenient environment for users to execute programs on computer hardware.
2. To allocate computer resources needed to execute programs safely and without affecting other users or the OS.
3. To provide a foundation for evolution to future services while still supporting existing services.
This document provides an introduction and overview of operating systems. It begins with definitions of operating systems and their role in managing computer hardware resources and acting as an interface between users and computers. Some key functions of operating systems are then summarized, including memory management, processor management, device management, file management, and security. Popular operating system types are also briefly outlined, such as batch operating systems, multi-programming systems, time-sharing systems, distributed systems, and real-time systems.
This document provides an overview of operating systems. It defines an operating system as a program that acts as an interface between the user and computer hardware to control execution of programs. The document then describes key functions of operating systems like memory management, processor management, device management, file management, and security. It also outlines different types of operating systems including batch, time-sharing, distributed, network, and real-time operating systems.
This document provides an overview of operating system concepts including system components, operating system services, system programs, system calls, process management, and process states. It describes the four main components of a computer system as hardware, operating system, application programs, and users. It defines key operating system concepts such as multiprogramming, time-sharing, distributed systems, and real-time systems. It also explains process management topics like process states, process control blocks, and context switching.
Advanced computer architecture lesson 1 and 2Ismail Mukiibi
An OS 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. .....................
Comparative analysis of the essential CPU scheduling algorithmsjournalBEEI
CPU scheduling algorithms have a significant function in multiprogramming operating systems. When the CPU scheduling is effective a high rate of computation could be done correctly and also the system will maintain in a stable state. As well as, CPU scheduling algorithms are the main service in the operating systems that fulfill the maximum utilization of the CPU. This paper aims to compare the characteristics of the CPU scheduling algorithms towards which one is the best algorithm for gaining a higher CPU utilization. The comparison has been done between ten scheduling algorithms with presenting different parameters, such as performance, algorithm’s complexity, algorithm’s problem, average waiting times, algorithm’s advantages-disadvantages, allocation way, etc. The main purpose of the article is to analyze the CPU scheduler in such a way that suits the scheduling goals. However, knowing the algorithm type which is most suitable for a particular situation by showing its full properties.
This document provides an overview of operating system concepts including system components, batch systems, spooling, multiprogramming, time-sharing systems, distributed systems, parallel systems, real-time embedded systems, system structures, system calls, system programs, and process management. It describes the basic functions of an operating system in managing hardware resources, running application programs, and allowing multiple processes to run concurrently through techniques like multiprocessing and time-sharing.
This document provides an overview of operating systems, including:
1. Definitions of an operating system and its main functions like managing computer resources and providing an interface between hardware and users.
2. Explanations of different operating system structures like simple, layered, microkernel, and modular approaches and their advantages/disadvantages.
3. Descriptions of key operating system concepts like dual mode operation, system calls, interrupts, and protection/security mechanisms.
LEARNING SCHEDULER PARAMETERS FOR ADAPTIVE PREEMPTIONcscpconf
An operating system scheduler is expected to not allow processor stay idle if there is any
process ready or waiting for its execution. This problem gains more importance as the numbers
of processes always outnumber the processors by large margins. It is in this regard that
schedulers are provided with the ability to preempt a running process, by following any
scheduling algorithm, and give us an illusion of simultaneous running of several processes. A
process which is allowed to utilize CPU resources for a fixed quantum of time (termed as
timeslice for preemption) and is then preempted for another waiting process. Each of these
'process preemption' leads to considerable overhead of CPU cycles which are valuable resource
for runtime execution. In this work we try to utilize the historical performances of a scheduler
and predict the nature of current running process, thereby trying to reduce the number of
preemptions. We propose a machine-learning module to predict a better performing timeslice
which is calculated based on static knowledge base and adaptive reinforcement learning based
suggestive module. Results for an "adaptive timeslice parameter" for preemption show good
saving on CPU cycles and efficient throughput time.
Learning scheduler parameters for adaptive preemptioncsandit
An operating system scheduler is expected to not al
low processor stay idle if there is any
process ready or waiting for its execution. This pr
oblem gains more importance as the numbers
of processes always outnumber the processors by lar
ge margins. It is in this regard that
schedulers are provided with the ability to preempt
a running process, by following any
scheduling algorithm, and give us an illusion of si
multaneous running of several processes. A
process which is allowed to utilize CPU resources f
or a fixed quantum of time (termed as
timeslice for preemption) and is then preempted for
another waiting process. Each of these
'process preemption' leads to considerable overhead
of CPU cycles which are valuable resource
for runtime execution. In this work we try to utili
ze the historical performances of a scheduler
and predict the nature of current running process,
thereby trying to reduce the number of
preemptions. We propose a machine-learning module t
o predict a better performing timeslice
which is calculated based on static knowledge base
and adaptive reinforcement learning based
suggestive module. Results for an "adaptive timesli
ce parameter" for preemption show good
saving on CPU cycles and efficient throughput time.
This document outlines the syllabus for an Operating Systems course. It covers four modules: evolution of operating systems and process management; process synchronization, threads, concurrency tools, and deadlock prevention; memory management including paging, segmentation, and virtual memory; and file systems including disk scheduling and I/O. The key functions of an operating system are also summarized, including process management, memory management, and file management.
LM1 - Computer System Overview, system callsmanideepakc
The document discusses operating system concepts including:
1. It provides an overview of computer system elements like the CPU, memory, I/O devices and how the operating system acts as an intermediary between the user and hardware.
2. It describes instruction execution involving fetching, decoding and executing instructions in memory.
3. It explains interrupts as signals that alert the processor to high priority processes, and how the operating system handles interrupts through interrupt service routines.
FellowBuddy.com is an innovative platform that brings students together to share notes, exam papers, study guides, project reports and presentation for upcoming exams.
We connect Students who have an understanding of course material with Students who need help.
Benefits:-
# Students can catch up on notes they missed because of an absence.
# Underachievers can find peer developed notes that break down lecture and study material in a way that they can understand
# Students can earn better grades, save time and study effectively
Our Vision & Mission – Simplifying Students Life
Our Belief – “The great breakthrough in your life comes when you realize it, that you can learn anything you need to learn; to accomplish any goal that you have set for yourself. This means there are no limits on what you can be, have or do.”
Like Us - https://www.facebook.com/FellowBuddycom
The document summarizes the evolution of operating systems from early batch systems to modern distributed systems. It describes batch operating systems which executed jobs sequentially in batches. Multiprogramming systems allowed the CPU to run multiple processes by switching between them when one was waiting for I/O. Time-sharing systems further improved resource sharing by rapidly switching between user programs. Real-time systems guarantee response times for critical applications. Network and distributed systems connect multiple computers and allow resources to be shared across a network or distributed architecture.
The document provides an overview of operating system concepts. It defines an operating system as a program that acts as an intermediary between the user and computer hardware, managing resources and running programs. It describes the role of operating systems in virtualizing resources, providing protection and security, managing processes, memory, files, devices and networks. It also discusses different types of operating systems used in various computing environments like desktop systems, parallel systems, distributed systems, and real-time systems.
The document provides an overview of operating systems including:
- An operating system acts as an intermediary between the user and computer hardware to provide an environment for programs to execute, make the computer convenient to use, and allow efficient use of hardware.
- Operating systems control and coordinate the use of hardware resources among programs and users. They allocate resources like CPU time, memory, and I/O devices.
- Operating systems exist to make computing easier and more efficient by managing resources and controlling programs. They provide an interface between users, programs, and hardware.
Real Time Operating System ,Structures of Operating System(Monolithic, Micro...VIJETHAK2
introduction to real time operating systems Structures of Operating System(Monolithic, Microkernel, Layered, Exo-kernel and Hybrid kernel structures) Operating system objectives and functions,Virtual ComputersInteraction of OS and Hardware architecture
Transducers and sensors
Sensors in robotics
Tactile sensors
Proximity and range sensors
Miscellaneous sensors and sensor based system
Use of sensors in Robotics
Methods of robot programming
Leadthrough programming methods
A robot program as a path in space
Motion interpolation
WAIT, SIGNAL and DELAY commands
Branching
This document discusses robot applications in manufacturing, focusing on material transfer and machine loading/unloading applications. It describes several types of material transfer operations including pick-and-place, palletizing, and applications involving conveyors. It also discusses using robots for die casting, plastic molding, and other machine operations, describing how robots can load/unload parts and interface with production equipment. Key considerations for robot applications are also reviewed.
This document discusses artificial intelligence and its applications in robotics. It covers several topics:
1. It provides an introduction to AI and discusses how early robots had limited interaction with their environment but modern robotics incorporates AI through computer vision, sensors, and other techniques.
2. It outlines several goals of AI research including problem solving, natural language processing, expert systems, learning, computer vision, inference, and search. It also discusses knowledge representation techniques like logic, procedures, semantic networks, production systems, and frames.
3. It covers AI techniques for representing and manipulating data including knowledge representation, problem representation for problem solving using state-space and problem-reduction, and different data representation schemes.
File system and IOCS
Files and file organization
Fundamentals of file organizations
Directory structures
File protection
Interface between file system and IOCS
Allocation of disk space
Implementation of file access
The document discusses virtual memory and page replacement policies in operating systems. It begins with an overview of virtual memory basics such as using a combination of hardware and software to create an illusion of memory larger than physical RAM. It describes how processes are divided into pages that can be loaded and removed from memory as needed. The document then covers demand paging, where only needed pages are loaded, and page replacement policies including optimal, FIFO, and LRU which aim to replace pages least likely to be used soon. It concludes with contact information for the author.
The document discusses modules and ports in Verilog. It describes that a module defines distinct parts including module name, port list, port declarations, and optional parameters. Ports provide the interface for a module to communicate with its environment. There are two methods for connecting ports to external signals - by ordered list where signals must appear in the same order as ports, and by name where the order does not matter as long as port names match. Hierarchical names provide unique names for every identifier by denoting the design hierarchy with identifiers separated by periods.
Characteristics and Quality Attributes of Embedded Systemanand hd
The document discusses the characteristics and quality attributes of embedded systems. It describes key characteristics of embedded systems such as being application specific, reactive and real-time in response, operating in harsh environments, being distributed, and having concerns for small size, weight and power. It then outlines important quality attributes for embedded systems including operational attributes like response, throughput, reliability, maintainability, security and safety as well as non-operational attributes.
The document discusses basic concepts in Verilog including lexical conventions, data types, and system tasks. It covers topics like comments, numbers, operators, identifiers, data types for nets, registers and vectors. Lexical conventions like whitespace, comments, operators, number representation, strings, and escaped identifiers are explained. Data types discussed include nets, registers, vectors, vector part selects, and variable vector part selects.
Definition
Embedded systems vs. General Computing Systems
Core of the Embedded System
Memory
Sensors and Actuators
Communication Interface
Embedded Firmware
Other System Components
PCB and Passive Components
Introduction
Types of end effectors
Mechanical gripper
Other types of grippers
Tools as end effectors
The Robot/End effectors interface
Considerations in gripper selection and design
Fundamentals of Robotics and Machine Vision Systemanand hd
Automation and Robotics
Robotics in science Fiction
A brief history of robotics
Robot Anatomy & Work volume
Robot drive systems
Control systems and Dynamic performance
Precision of movement
End effectors
Robotic sensors,
Robot programming and work cell control
Robot applications
This document provides an overview of embedded systems used in digital cameras, automobiles, and smart card readers. It discusses the key components of digital cameras including image sensors, processors, memory, and interfaces. It describes various embedded applications in automobiles like engine control, safety systems, and infotainment. It also outlines the components of a smart card reader system including a microcontroller, smart card reader IC, memory, and power supply. Case studies of these three embedded applications are presented in detail across multiple pages.
The document describes various modeling examples including generic shift registers, state machines, interacting state machines, Moore finite state machines (FSM), and Mealy FSM. It provides code examples to model a generic shift register, a multiplication algorithm as a state machine, two interacting processes as state machines, and a Moore FSM. It explains that in a Moore FSM, the output depends only on the state, while in a Mealy FSM, the output depends on both the state and inputs.
We have compiled the most important slides from each speaker's presentation. This year’s compilation, available for free, captures the key insights and contributions shared during the DfMAy 2024 conference.
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsVictor Morales
K8sGPT is a tool that analyzes and diagnoses Kubernetes clusters. This presentation was used to share the requirements and dependencies to deploy K8sGPT in a local environment.
Introduction- e - waste – definition - sources of e-waste– hazardous substances in e-waste - effects of e-waste on environment and human health- need for e-waste management– e-waste handling rules - waste minimization techniques for managing e-waste – recycling of e-waste - disposal treatment methods of e- waste – mechanism of extraction of precious metal from leaching solution-global Scenario of E-waste – E-waste in India- case studies.
Literature Review Basics and Understanding Reference Management.pptxDr Ramhari Poudyal
Three-day training on academic research focuses on analytical tools at United Technical College, supported by the University Grant Commission, Nepal. 24-26 May 2024
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTjpsjournal1
The rivalry between prominent international actors for dominance over Central Asia's hydrocarbon
reserves and the ancient silk trade route, along with China's diplomatic endeavours in the area, has been
referred to as the "New Great Game." This research centres on the power struggle, considering
geopolitical, geostrategic, and geoeconomic variables. Topics including trade, political hegemony, oil
politics, and conventional and nontraditional security are all explored and explained by the researcher.
Using Mackinder's Heartland, Spykman Rimland, and Hegemonic Stability theories, examines China's role
in Central Asia. This study adheres to the empirical epistemological method and has taken care of
objectivity. This study analyze primary and secondary research documents critically to elaborate role of
china’s geo economic outreach in central Asian countries and its future prospect. China is thriving in trade,
pipeline politics, and winning states, according to this study, thanks to important instruments like the
Shanghai Cooperation Organisation and the Belt and Road Economic Initiative. According to this study,
China is seeing significant success in commerce, pipeline politics, and gaining influence on other
governments. This success may be attributed to the effective utilisation of key tools such as the Shanghai
Cooperation Organisation and the Belt and Road Economic Initiative.
Using recycled concrete aggregates (RCA) for pavements is crucial to achieving sustainability. Implementing RCA for new pavement can minimize carbon footprint, conserve natural resources, reduce harmful emissions, and lower life cycle costs. Compared to natural aggregate (NA), RCA pavement has fewer comprehensive studies and sustainability assessments.
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMSIJNSA Journal
The smart irrigation system represents an innovative approach to optimize water usage in agricultural and landscaping practices. The integration of cutting-edge technologies, including sensors, actuators, and data analysis, empowers this system to provide accurate monitoring and control of irrigation processes by leveraging real-time environmental conditions. The main objective of a smart irrigation system is to optimize water efficiency, minimize expenses, and foster the adoption of sustainable water management methods. This paper conducts a systematic risk assessment by exploring the key components/assets and their functionalities in the smart irrigation system. The crucial role of sensors in gathering data on soil moisture, weather patterns, and plant well-being is emphasized in this system. These sensors enable intelligent decision-making in irrigation scheduling and water distribution, leading to enhanced water efficiency and sustainable water management practices. Actuators enable automated control of irrigation devices, ensuring precise and targeted water delivery to plants. Additionally, the paper addresses the potential threat and vulnerabilities associated with smart irrigation systems. It discusses limitations of the system, such as power constraints and computational capabilities, and calculates the potential security risks. The paper suggests possible risk treatment methods for effective secure system operation. In conclusion, the paper emphasizes the significant benefits of implementing smart irrigation systems, including improved water conservation, increased crop yield, and reduced environmental impact. Additionally, based on the security analysis conducted, the paper recommends the implementation of countermeasures and security approaches to address vulnerabilities and ensure the integrity and reliability of the system. By incorporating these measures, smart irrigation technology can revolutionize water management practices in agriculture, promoting sustainability, resource efficiency, and safeguarding against potential security threats.
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...IJECEIAES
Climate change's impact on the planet forced the United Nations and governments to promote green energies and electric transportation. The deployments of photovoltaic (PV) and electric vehicle (EV) systems gained stronger momentum due to their numerous advantages over fossil fuel types. The advantages go beyond sustainability to reach financial support and stability. The work in this paper introduces the hybrid system between PV and EV to support industrial and commercial plants. This paper covers the theoretical framework of the proposed hybrid system including the required equation to complete the cost analysis when PV and EV are present. In addition, the proposed design diagram which sets the priorities and requirements of the system is presented. The proposed approach allows setup to advance their power stability, especially during power outages. The presented information supports researchers and plant owners to complete the necessary analysis while promoting the deployment of clean energy. The result of a case study that represents a dairy milk farmer supports the theoretical works and highlights its advanced benefits to existing plants. The short return on investment of the proposed approach supports the paper's novelty approach for the sustainable electrical system. In addition, the proposed system allows for an isolated power setup without the need for a transmission line which enhances the safety of the electrical network
A review on techniques and modelling methodologies used for checking electrom...nooriasukmaningtyas
The proper function of the integrated circuit (IC) in an inhibiting electromagnetic environment has always been a serious concern throughout the decades of revolution in the world of electronics, from disjunct devices to today’s integrated circuit technology, where billions of transistors are combined on a single chip. The automotive industry and smart vehicles in particular, are confronting design issues such as being prone to electromagnetic interference (EMI). Electronic control devices calculate incorrect outputs because of EMI and sensors give misleading values which can prove fatal in case of automotives. In this paper, the authors have non exhaustively tried to review research work concerned with the investigation of EMI in ICs and prediction of this EMI using various modelling methodologies and measurement setups.
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELgerogepatton
As digital technology becomes more deeply embedded in power systems, protecting the communication
networks of Smart Grids (SG) has emerged as a critical concern. Distributed Network Protocol 3 (DNP3)
represents a multi-tiered application layer protocol extensively utilized in Supervisory Control and Data
Acquisition (SCADA)-based smart grids to facilitate real-time data gathering and control functionalities.
Robust Intrusion Detection Systems (IDS) are necessary for early threat detection and mitigation because
of the interconnection of these networks, which makes them vulnerable to a variety of cyberattacks. To
solve this issue, this paper develops a hybrid Deep Learning (DL) model specifically designed for intrusion
detection in smart grids. The proposed approach is a combination of the Convolutional Neural Network
(CNN) and the Long-Short-Term Memory algorithms (LSTM). We employed a recent intrusion detection
dataset (DNP3), which focuses on unauthorized commands and Denial of Service (DoS) cyberattacks, to
train and test our model. The results of our experiments show that our CNN-LSTM method is much better
at finding smart grid intrusions than other deep learning algorithms used for classification. In addition,
our proposed approach improves accuracy, precision, recall, and F1 score, achieving a high detection
accuracy rate of 99.50%.
1. Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56
OPERATING SYSTEM
Mr. Anand H. D.
1
Operating System: Overview of Operating Systems
Department of Electronics & Communication Engineering
Dr. Ambedkar Institute of Technology
Bengaluru-56
2. Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 2
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems Real time operating systems
Topics to be covered:
Efficiency, system performance and user convenience
Classes of operating systems
Batch processing system,
Multi programming systems
Time sharing systems
Real time operating systems
3. Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 3
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience
Table summarizes these measures. Efficiency: The way to evaluate efficiency of use of a
resource is to see how much of the resource is unused or wasted, and, in the amount of
resource that is used, check how much of it is put to productive use.
Efficiency of Use
System Performance
User Services
Percent Utilization of the CPU
Amount of work done per unit time
Time to complete a job or a process
Aspect Measures Description
CPU Efficiency
Memory Efficiency
Turnaround time
Response time
Percent Utilization of the Memory
Throughput
Time to implement one subrequest
Measures of Efficiency, System Performance and User Service
Measurement provides a method of assessing selected aspects of an operating system’s
functioning.
4. Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 4
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience
As an example of efficiency, consider use of the CPU. Some amount of CPU time is wasted
because the CPU does not have enough work to do. This happens when all user processes in
the system are either performing I/O operations or waiting for the users to supply data.
Of the CPU time that is used, some amount of time is used by the OS itself in performing
interrupt servicing and scheduling. This constitutes the overhead of OS operation. The
remaining CPU time is used for executing user processes.
To evaluate efficiency of CPU use, we should consider what fraction or percentage of the total
CPU time is used for executing user processes.
Efficiency of use of other resources such as memory and I/O devices can be similarly
determined: Deduct the amount of unused resource and the OS overhead from the total
resource and consider what fraction or percentage the result is of the total
resource.
Efficiency of CPU = % [ Total Time CPU is ON – (OS overhead + Unused CPU Time) ]
5. Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 5
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience
Using the notion of efficiency of use, we briefly discuss the fundamental trade-off between
efficiency of use and user convenience:
A multiprogramming system has several user programs at any time and switches between
them to obtain efficient use of both the CPU and I/O devices.
The CPU is given to the highest-priority program in the system whenever it wants, and it
can use the CPU for as long as it wants.
A time-sharing system, however, restricts the amount of CPU time a scheduled process
can use. It preempts a process that uses too much CPU time and schedules another
process.
The preempted process may be scheduled again sometime in future. This feature
increases the OS overhead in interrupt servicing and scheduling, thereby affecting
efficiency of CPU use. However, it provides good response times to all processes, which
is a feature desired by users of the OS
6. Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 6
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience
System Performance: Once we decide on the suitable combination of CPU efficiency and user
service, it is important to know how well the OS is performing.
The notion of performance depends on the computing environment and indicates the rate at
which a computer system accomplishes work during its operation.
An operating system typically uses a measure of efficiency to tune its functioning for better
performance. For example, if memory efficiency is low, the operating system may load more
user programs in memory.
In turn, it may lead to better performance of the system by increasing the rate at which the
system completes user computations.
If CPU efficiency is low, the operating system may investigate its causes—either too few
programs in memory or programs spending too much time in waiting for I/O to complete—and
take corrective actions where possible.
System performance is characterized as the amount of work done per unit time. It is typically
measured as throughput.
7. Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 7
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience
Throughput can also be used as a measure of performance for I/O devices.
For example, the throughput of a disk can be measured as the number of I/O operations completed per unit
time or the number of bytes transferred per unit time.
Throughput: The average number of jobs, programs, processes, or subrequests completed by a system in unit
time.
The unit of work used for measuring throughput depends on the computing environment.
In a non interactive environment, throughput of an OS is measured in terms of the number of jobs or
programs completed per unit time.
In an interactive environment, it may be measured in terms of the number of subrequests completed
per unit time.
In a specialized computing environment, performance may be measured in terms meaningful to the
application; for example, in a banking environment, it could be the number of transactions per unit time
User Service Some aspects of user convenience are intangible and thus impossible to measure numerically;
e.g., a feature like user friendly interfaces cannot be quantified. However, there are some measurable aspects of
user convenience, so we can define appropriate measures for them.
8. Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 8
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience
User service, which indicates how quickly a user’s computation has been completed by the OS.
We define two measures of user service—turnaround time, in noninteractive computing environments, and
response time, in interactive computing environments. A smaller turnaround time or response time implies
better user service
Turnaround Time: The time from submission of a job, program, or process by a user to the time its
results become available to the user.
Response Time: The time from submission of a subrequest by a user to the time a process responds to it.
Specialized measures of user service may be defined for use in specific computing environments. Two such
examples are deadline overrun in a real-time operating system and computation speedup in a distributed
operating system.
Deadline overrun indicates by how much time the OS was late in completing the execution of a
computation with time constraints, so a negative deadline overrun indicates good user service.
Computation speedup indicates by what factor the execution of an application was speeded up because
its processes were executed at the same time in different computers of a distributed system; a larger value
of computation speedup implies better user service.
9. Efficiency, system performance and user convenience Classes of operating systems Batch processing system,
Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 9
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems
Classes of operating systems have evolved over time as computer systems and users’ expectations of them
have developed; i.e., as computing environments have evolved.
Table below lists five fundamental classes of operating systems that are named according to their defining
features.
The table shows when operating systems of each class first came into widespread use; what fundamental
effectiveness criterion, or prime concern, motivated its development; and what key concepts were developed to
address that prime concern.
Batch Processing
Multiprogramming
Time Sharing
Automate transition between jobs
Time slice, round-robin scheduling
Real Time scheduling
OS class Prime Concerns Key Concepts
CPU idle time
Resource Utilization
Meeting time
constraints
Resource Sharing
Program Priorities, Preemption
Good Response Time
Distributed control, transparency
Key Features of Classes of Operating Systems
Real Time
Distributed
Period
1960s
1960s
1980s
1990s
1970s
10. Efficiency, system performance and user convenience Classes of operating systems Batch processing system,
Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 10
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems
Computing hardware was expensive in the early days of computing, so the batch processing
and multiprogramming operating systems focused on efficient use of the CPU and other
resources in the computer system. Computing environments were non-interactive in this era.
In the 1970s, computer hardware became cheaper, so efficient use of a computer was no
longer the prime concern and the focus shifted to productivity of computer users.
Batch Processing Systems In a batch processing operating system, the prime concern is CPU
efficiency.
The batch processing system operates in a strict one job-at-a-time manner; within a job, it
executes the programs one after another.
Thus only one program is under execution at any time.
The opportunity to enhance CPU efficiency is limited to efficiently initiating the next program
when one program ends, and the next job when one job ends, so that the CPU does not remain
idle.
Interactive computing environments were developed and time-sharing operating systems
facilitated better productivity by providing quick response to subrequests made to processes.
The 1980s saw emergence of real-time applications for controlling or tracking of real-world
activities, so operating systems had to focus on meeting the time constraints of such
applications.
In the 1990s, further declines in hardware costs led to development of distributed systems,
in which several computer systems, with varying sophistication of resources, facilitated
sharing of resources across their boundaries through networking..
11. Efficiency, system performance and user convenience Classes of operating systems Batch processing system,
Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 11
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems
Multiprogramming Systems :
A multiprogramming operating system focuses on efficient use of both the CPU and I/O
devices.
The system has several programs in a state of partial completion at any time.
The OS uses program priorities and gives the CPU to the highest-priority program that needs it.
It switches the CPU to a low-priority program when a high-priority program starts an I/O
operation, and switches it back to the high-priority program at the end of the I/O operation.
These actions achieve simultaneous use of I/O devices and the CPU.
Time-Sharing Systems
A time-sharing operating system focuses on facilitating quick response to subrequests made
by all processes, which provides a tangible benefit to users.
It is achieved by giving a fair execution opportunity to each process through two means: The
OS services all processes by turn, which is called round-robin scheduling.
It also prevents a process from using too much CPU time when scheduled to execute, which is
called time-slicing.
The combination of these two techniques ensures that no process has to wait long for CPU
attention.
12. Efficiency, system performance and user convenience Classes of operating systems Batch processing system,
Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 12
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems
Real-Time Systems
A real-time operating system is used to implement a computer application for controlling or
tracking of real-world activities.
The application needs to complete its computational tasks in a timely manner to keep abreast
of external events in the activity that it controls.
To facilitate this, the OS permits a user to create several processes within an application
program, and uses real-time scheduling to interleave the execution of processes such that the
application can complete its execution within its time constraint.
Distributed Systems
A distributed operating system permits a user to access resources located in other computer
systems conveniently and reliably.
To enhance convenience, it does not expect a user to know the location of resources in the
system, which is called transparency.
To enhance efficiency, it may execute parts of a computation in different computer systems at
the same time.
It uses distributed control; i.e., it spreads its decision-making actions across different
computers in the system so that failures of individual computers or the network does not
cripple its operation
13. Efficiency, system performance and user convenience Classes of operating systems Batch processing
Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 13
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Computer systems of the 1960s were noninteractive.
Punched cards were the primary input medium, so a job and its data consisted of a deck of
cards.
A computer operator would load the cards into the card reader to set up the execution of a
job. This action wasted precious CPU time; batch processing was introduced to prevent this
wastage. A batch is a sequence of user jobs formed for processing by the operating system.
A computer operator formed a batch by arranging a few user jobs in a sequence and
inserting special marker cards to indicate the start and end of the batch.
When the operator gave a command to initiate processing of a batch, the batching kernel
set up the processing of the first job of the batch. At the end of the job, it initiated execution
of the next job, and so on, until the end of the batch. Thus the operator had to intervene only
at the start and end of a batch.
Card readers and printers were a performance bottleneck in the 1960s, so batch processing
systems employed the notion of virtual card readers and printers through magnetic tapes, to
improve the system’s throughput.
A batch of jobs was first recorded on a magnetic tape, using a less powerful and cheap
computer. The batch processing system processed these jobs from the tape, which was faster
than processing them from cards, and wrote their results on another magnetic tape. These
were later printed and released to users.
14. Efficiency, system performance and user convenience Classes of operating systems Batch processing
Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 14
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Figure shows the factors that make up the turnaround time of a job.
User jobs could not interfere with each other’s execution directly because they did not
coexist in a computer’s memory. However, since the card reader was the only input device
available to users, commands, user programs, and data were all derived from the card
reader, so if a program in a job tried to read more data than provided in the job, it would
read a few cards of the following job!
To protect against such interference between jobs, a batch processing system required a
user to insert a set of control statements in the deck of cards constituting a job.
The command interpreter, which was a component of the batching kernel, read a card
when the currently executing program in the job wanted the next card.
If the card contained a control statement, it analyzed the control statement and performed
appropriate actions; otherwise, it passed the card to the currently executing program.
Figure: Turnaround time in a batch
processing system.
15. Efficiency, system performance and user convenience Classes of operating systems Batch processing
Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 15
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Figure shows a simplified set of control statements used to compile and execute a Fortran
program
A modern OS would not be designed for batch processing, but the technique is still useful
in financial and scientific computation where the same kind of processing or analysis is to
be performed on several sets of data. Use of batch processing in such environments would
eliminate time-consuming initialization of the financial or scientific analysis separately for
each set of data
If a program tried to read more data than provided, the command interpreter would read
the /*, /& and // JOB cards. On seeing one of these cards, it would realize that the
program was trying to read more cards than provided, so it would abort the job.
Figure: Control statements in IBM 360/370
systems.
16. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 16
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems
Multiprogramming operating systems were developed to provide efficient resource utilization in a
noninteractive environment.
A multiprogramming OS has many user programs in the memory of the computer at any time,
hence the name multiprogramming.
It employs the DMA mode of I/O, so it can perform I/O operations of some program(s) while using
the CPU to execute some other program. This arrangement makes efficient use of both the CPU
and I/O devices.
The I/O and computational activities in several programs are in progress at any time, so it also
leads to high system performance.
Figure illustrates operation of a multiprogramming OS.
(c) program1’s I/O operation completes
and it is scheduled.
Multiprogramming
kernel
Multiprogramming
kernel
Multiprogramming
kernel
Program 1 Program 1 Program 1
Program 2Program 2Program 2
Program 3 Program 3 Program 3
I/O
CPU I/O
CPU
I/O
I/O
CPU
(a) program2 is in execution while program1
is performing an I/O operation
(b) program2 initiates an I/O operation,
program3 is scheduled
I/O
17. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 17
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems
The memory contains three programs. An I/O operation is in progress for program1, while the CPU is
executing program2. The CPU is switched to program3 when program2 initiates an I/O operation, and it
is switched to program1 when program1’s I/O operation completes.
DMA
Memory protection
Kernel and user modes of
CPU
Feature
Architectural Support for Multiprogramming
Description
The CPU initiates an I/O operation when an I/O instruction is executed. The DMA
implements the data transfer involved in the I/O operation without involving the
CPU and raises an I/O interrupt when the data transfer completes.
A program can access only the part of memory defined by contents of the base
register and size register
Certain instructions, called privileged instructions, can be performed only when
the CPU is in the kernel mode. A program interrupt is raised if a program tries to
execute a privileged instruction when the CPU is in the user mode.
The multiprogramming kernel performs scheduling, memory management and I/O management. It
uses a simple scheduling policy, and performs simple partitioned or pool-based allocation of memory
and I/O devices.
Since several programs are in memory at the same time, the instructions, data, and I/O operations of
a program should be protected against interference by other programs.
A computer must possess the features summarized in Table to support multiprogramming.
18. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 18
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems
Memory protection prevents a program from accessing memory locations that lie outside
the range of addresses defined by contents of the base register and size register of the CPU.
The kernel and user modes of the CPU provide an effective method of preventing
interference between programs. The OS puts the CPU in the user mode while executing user
programs, and that instructions that load an address into the base register and a number
into the size register of the CPU, respectively, are privileged instructions.
If a program tries to undermine memory protection by changing contents of the base and
size registers through these instructions, a program interrupt would be raised because the
CPU is in the user mode; the kernel would abort the program while servicing this interrupt.
The turnaround time of a program is the appropriate measure of user service in a
multiprogramming system.
It depends on the total number of programs in the system, the manner in which the kernel
shares the CPU between programs, and the program’s own execution requirements
19. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 19
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems
Priority of Programs:
An appropriate measure of performance of a multiprogramming OS is throughput, which is
the ratio of the number of programs processed and the total time taken to process them.
Throughput of a multiprogramming OS that processes n programs in the interval between
times t0 and tf is n/(tf - t0).
It may be larger than the throughput of a batch processing system because activities in
several programs may take place simultaneously—one program may execute instructions on
the CPU, while some other programs perform I/O operations.
However, actual throughput depends on the nature of programs being processed, i.e., how
much computation and how much I/O they perform, and how well the kernel can overlap
their activities in time.
The OS keeps a sufficient number of programs in memory at all times, so that the CPU and
I/O devices will have sufficient work to perform. This number is called the degree of
multiprogramming.
20. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 20
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems
However, merely a high degree of multiprogramming cannot guarantee good utilization of
both the CPU and I/O devices, because the CPU would be idle if each of the programs
performed I/O operations most of the time, or the I/O devices would be idle if each of the
programs performed computations most of the time.
So the multiprogramming OS employs the two techniques described in Table to ensure an
overlap of CPU and I/O activities in programs:
Appropriate program
mix
Priority-based
preemptive scheduling
Technique
Techniques of Multiprogramming
Description
The kernel keeps a mix of CPU-bound and I/O-bound programs in memory, where
•A CPU-bound program is a program involving a lot of computation and very little
I/O. It uses the CPU in long bursts—that is, it uses the CPU for a long time before
starting an I/O operation.
• An I/O-bound program involves very little computation and a lot of I/O. It uses
the CPU in small bursts.
Every program is assigned a priority. The CPU is always allocated to the highest-
priority program that wishes to use it. A low-priority program executing on the
CPU is preempted if a higher-priority program wishes to use the CPU.
21. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 21
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems
It uses an appropriate program mix, which ensures that some of the programs in memory
are CPU-bound programs, which are programs that involve a lot of computation but few I/O
operations, and others are I/O-bound programs, which contain very little computation but
perform more I/O operations.
This way, the programs being serviced have the potential to keep the CPU and I/O devices
busy simultaneously. The OS uses the notion of priority-based preemptive scheduling to
share the CPU among programs in a manner that would ensure good overlap of their CPU
and I/O activities.
The kernel assigns numeric priorities to programs.
We assume that priorities are positive integers and a large value implies a high priority.
When many programs need the CPU at the same time, the kernel gives the CPU to the
program with the highest priority.
Priority: A tie-breaking criterion under which a scheduler decides which request should be
scheduled when many requests await service.
22. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 22
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems
It uses priority in a preemptive manner; i.e., it preempts a low-priority program executing on
the CPU if a high-priority program needs the CPU. This way, the CPU is always executing
the highest-priority program that needs it.
To understand implications of priority-based preemptive scheduling, consider what would
happen if a high-priority program is performing an I/O operation, a low-priority program is
executing on the CPU, and the I/O operation of the high-priority program completes—the
kernel would immediately switch the CPU to the high-priority program.
Assignment of priorities to programs is a crucial decision that can influence system
throughput.
Multiprogramming systems use the following priority assignment rule:
An I/O-bound program should have a higher priority than a CPU-bound program.
23. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 23
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems
Cumulative CPU and I/O activities are shown
at the bottom of the chart. Note that the chart is
not to scale; the CPU activity of progiob has
been exaggerated for clarity.
Execution of Programs in a Multiprogramming System: Example
A multiprogramming system has progiob,
an I/O-bound program, and progcb, a CPU-
bound program. Its operation starts at time 0
In Figure, the CPU and I/O activities of
these programs are plotted in the form of a
timing chart in which the x axis shows time
and the y axis shows CPU and I/O activities
of the two programs
24. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 24
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems
Execution of Programs in a Multiprogramming System: Example
After a short burst of CPU activity, it
initiates an I/O operation (time instant t1).
The CPU is now switched to progcb.
Execution of progcb is thus concurrent
with the I/O operation of progiob.
Being a CPU-bound program, progcb
keeps the CPU busy until progiob’s I/O
completes at t2, at which time progcb is
preempted because progiob has a higher
priority.
Program progiob is the higher priority
program. Hence it starts executing at time 0.
25. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 25
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems
Execution of Programs in a Multiprogramming System: Example
Now both programs are engaged in I/O
operations, which go on simultaneously
because the programs use different I/O
devices, and the CPU remains idle until one
of them completes its I/O operation.
This explains the CPU-idle periods t6–t7
and t8–t9 in the cumulative CPU activity
This sequence of events repeats in the
period 0–t6.
Deviations from this behavior occur when
progcb initiates an I/O operation.
26. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 26
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems
Execution of Programs in a Multiprogramming System: Example
Observations from Example:
The CPU utilization is good. The I/O
utilization is also good;
however, I/O idling would exist if the
system contained many devices capable of
operating in the DMA mode.
I/O-idle periods occur whenever progiob
executes on the CPU and progcb is not
performing I/O (see intervals 0 - t1, t2–t3, and
t4–t5).
But the CPU and the I/O subsystem are
concurrently busy in the intervals t1–t2, t3–
t4, t5–t6, and t7–t8.
27. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 27
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems
Execution of Programs in a Multiprogramming System: Example
The throughput is thus substantially higher
than if the programs were executed one after
another as in a batch processing system.
Another important feature of this priority
assignment is that system throughput can be
improved by adding more programs.
Periods of concurrent CPU and I/O
activities are frequent. progiob makes very
good progress because it is the highest-
priority program. It makes very light use of
the CPU, and so progcb also makes very good
progress.
28. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 28
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems
Table describes how addition of a CPU-bound program can reduce CPU idling without affecting
execution of other programs, while addition of an I/O-bound program can improve I/O
utilization while marginally affecting execution of CPU-bound programs. The kernel can
judiciously add CPU-bound or I/O-bound programs to ensure efficient use of resources.
Add a CPU-bound
program
Add an I/O-bound
program
Action
Effect of Increasing the Degree of Multiprogramming
Effect
A CPU-bound program (say, prog3) can be introduced to utilize some of the CPU
time that was wasted in Example (e.g., the intervals t6–t7 and t8–t9). prog3 would
have the lowest priority. Hence its presence would not affect the progress of
progcb and progiob.
An I/O-bound program (say, prog4) can be introduced. Its priority would be between
the priorities of progiob and progcb. Presence of prog4 would improve I/O
utilization. It would not affect the progress of progiob at all, since progiob has the
highest priority, and it would affect the progress of progcb only marginally, since
prog4 does not use a significant amount of CPU time.
29. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 29
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems
When an appropriate program mix is maintained, we can expect that an increase in the degree
of multiprogramming would result in an increase in throughput.
However, their contribution is limited by their opportunity to use the CPU.
Throughput stagnates with increasing values of the degree of multiprogramming if low-
priority programs do not get any opportunity to execute.
Figure shows how the throughput of a system
actually varies with the degree of
multiprogramming.
When the degree of multiprogramming is 1, the
throughput is dictated by the elapsed time of the
lone program in the system.
When more programs exist in the system, lower-
priority programs also contribute to throughput.
30. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 30
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems
In an interactive computing environment, a user submits a computational requirement—a
subrequest—to a process and examines its response on the monitor screen.
A time-sharing operating system is designed to provide a quick response to subrequests
made by users. It achieves this goal by sharing the CPU time among processes in such a way
that each process to which a subrequest has been made would get a turn on the CPU
without much delay.
The scheduling technique used by a time-sharing kernel is called round-robin scheduling
with time-slicing.
Figure: A schematic of round-robin
scheduling with time-slicing.
31. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 31
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems
The kernel maintains a scheduling queue of processes that wish to use the CPU; it always
schedules the process at the head of the queue.
When a scheduled process completes servicing of a subrequest, or starts an I/O operation,
the kernel removes it from the queue and schedules another process.
Such a process would be added at the end of the queue when it receives a new
subrequest, or when its I/O operation completes.
Figure: A schematic of round-robin
scheduling with time-slicing.
32. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 32
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems
This arrangement ensures that all processes would suffer comparable delays before getting
to use the CPU.
However, response times of processes would degrade if a process consumes too much CPU
time in servicing its subrequest.
The kernel uses the notion of a time slice to avoid this situation. The notation δ is used
for the time slice.
Figure: A schematic of round-robin
scheduling with time-slicing.
Time Slice: The largest amount of CPU time any time-shared process can consume when
scheduled to execute on the CPU.
33. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 33
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems
If the time slice elapses before the process completes servicing of a subrequest, the kernel
preempts the process, moves it to the end of the scheduling queue, and schedules another
process
The preempted process would be rescheduled when it reaches the head of the queue once
again. Thus, a process may have to be scheduled several times before it completes servicing
of a subrequest. . The kernel employs a timer interrupt to implement time-slicing
The appropriate measure of user service in a time-sharing system is the time taken to
service a subrequest, i.e., the response time (rt). It can be estimated in the following manner:
Let the number of users using the system at any time be n.
Let the complete servicing of each user subrequest require exactly δ CPU seconds,
let σ be the scheduling overhead; i.e., the CPU time consumed by the kernel to perform
scheduling.
If we assume that an I/O operation completes instantaneously and a user submits the next
subrequest immediately after receiving a response to the previous subrequest, the response
time (rt) and the CPU efficiency (η) are given by rt = n × (δ + σ ) η =δ/( δ + σ)
34. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 34
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems
The actual response time may be different from the value of rt predicted by Equation for two
reasons.
Example illustrates round-robin scheduling with time-slicing, and how it results in interleaved
operation of processes
First, all users may not have made subrequests to their processes. Hence rt would not be
influenced by n, the total number of users in the system; it would be actually influenced by
the number of active users.
Second, user subrequests do not require exactly δ CPU seconds to produce a response.
Hence the relationship of rt and η with δ is more complex than shown in Eqs.
Example Operation of Processes in a Time-Sharing System
Processes P1 and P2 follow a cyclic behavior pattern. Each cycle contains a burst of CPU
activity to service a subrequest and a burst of I/O activity to report its result, followed by a
wait until the next subrequest is submitted to it.
The CPU bursts of processes P1 and P2 are 15 and 30 ms, respectively, while the I/O
bursts are 100 and 60 ms, respectively
35. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 35
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems
the timing chart showing the CPU and I/O activities of
the processes.
Figure shows operation of the processes
in a time-sharing system using a time
slice of 10 ms. Both processes have to be
scheduled a few times before they can
complete the CPU bursts of their
execution cycle and start I/O.
Process P1 uses the CPU from time 0 to
10 ms and P2 uses the CPU from 10 to
20 ms without completing the CPU
bursts of their execution cycles.
P1 is scheduled once again at 20 ms and
starts an I/O operation at 25 ms. Now
P2 gets two consecutive time slices.
Table showing the scheduling list and scheduling
decisions of the kernel, assuming scheduling
overhead to be negligible,
36. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 36
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems
However, these time slices are
separated by the scheduling overhead
because the OS preempts process P2 at
35 ms and schedules it again, since no
other process in the system needs the
CPU.
P1’s I/O operation completes at 125
ms. P2 starts an I/O operation at 45
ms, which completes at 105 ms.
Thus, the response times are 125
ms and 105 ms, respectively
the timing chart showing the CPU and I/O activities of
the processes.
Table showing the scheduling list and scheduling
decisions of the kernel, assuming scheduling
overhead to be negligible,
37. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 37
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems
But what if only two processes could fit in the computer’s memory? The system throughput
would be low and response times of processes other than P1 and P2 would suffer.
Swapping of Programs:
Throughput of subrequests is the appropriate measure of performance of a timesharing
operating system.
The time-sharing OS of Example completes two subrequests in 125 ms, hence its
throughput is 16 subrequests per second over the period 0 to 125 ms.
However, the throughput would drop after 125 ms if users do not make the next
subrequests to these processes immediately.
The CPU is idle after 45 ms because it has no work to perform. It could have serviced a
few more subrequests, had more processes been present in the system.
38. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 38
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems
The technique of swapping is employed to service a larger number of processes than can
fit into the computer’s memory. It has the potential to improve both system performance and
response times of processes.
Swapping: The technique of temporarily removing a process from the memory of a computer
system.
The kernel performs a swap-out operation on a process that is not likely to get
scheduled in the near future by copying its instructions and data onto a disk. This
operation frees the area of memory that was allocated to the process.
The kernel now loads another process in this area of memory through a swap-in
operation. The kernel would overlap the swap-out and swap-in operations with
servicing of other processes on the CPU, and a swapped-in process would itself get
scheduled in due course of time.
This way, the kernel can service more processes than can fit into the computer’s
memory.
39. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 39
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems
The processes could also have been swapped
out when they were preempted.
Figure illustrates how the kernel employs swapping.
Initially, processes P1 and P2 exist in memory.
These processes are swapped out when they
complete handling of the subrequests made to
them, and they are replaced by processes P3
and P4, respectively.
A swapped-out process is swapped back into
memory before it is due to be scheduled
again, i.e., when it nears the head of the
scheduling queue.
kernel
Program 1
Program 2
kernel
Program 1
Program 3
kernel
Program 4
Program 3
kernel
Program 1
Program 3
(a)
(c)
(b)
(d)
Figure: Swapping: (a) processes in memory between
0 and 105 ms; (b) P2 is replaced by P3 at 105 ms; (c)
P1 is replaced by P4 at 125 ms; (d) P1 is swapped in
to service the next subrequest made to it.
40. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 40
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
users need the computer to perform some actions in a timely manner to control the
activities in an external system, or to participate in them. The timeliness of actions is
determined by the time constraints of the external system.
Multi programming systems Time sharing systems Real time operating systems
Real-Time Application: A program that responds to activities in an external system within
a maximum time determined by the external system
If the application takes too long to respond to an activity, a failure can occur in the
external system.
The term response requirement of a system is used to indicate the largest value of
response time for which the system can function perfectly; a timely response is one whose
response time is not larger than the response requirement of the system.
Consider a system that logs data received from a satellite remote sensor. The satellite
sends digitized samples to the earth station at the rate of 500 samples per second.
41. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 41
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
The application process is required to simply store these samples in a file. Since a new
sample arrives every two thousandth of a second, i.e., every 2 ms, the computer must respond
to every “store the sample” request in less than 2 ms, or the arrival of a new sample would
wipe out the previous sample in the computer’s memory.
Multi programming systems Time sharing systems Real time operating systems
This system is a real-time application because a sample must be stored in less than 2 ms to
prevent a failure. Its response requirement is 1.99 ms.
The deadline of an action in a real-time application is the time by which the action should
be performed. In the current example, if a new sample is received from the satellite at time t,
the deadline for storing it on disk is t + 1.99 ms.
Examples of real-time applications can be found in missile guidance, command and
control applications like process control and air traffic control, data sampling and data
acquisition systems like display systems in automobiles, multimedia systems, and
applications like reservation and banking systems that employ large databases.
42. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 42
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems Real time operating systems
The response requirements of these systems vary from a few microseconds or milliseconds
for guidance and control systems to a few seconds for reservation and banking systems
Hard and Soft Real-Time Systems
To take advantage of the features of real-time systems while achieving maximum cost-
effectiveness, two kinds of real-time systems have evolved.
A hard real-time system is typically dedicated to processing real-time applications,
and provably meets the response requirement of an application under all conditions.
A soft real-time system makes the best effort to meet the response requirement of a
real-time application but cannot guarantee that it will be able to meet it under all
conditions. Typically, it meets the response requirements in some probabilistic
manner, say, 98 percent of the time.
Guidance and control applications fail if they cannot meet the response requirement,
hence they are serviced by hard real-time systems.
43. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 43
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems Real time operating systems
Applications that aim at providing good quality of service, e.g., multimedia applications
and applications like reservation and banking, do not have a notion of failure, so they
may be serviced by soft real-time systems—the picture quality provided by a video-on-
demand system may deteriorate occasionally, but one can still watch the video!
Features of a Real-Time Operating System
Table Essential Features of a Real-Time Operating System
44. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 44
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems Real time operating systems
The first three features help an application in meeting the response requirement of a
system as follows:
A real-time application can be coded such that the OS can execute its parts
concurrently, i.e., as separate processes. When these parts are assigned priorities and
priority-based scheduling is used, we have a situation analogous to
multiprogramming within the application—if one part of the application initiates an
I/O operation, the OS would schedule another part of the application. Thus, CPU and
I/O activities of the application can be overlapped with one another, which helps in
reducing the duration of an application, i.e., its running time.
Deadline-aware scheduling is a technique used in the kernel that schedules
processes in such a manner that they may meet their deadlines.
Ability to specify domain-specific events and event handling actions enables a real-
time application to respond to special conditions in the external system promptly.
45. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 45
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems Real time operating systems
Predictability of policies and overhead of the OS enables an application developer to
calculate the worst-case running time of the application and decide whether the response
requirement of the external system can be met. The predictability requirement forces a hard
real-time OS to shun features such as virtual memory whose performance cannot be predicted
precisely
The OS would also avoid shared use of resources by processes, because it can lead
to delays that are hard to predict and unbounded, i.e., arbitrarily large.
A real-time OS employs two techniques to ensure continuity of operation when faults occur—
A fault-tolerant computer system uses redundancy of resources to ensure that the
system will keep functioning even if a fault occurs; e.g., it may have two disks even though
the application actually needs only one disk.
Graceful degradation is the ability of a system to fall back to a reduced level of service
when a fault occurs and to revert to normal operations when the fault is rectified. The
programmer can assign high priorities to crucial functions so that they would be performed
in a timely manner even when the system operates in a degraded mode.
46. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 46
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems Real time operating systems
DISTRIBUTED OPERATING SYSTEMS:
A distributed computer system consists of several individual computer systems connected
through a network. Each computer system could be a PC, a multiprocessor system or a
cluster, which is itself a group of computers that work together in an integrated manner.
Thus, many resources of a kind, e.g., many memories, CPUs and I/O devices, exist in the
distributed system. A distributed operating system exploits the multiplicity of resources and the
presence of a network to provide the benefits summarized in Table
Table : Benefits of
Distributed Operating System
47. Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 47
Operating System: Overview of Operating Systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems Real time operating systems
However, the possibility of network faults or faults in individual computer systems complicates functioning of
the operating system and necessitates use of special techniques in its design. Users also need to use special
techniques to access resources over the network.
Resource sharing has been the traditional motivation for distributed operating systems. A user of a PC or
workstation can use resources such as printers over a local area network (LAN), and access specialized
hardware or software resources of a geographically distant computer system over a wide area network (WAN).
A distributed operating system provides reliability through redundancy of computer systems, resources, and
communication paths—if a computer system or a resource used in an application fails, the OS can switch the
application to another computer system or resource, and if a path to a resource fails, it can utilize another path
to the resource.
Reliability can be used to offer high availability of resources and services, which is defined as the fraction of
time a resource or service is operable. High availability of a data resource, e.g., a file, can be provided by keeping
copies of the file in various parts of the system.
Computation speedup implies a reduction in the duration of an application, i.e., in its running time. It is
achieved by dispersing processes of an application
48. Prepared by Prof. Anand H. D., Dept. of ECE, Dr. AIT, Bengaluru-56 48
Operating System: Overview of Operating Systems
Reference
1. D.M.Dhamdhare, “Operating Systems”,
Second Edition, TMH, 2008
Efficiency, system performance and user convenience Classes of operating systems Batch processing
system, Multi programming systems Time sharing systems Real time operating systems
Efficiency, system performance and user convenience Classes of operating systems Batch processing system
Multi programming systems Time sharing systems Real time operating systems
49. 49
Prof. Anand H. D.
M. Tech. (PhD.)
Assistant Professor,
Department of Electronics & Communication Engineering
Dr. Ambedkar Institute of Technology, Bengaluru-56
Email: anandhdece@dr-ait.org
Phone: 9844518832