SlideShare a Scribd company logo
Operating Systems
Unit I – OS and Type Of OS
II B.Tech(CSE)
IV SEMESTER Course Code:CE205E
Preamble
• A computer system has many resources (hardware, software,firmware), which is
required to complete a task
• The operating system acts as a manager of the above resources and allocates them
to specific programs and users, whenever necessary to perform a particular task.
• Operating system is the resource manager
• The resources are processor, memory, file storage space, and I/O devices
• OS acts as an interface between user and computer
Interface
• Every computer must have an operating system in order to run other programs.
• The operating system mainly coordinates the use of the hardware among the various system programs and
application programs for various users
• operating system acts like a government in a computer
• It provides an environment within which other programs can do useful work
• Below we have an abstract view of the components of the computer
Operating System
• The Computer Hardware contains a central processing unit(CPU), the memory, and the input/output
(I/O) devices and it provides the basic computing resources for the system.
• The Application programs like spreadsheets, Web browsers, word processors, etc. are used to define the ways
in which these resources are used to solve the computing problems of the users.
• System program mainly consists of compilers, loaders, editors, linkers, assemblers, OS, etc.
• The Operating System is mainly used to control the hardware and coordinate its use among the various
application programs for the different users.
OS is designed in order to serve two basic purposes:
1. The operating system mainly controls the allocation and use of the computing System’s resources among
the various user and tasks.
2. It mainly provides an interface between the computer hardware and the programmer that simplifies and
makes feasible for coding, creation of application programs and debugging
Father of OS
• Gary Arlen Kildall was an American computer scientist and
microcomputer entrepreneur.
• During the 1970s, Kildall created the CP/M operating system
among other operating systems and programming tools,
and subsequently founded Digital Research, Inc.
BIOS
• The full form of BIOS is the Basic Input Output System.
• BIOS is software built in to a computer. As we switch on the computer, the program is operated.
• Typically this program is housed in Read-Only Memory (ROM), and is placed on the motherboard.
• Power supply
• Mother board
• PCB chipset
• Registers
• Accumulator
• Cache memory
• RAM
• External memory
Starting an Operating System(Booting)
 Power On Switch sends electricity to the
motherboard on a wire called the Voltage Good
line.
 If the power supply is good, then the BIOS
(Basic Input/Output System) chip takes over.
 In Real Mode, CPU is only capable of using
approximately 1 MB of memory built into the
motherboard.
 The BIOS will do a Power-On Self Test (POST)
to make sure that all hardware are working.
 BIOS will then look for a small sector at the very beginning of your
primary hard disk called MBR.
 The MBR contains a list, or map, of all of the partitions on your
computer‘s hard disk (or disks).
 After the MBR is found the Bootstrap Loader follows basic instructions
for starting up the rest of the computer, including the operating system.
 In Early Kernel Initialization stage, a smaller core of the Kernel is
activated.
 This core includes the device drivers needed to use computer‘s RAM
chips.
Evolution of OS
• OS has evolved over years with technological advancement
• Technological improvement is mapped using generations of OS
Four Generations of OS
• First Generation (1945-1955) – vacuum tubes and plug boards
• Second Generation (1955-1965)- Transistors and batch systems
• Third Generation (1965-1980) – Integrated circuits and multi programming
• Fourth Generation (1980-current) – VLSI/Personal computers
Generations of Operating System – Ist Gen
• Calculating engines with mechanical relays were built after II world war. However, the mechanical relays were very
slow and were later replaced with vacuum tubes.
• These early computers were designed, built and maintained by a single group of people
• Programming languages were unknown and there were no operating systems so all the programming was done in
machine language. All the problems were simple numerical calculations.
• By the 1950’s punch cards were introduced and this improved the computer system.
• Instead of using plugboards, programs were written on cards and read into the system.
• The first generation of operating systems is associated with early computers that utilized vacuum tubes and lacked
sophisticated software.
• One example is the "UNIVAC I (Universal Automatic Computer I)" operating system, developed in the early 1950s.
Second Generation
• Transistors led to the development of the computer systems, manufactured and sold to paying customers
• These machines were known as mainframes and were locked in air-conditioned computer rooms with
staff to operate them
• The Batch System was introduced to reduce the wasted time in the computer
• A tray full of jobs was collected in the input room and read into the magnetic tape.
• Tape was rewound and mounted on a tape drive. Then the batch operating system was loaded and
executed first cum first served basis
• The output was written on the second tape. After the whole batch was done, the input and output tapes
were removed and the output tape was printed.
Third Generation
• Until the 1960’s, there were two types of computer systems i.e., the scientific and
the commercial computers.
• These were combined by IBM in the System/360. This used integrated circuits
and provided a major price and performance advantage over the second generation
systems.
• The third generation operating systems also introduced multiprogramming. This
meant that the processor was not idle while a job was completing its I/O
operation.
Fourth Generation
• Personal Computers were easy to create with the development of large-scale integrated circuits.
• These were chips containing thousands of transistors on a square centimeter of silicon.
• Microcomputers were much cheaper than minicomputers and that made it possible for a single individual
to own one of them.
• The advent of personal computers also led to the growth of networks.
• This created network operating systems and distributed operating systems.
• The users were aware of a network while using a network operating system
• Users can log in to remote machines and copy files from one machine to another.
Mobile Smartphone OS
• IOS Operating system
• Android using Linux kernel meant for web use
• Android owned by Google Inc, American Search Engine Company,
2005
Views of Operating System
1. User’s View
2. System’s View
Operating System: User View
• The user view of the computer refers to the interface being used.
• Designed for one user to monopolize its resources, to maximize the work that the user is performing.
• In these cases, the operating system is designed mostly for ease of use, with some attention paid to
performance, and none paid to resource utilization.
Operating System: System View
• The operating system can be viewed as a resource allocator also.
• A computer system consists of many resources like - hardware and software - that must be managed
efficiently.
• The operating system acts as the manager of the resources, resolves conflicting requests, controls the
execution of programs, etc.
Unit - I  Intro and Types of Operating system.pptx
The User Mode is concerned with the actual interface between the
user and the system.
It controls things like running applications and accessing files.
The Kernel Mode is concerned with everything running in the
background.
It controls things like accessing system resources, controlling
hardware functions and processing program instructions.
System calls are used to change mode from User to Kernel.
Types of Operating System
1. No OS (0’s-1940’s)
2. Simple Batch System(1940’s – 1950’s)
3. Multi-programmed(1950’s-1960’s)
4. Time-Sharing OS(1960’s – 1970’s)
5. Personal Computer- GUI (1970-1980’s)
6. Parallel (1980-1990’s)
7. Distributed Systems(1990-2000’s)
8. Real Time Systems/Mobile OS(2000-2010’s)
9. AI integrated OS(2010-ongoing) Siri, Google Assistant, Alexa
voice commands, predictive text, and personalized recommendations
Batch Operating System
• In a Batch Operating System, the similar jobs are grouped together into batches with the help of some
operator and these batches are executed one by one.
• For example, let us assume that we have 10 programs that need to be executed.
• Some programs are written in C++, some in C and rest in Java.
• Now, every time when we run these program’s we have to load the compiler of that particular language and
then execute the code
• The benefit with this approach is that, for the C++ batch, you need to load the compiler only once.
• Similarly, for Java and C, the compiler needs to be loaded only once and the whole batch gets executed.
• Manual intervention is essential in this method
Batch OS
Advantages
1. Execution time will be reduced.
2. The Batch Operating System can be shared between multiple users.
Disadvantages
1. Manual interventions are required between two batches.
2. The CPU utilization is low because the time taken in loading and unloading of batches is very
high as compared to execution time.
Multi-Programming
• Sharing the processor, when two or more programs reside in memory at the same time, is
referred as multiprogramming. Multiprogramming assumes a single shared processor.
Multiprogramming increases CPU utilization by organizing jobs so that the CPU always has one
to execute. Memory layout of multi-programming
OS activities in multi-programming
• An OS does the following activities related to multiprogramming.
 The operating system keeps several jobs in memory at a time.
 The operating system picks and begins to execute one of the jobs in the memory.
 Multiprogramming operating systems monitor the state of all active programs and system resources
using memory management programs to ensures that the CPU is never idle, unless there are no jobs to
process.
• Advantages
 Efficient CPU utilization
 User feels that many programs are executed in CPU simultaneously.
• Disadvantages
 CPU scheduling is required.
 To accommodate many jobs in memory, memory management is required.
Multi-user Vs Multi-Tasking OS
• Multiuser and Multitasking both are different in every aspect and multitasking is an operating system that allows you to run more
than one program simultaneously.
• The operating system does this by moving each program in and out of memory one at a time.
• When a program runs out of memory, it is temporarily stored on disk until it is needed again
• A multi-user operating system allows many users to share processing time on a powerful central computer on different terminals.
• The operating system does this by quickly switching between terminals, each receiving a limited amount of CPU time on the central
computer.
• Operating systems change so rapidly between terminals that each user appears to have constant access to the central computer.
• If there are many users on such a system, the time it takes for the central computer to respond may become more apparent.
Multi-Programming/tasking
Features of Multi-programming
1.Need Single CPU for implementation
2.Context switching between processes
3.Switching happens when current process undergoes
waiting state.
4.CPU idle time is reduced
5.High resource utilization
6.High Performance
Disadvantage of Multi-Programming
1.Prior knowledge of scheduling algorithms is required.
2.If it has a large number of jobs, then long-term jobs will
have to require a long wait.
3.Memory management is needed in the operating system
because all types of tasks are stored in the main memory.
4.Using multiprogramming up to a larger extent can generate
heat
Types of Scheduling in multiprogramming
• Pre-emptive scheduling
Every Process is initiated by another process called parent process
Pre-emption allows the child process to get completed before parent
retires
• Non Pre-emptive scheduling
A parent process will get completed only when all the child processes
are completed
Multi-Threading
• Multithreading is a technique such that multiple threads are
created of a process for increasing the computing speed of
the system.
Time Sharing Operating System
• In a Multi-tasking Operating System, more than one processes are being executed at a
particular time with the help of the time-sharing concept.
• We fix time limit for CPU time quantum or time slice.
• Every process is allowed to access CPU within the time slice.
• When time slice exceeds, CPU removes the currently running process
• In the next cycle, the first process will again come for its execution and it will be executed for
that time quantum only and again next process will come.
• This process will continue with two queues ready queue and blocked queue.
Time Sharing OS
Time sharing OS
• Advantages
1. Since equal time quantum is given to each process, so each process gets equal opportunity to
execute.
2. The CPU will be busy in most of the cases and this is good to have case.
• Disadvantages
• Process having higher priority will not get the chance to be executed first because the equal
opportunity is given to each process.
Personal Computer
PC
• PC operating system provides a good interface to a single user.
• PC operating systems are widely used for word processing, spreadsheets and Internet access.
• Personal computer operating system are made only for personal.
• You can say that your laptops, computer systems, tablets etc. are your personal computers and
the operating system such as windows 7, windows 10, android, etc. are your personal computer
operating system.
• For example, to chatting with your friends using some social media sites, reading some articles
from internet, making some projects through microsoft powerpoint or designing your website,
watching some videos and movies, listening to some songs etc.,
Personal Computer
Multi-Processor Systems
• Multiprocessor: A Multiprocessor is a computer system with two or more central
processing units (CPUs) share full access to a common RAM.
• The main objective of using a multiprocessor is to boost the system’s execution
speed, with other objectives being fault tolerance and application matching.
• There are two types of multiprocessors, one is called shared memory
multiprocessor and another is distributed memory multiprocessor.
• In shared memory multiprocessors, all the CPUs shares the common memory but
in a distributed memory multiprocessor, every CPU has its own private memory.
Shared memory Multi-Processor
Benefits of Multi-Processor
• Enhanced performance.
• Multiple applications.
• Multi-tasking inside an application.
• High throughput and responsiveness.
• Hardware sharing among CPUs.
Advantages
• Improved performance: Multiprocessor systems can execute tasks faster than
single-processor systems, as the workload can be distributed across multiple
processors.
• Better scalability: Additional processors can be added to the system to handle
increased workloads.
• Increased reliability: Multiprocessor systems can continue to operate even if
one processor fails, as the remaining processors can continue to execute tasks.
• Reduced cost: Multiprocessor systems can be more cost-effective than building
multiple single-processor systems to handle the same workload.
• Enhanced parallelism: Multiprocessor systems allow for greater parallelism, as
different processors can execute different tasks simultaneously.
Disadvantages
• Increased complexity: Multiprocessor systems are more complex than
single-processor systems, and they require additional hardware, software,
and management resources.
• Higher power consumption: Multiprocessor systems require more power
to operate than single-processor systems, which can increase the cost of
operating and maintaining the system.
• Difficult programming: Developing software that can effectively utilize
multiple processors can be challenging, and it requires specialized
programming skills.
• Synchronization issues: Multiprocessor systems require synchronization
between processors to ensure that tasks are executed correctly and
efficiently, which can add complexity and overhead to the system.
• Limited performance gains: Not all applications can benefit from
multiprocessor systems, and some applications may only see limited
performance gains when running on a multiprocessor system.
Parallel Processing
• Parallel processing requires multiple processors and all the processor works simultaneously in the system.
Here, the task is divided into subparts and these subparts are then distributed among the available processors
in the system.
• Parallel processing completes the job on the shortest possible time.
• All the processors in the parallel processing environment should run on the same operating system.
• All processors here are tightly coupled and are packed in one casing.
• All the processors in the system share the common secondary storage like the hard disk. As this is the first
place where the programs are to be placed.
• There is one more thing that all the processors in the system share i.e. the user terminal (from where the user
interact with the system).
• The user need not to be aware of the inner architecture of the machine.
• He should feel that he is dealing with the single processor only and his interaction with the system would be
the same as in a single processor
Parallel Processing
Advantages
1. It saves time and money as many resources working together will reduce the time and cut
potential costs.
2. It can be impractical to solve larger problems on Serial Computing.
3. It can take advantage of non-local resources when the local resources are finite.
4. Serial Computing ‘wastes’ the potential computing power, thus Parallel Computing makes better
work of the hardware.
Disadvantages
1. It addresses such as communication and synchronization between multiple sub-tasks and processes
which is difficult to achieve.
The algorithms must be managed in such a way that they can be handled in a parallel
mechanism.
2. The algorithms or programs must have low coupling and high cohesion. But it’s difficult to
create such programs.
3. More technically skilled and expert programmers can code a parallelism-based program well.
Distributed OS
• These operating system is a recent advancement in the world of computer technology and are being widely
accepted all over the world
• Various autonomous interconnected computers communicate with each other using a shared communication
network. Independent systems possess their own memory unit and CPU.
• These are referred to as loosely coupled systems or distributed systems. These system’s processors differ in
size and function.
• The major benefit of working with these types of the operating system is that it is always possible that one
user can access the files or software which are not actually present on his system but some other system
connected within this network
• (i.e)., remote access is enabled within the devices connected in that network.
Distributed Operating System
Cluster Systems
• A Clustered Operating System is an intelligent way of connecting
many computers to work together as a team. They share storage
and work together to do tasks quickly. It's like having a
supercomputer that can do big things faster. This makes
computing better and faster for all kinds of jobs.
• As the name suggests, in this type of cluster the nodes in the
system share the workload to balance the computing load
• They have independent computer systems and a shared storage
media, and all systems work together to complete all tasks.
• Example of Cluster computing: Some popular implementations of
cluster computing are the Google search engine, Earthquake
Simulation, Petroleum Reservoir Simulation, and Weather
Forecasting systems
Clustered OS
• A cluster is a set of computers harnessed together to present a single
server resource to applications and to users.
• Cluster system contains tightly coupled individual nodes.
• Some jobs require constant communication between nodes
• Some jobs may have little interaction with one or two nodes
• Study the smart phone usage in Germany
• In this case, the cities of Germany will form clusters. This sampling
method is also used in wars and natural calamities to draw inferences
about a population, where collecting data from every individual
residing is impossible.
Clustered Systems
Clustered Systems
• Cluster operating systems is a combination of software and hardware clusters.
• Hardware clusters aid in the sharing of high-performance disks among all computer systems,
while software clusters give a better environment for all systems to operate.
• A cluster system consists of various nodes, each of which contains its cluster software and
managed by it
• The cluster software is installed on each node in the clustered system, and it monitors the
cluster system and ensures that it is operating properly.
• If one of the clustered system's nodes fails, the other nodes take over its storage and
resources and try to restart.
Cluster Systems
• Cluster components are generally linked via fast area
networks, and each node executing its instance of an
operating system.
• In most cases, all nodes share the same hardware and
operating system
• The primary purpose of using a cluster system is to assist
with weather forecasting, scientific computing, and
supercomputing systems.
Hardware and Software Cluster
• Software Cluster: The Software Cluster enables all the
computer systems to work together as a unified unit. It
provides a better environment for coordination and
collaboration among the systems.
• Hardware Cluster: The Hardware Cluster facilitates sharing
of high-performance disks among the computer systems.
This allows the systems to access and utilize the resources
efficiently.
Types of Clustered OS
• Asymmetric Cluster OS
• Symmetric Cluster OS
• Parallel Cluster OS
Asymmetric OS
In the asymmetric cluster system, one node out of all nodes is
in standby mode, while the remaining nodes run the essential
applications.
The node monitors all server functions; the standby node
swaps this position if it comes to a halt.
Symmetric Clustered OS
• Multiple nodes help run all applications in this system, and it
monitors all nodes simultaneously.
• Because it uses all hardware resources, this cluster system is
more reliable than asymmetric cluster systems.
Parallel Clustered OS
• A parallel cluster system allows Multiple users to access similar data on a shared
storage system. A unique software version and other applications were used to
create this system.
Example of Clustered OS
• Weather Forecast
Clustered operating systems are often used in weather forecasting to process vast amounts of
data and perform complex calculations for accurate weather predictions.
• Animated Movies
Clustered operating systems are utilized to render and produce high-quality animated movies. The
distributed processing power of clusters helps speed up the rendering process.
• Supercomputing System
Supercomputers often use clustered operating systems to achieve high-performance computing
capabilities. Clusters enable parallel processing and enhance computational power for scientific
simulations, research, and data analysis.
• Load Balancing
Clusters are employed in load-balancing scenarios, where multiple servers work together to
distribute network traffic efficiently and ensure optimal resource utilization.
• Scientific Computing
Clustered operating systems play a crucial role in scientific computing applications, such as
simulations, modeling, and data-intensive research, requiring immense computational power.
Advantages of Clustered OS
• High availability
• Cost efficiency
• Additional scalability
• Fault tolerance
• Processing speed
Disadvantage of clustered OS
• Cost is high compared to non-clustered systems
• It requires a good hardware design
• Clustering necessitates the use of additional servers and
hardware, making monitoring and maintenance difficult. As
a result, infrastructure must be improved.
• It isn't easy to establish, monitor, and maintain this system
easily
Real time OS
• A real-time operating system (RTOS) is an operating system designed for real time applications and
environments where many events must be processed in a very short period of time and with
specific deadlines.
• Real-time operating systems are event-driven and preemptive(buy before it is essential), meaning
the OS can monitor the relevant priority of competing tasks, and make changes to the task priority.
Event-driven systems switch between tasks based on their priorities, while time-sharing systems
switch the task based on clock interrupts
• such applications are industrial control robots, telephone switching equipment, flight control, and
real-time simulations.
• With an RTOS, the processing time is measured in tenths of a second. This system is time-bound
and has a fixed deadline.
• The processing in this type of system must occur within the specified constraints. Otherwise, This
will lead to system failure.
• Examples of real-time operating systems are airline traffic control systems, Command Control
Systems, airline reservation systems, Heart pacemakers, Network Multimedia Systems, robots, etc.
Types of RTOS
Hardware RTOS
• These operating systems guarantee that critical tasks are
completed within a range of time.
• For example, a robot is hired to weld a car body.
• If the robot welds too early or too late, the car cannot be
sold. so it is a hard real-time system that requires complete
car welding by the robot hardly on time
• scientific experiments, medical imaging systems, industrial
control systems, weapon systems, robots, air traffic control
systems, etc.
Software RTOS
• This operating system provides some relaxation in the time limit and its
dynamic.
• For example – Multimedia systems, digital audio systems, etc. Explicit,
programmer-defined, and controlled processes are encountered in real-time
systems.
• A separate process is changed by handling a single external event. The process
is activated upon the occurrence of the related event signaled by an interrupt.
• Multitasking operation is accomplished by scheduling processes for execution
independently of each other.
• Each process is assigned a certain level of priority that corresponds to the
relative importance of the event that it services.
• The processor is allocated to the highest-priority processes. This type of
schedule, called, priority-based preemptive scheduling is used by real-time
systems.
Firm RTOS
• Firm Real-time Operating System: RTOS of this type have to
follow deadlines as well.
• In spite of its small impact, missing a deadline can have
unintended consequences.
• Consequence like reduction in the quality of the product.
• Example: Multimedia applications.
Deterministic RTOS
• Consistency is the main key in this type of real-time
operating system.
• It ensures that all the task and processes execute with
predictable timing all the time, which make it more suitable
for applications in which timing accuracy is very important.
• Examples: INTEGRITY, PikeOS.
Advantages
1. Maximum consumption: Maximum utilization of devices and systems. Thus more output from all the resources.
2. Task Shifting: Time assigned for shifting tasks in these systems is very less.
3. Focus On Application: Focus on running applications and less importance to applications that are in the queue.
4. Real-Time Operating System In Embedded System: Since the size of programs is small, RTOS can also be embedded
in systems like transport, fleet management etc.,
5. Error Free: These types of systems are error-free.
6. Memory Allocation: Memory allocation is best managed in these types of systems.
Disadvantages of RTOS
1.Limited Tasks: Very few tasks run simultaneously, and their concentration is very
less on few applications to avoid errors.
2.Use Heavy System Resources: Sometimes the system resources are not so good
and they are expensive as well.
3.Complex Algorithms: The algorithms are very complex and difficult for the
designer to write on.
4.Device Driver And Interrupt signals: It needs specific device drivers and
interrupts signals to respond earliest to interrupts.
5.Thread Priority: It is not good to set thread priority as these systems are very less
prone to switching tasks.
6.Minimum Switching: RTOS performs minimal task switching.
Pre-emptive
• The airline has preemptively canceled a large number of scheduled
flights due to a lack of pilots.
• Proactiveness
• It is done before other people can act, especially to prevent them
• relating to the purchase of goods or shares by one person or party
before the opportunity is offered to others
• Round robin scheduling algorithm
• Shortest job first algorithm

More Related Content

PDF
Chapter 1-2 _ Operating Systems.pdf
PPT
An Overview of Operating Systems and algorithms.ppt
PPTX
UNIT 1 OS.pptx Introduction of Operating System
PPTX
INTRODUCTION TO INFORMATION TECHNOLOGY SARASWATHI RAMALINGAM
PPTX
Unit 1 introduction to os
PPTX
Bca i-fundamental of computer-u-3-functions operating systems
PPT
unit1 part1.ppt
ODP
Operating Systems As a Product
Chapter 1-2 _ Operating Systems.pdf
An Overview of Operating Systems and algorithms.ppt
UNIT 1 OS.pptx Introduction of Operating System
INTRODUCTION TO INFORMATION TECHNOLOGY SARASWATHI RAMALINGAM
Unit 1 introduction to os
Bca i-fundamental of computer-u-3-functions operating systems
unit1 part1.ppt
Operating Systems As a Product

Similar to Unit - I Intro and Types of Operating system.pptx (20)

PPT
Operating System
PPTX
Bsc cs 1 fit u-3 operating systems
PPTX
Bsc cs 1 fit u-3 operating systems
PPTX
Bba i-introduction to computer-u-3-functions operating systems
PPT
Introduction to Operating Systems
PPTX
Mca i-fundamental of computer-u-3-functions operating systems
PDF
os_1.pdf
PPTX
OPERATION SYSTEM - INTRODUCTORY COURSE PPT
PPTX
Unit 1 operating system
PPTX
Operating System Unit 1
PPT
intro.ppt
PPT
Introduction To operating System:
PPTX
Revant Rastogi
PPT
intro.ppt
PPTX
Operating system concept
PPT
Understanding Operating system concepts
PPTX
LEC 1.pptx
PPTX
Operating Systems Genesis, Development and Functions m.pptx
PDF
01.osdoc
RTF
209979479 study-material
Operating System
Bsc cs 1 fit u-3 operating systems
Bsc cs 1 fit u-3 operating systems
Bba i-introduction to computer-u-3-functions operating systems
Introduction to Operating Systems
Mca i-fundamental of computer-u-3-functions operating systems
os_1.pdf
OPERATION SYSTEM - INTRODUCTORY COURSE PPT
Unit 1 operating system
Operating System Unit 1
intro.ppt
Introduction To operating System:
Revant Rastogi
intro.ppt
Operating system concept
Understanding Operating system concepts
LEC 1.pptx
Operating Systems Genesis, Development and Functions m.pptx
01.osdoc
209979479 study-material
Ad

Recently uploaded (20)

PPTX
OOP with Java - Java Introduction (Basics)
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PDF
PPT on Performance Review to get promotions
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPT
Project quality management in manufacturing
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
DOCX
573137875-Attendance-Management-System-original
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
Construction Project Organization Group 2.pptx
OOP with Java - Java Introduction (Basics)
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPT on Performance Review to get promotions
CYBER-CRIMES AND SECURITY A guide to understanding
Project quality management in manufacturing
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
Embodied AI: Ushering in the Next Era of Intelligent Systems
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Operating System & Kernel Study Guide-1 - converted.pdf
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
573137875-Attendance-Management-System-original
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Construction Project Organization Group 2.pptx
Ad

Unit - I Intro and Types of Operating system.pptx

  • 1. Operating Systems Unit I – OS and Type Of OS II B.Tech(CSE) IV SEMESTER Course Code:CE205E
  • 2. Preamble • A computer system has many resources (hardware, software,firmware), which is required to complete a task • The operating system acts as a manager of the above resources and allocates them to specific programs and users, whenever necessary to perform a particular task. • Operating system is the resource manager • The resources are processor, memory, file storage space, and I/O devices • OS acts as an interface between user and computer
  • 3. Interface • Every computer must have an operating system in order to run other programs. • The operating system mainly coordinates the use of the hardware among the various system programs and application programs for various users • operating system acts like a government in a computer • It provides an environment within which other programs can do useful work • Below we have an abstract view of the components of the computer
  • 4. Operating System • The Computer Hardware contains a central processing unit(CPU), the memory, and the input/output (I/O) devices and it provides the basic computing resources for the system. • The Application programs like spreadsheets, Web browsers, word processors, etc. are used to define the ways in which these resources are used to solve the computing problems of the users. • System program mainly consists of compilers, loaders, editors, linkers, assemblers, OS, etc. • The Operating System is mainly used to control the hardware and coordinate its use among the various application programs for the different users. OS is designed in order to serve two basic purposes: 1. The operating system mainly controls the allocation and use of the computing System’s resources among the various user and tasks. 2. It mainly provides an interface between the computer hardware and the programmer that simplifies and makes feasible for coding, creation of application programs and debugging
  • 5. Father of OS • Gary Arlen Kildall was an American computer scientist and microcomputer entrepreneur. • During the 1970s, Kildall created the CP/M operating system among other operating systems and programming tools, and subsequently founded Digital Research, Inc.
  • 6. BIOS • The full form of BIOS is the Basic Input Output System. • BIOS is software built in to a computer. As we switch on the computer, the program is operated. • Typically this program is housed in Read-Only Memory (ROM), and is placed on the motherboard. • Power supply • Mother board • PCB chipset • Registers • Accumulator • Cache memory • RAM • External memory
  • 7. Starting an Operating System(Booting)  Power On Switch sends electricity to the motherboard on a wire called the Voltage Good line.  If the power supply is good, then the BIOS (Basic Input/Output System) chip takes over.  In Real Mode, CPU is only capable of using approximately 1 MB of memory built into the motherboard.  The BIOS will do a Power-On Self Test (POST) to make sure that all hardware are working.  BIOS will then look for a small sector at the very beginning of your primary hard disk called MBR.  The MBR contains a list, or map, of all of the partitions on your computer‘s hard disk (or disks).  After the MBR is found the Bootstrap Loader follows basic instructions for starting up the rest of the computer, including the operating system.  In Early Kernel Initialization stage, a smaller core of the Kernel is activated.  This core includes the device drivers needed to use computer‘s RAM chips.
  • 8. Evolution of OS • OS has evolved over years with technological advancement • Technological improvement is mapped using generations of OS Four Generations of OS • First Generation (1945-1955) – vacuum tubes and plug boards • Second Generation (1955-1965)- Transistors and batch systems • Third Generation (1965-1980) – Integrated circuits and multi programming • Fourth Generation (1980-current) – VLSI/Personal computers
  • 9. Generations of Operating System – Ist Gen • Calculating engines with mechanical relays were built after II world war. However, the mechanical relays were very slow and were later replaced with vacuum tubes. • These early computers were designed, built and maintained by a single group of people • Programming languages were unknown and there were no operating systems so all the programming was done in machine language. All the problems were simple numerical calculations. • By the 1950’s punch cards were introduced and this improved the computer system. • Instead of using plugboards, programs were written on cards and read into the system. • The first generation of operating systems is associated with early computers that utilized vacuum tubes and lacked sophisticated software. • One example is the "UNIVAC I (Universal Automatic Computer I)" operating system, developed in the early 1950s.
  • 10. Second Generation • Transistors led to the development of the computer systems, manufactured and sold to paying customers • These machines were known as mainframes and were locked in air-conditioned computer rooms with staff to operate them • The Batch System was introduced to reduce the wasted time in the computer • A tray full of jobs was collected in the input room and read into the magnetic tape. • Tape was rewound and mounted on a tape drive. Then the batch operating system was loaded and executed first cum first served basis • The output was written on the second tape. After the whole batch was done, the input and output tapes were removed and the output tape was printed.
  • 11. Third Generation • Until the 1960’s, there were two types of computer systems i.e., the scientific and the commercial computers. • These were combined by IBM in the System/360. This used integrated circuits and provided a major price and performance advantage over the second generation systems. • The third generation operating systems also introduced multiprogramming. This meant that the processor was not idle while a job was completing its I/O operation.
  • 12. Fourth Generation • Personal Computers were easy to create with the development of large-scale integrated circuits. • These were chips containing thousands of transistors on a square centimeter of silicon. • Microcomputers were much cheaper than minicomputers and that made it possible for a single individual to own one of them. • The advent of personal computers also led to the growth of networks. • This created network operating systems and distributed operating systems. • The users were aware of a network while using a network operating system • Users can log in to remote machines and copy files from one machine to another.
  • 13. Mobile Smartphone OS • IOS Operating system • Android using Linux kernel meant for web use • Android owned by Google Inc, American Search Engine Company, 2005
  • 14. Views of Operating System 1. User’s View 2. System’s View Operating System: User View • The user view of the computer refers to the interface being used. • Designed for one user to monopolize its resources, to maximize the work that the user is performing. • In these cases, the operating system is designed mostly for ease of use, with some attention paid to performance, and none paid to resource utilization. Operating System: System View • The operating system can be viewed as a resource allocator also. • A computer system consists of many resources like - hardware and software - that must be managed efficiently. • The operating system acts as the manager of the resources, resolves conflicting requests, controls the execution of programs, etc.
  • 16. The User Mode is concerned with the actual interface between the user and the system. It controls things like running applications and accessing files. The Kernel Mode is concerned with everything running in the background. It controls things like accessing system resources, controlling hardware functions and processing program instructions. System calls are used to change mode from User to Kernel.
  • 17. Types of Operating System 1. No OS (0’s-1940’s) 2. Simple Batch System(1940’s – 1950’s) 3. Multi-programmed(1950’s-1960’s) 4. Time-Sharing OS(1960’s – 1970’s) 5. Personal Computer- GUI (1970-1980’s) 6. Parallel (1980-1990’s) 7. Distributed Systems(1990-2000’s) 8. Real Time Systems/Mobile OS(2000-2010’s) 9. AI integrated OS(2010-ongoing) Siri, Google Assistant, Alexa voice commands, predictive text, and personalized recommendations
  • 18. Batch Operating System • In a Batch Operating System, the similar jobs are grouped together into batches with the help of some operator and these batches are executed one by one. • For example, let us assume that we have 10 programs that need to be executed. • Some programs are written in C++, some in C and rest in Java. • Now, every time when we run these program’s we have to load the compiler of that particular language and then execute the code • The benefit with this approach is that, for the C++ batch, you need to load the compiler only once. • Similarly, for Java and C, the compiler needs to be loaded only once and the whole batch gets executed. • Manual intervention is essential in this method
  • 20. Advantages 1. Execution time will be reduced. 2. The Batch Operating System can be shared between multiple users.
  • 21. Disadvantages 1. Manual interventions are required between two batches. 2. The CPU utilization is low because the time taken in loading and unloading of batches is very high as compared to execution time.
  • 22. Multi-Programming • Sharing the processor, when two or more programs reside in memory at the same time, is referred as multiprogramming. Multiprogramming assumes a single shared processor. Multiprogramming increases CPU utilization by organizing jobs so that the CPU always has one to execute. Memory layout of multi-programming
  • 23. OS activities in multi-programming • An OS does the following activities related to multiprogramming.  The operating system keeps several jobs in memory at a time.  The operating system picks and begins to execute one of the jobs in the memory.  Multiprogramming operating systems monitor the state of all active programs and system resources using memory management programs to ensures that the CPU is never idle, unless there are no jobs to process. • Advantages  Efficient CPU utilization  User feels that many programs are executed in CPU simultaneously. • Disadvantages  CPU scheduling is required.  To accommodate many jobs in memory, memory management is required.
  • 24. Multi-user Vs Multi-Tasking OS • Multiuser and Multitasking both are different in every aspect and multitasking is an operating system that allows you to run more than one program simultaneously. • The operating system does this by moving each program in and out of memory one at a time. • When a program runs out of memory, it is temporarily stored on disk until it is needed again • A multi-user operating system allows many users to share processing time on a powerful central computer on different terminals. • The operating system does this by quickly switching between terminals, each receiving a limited amount of CPU time on the central computer. • Operating systems change so rapidly between terminals that each user appears to have constant access to the central computer. • If there are many users on such a system, the time it takes for the central computer to respond may become more apparent.
  • 26. Features of Multi-programming 1.Need Single CPU for implementation 2.Context switching between processes 3.Switching happens when current process undergoes waiting state. 4.CPU idle time is reduced 5.High resource utilization 6.High Performance
  • 27. Disadvantage of Multi-Programming 1.Prior knowledge of scheduling algorithms is required. 2.If it has a large number of jobs, then long-term jobs will have to require a long wait. 3.Memory management is needed in the operating system because all types of tasks are stored in the main memory. 4.Using multiprogramming up to a larger extent can generate heat
  • 28. Types of Scheduling in multiprogramming • Pre-emptive scheduling Every Process is initiated by another process called parent process Pre-emption allows the child process to get completed before parent retires • Non Pre-emptive scheduling A parent process will get completed only when all the child processes are completed
  • 29. Multi-Threading • Multithreading is a technique such that multiple threads are created of a process for increasing the computing speed of the system.
  • 30. Time Sharing Operating System • In a Multi-tasking Operating System, more than one processes are being executed at a particular time with the help of the time-sharing concept. • We fix time limit for CPU time quantum or time slice. • Every process is allowed to access CPU within the time slice. • When time slice exceeds, CPU removes the currently running process • In the next cycle, the first process will again come for its execution and it will be executed for that time quantum only and again next process will come. • This process will continue with two queues ready queue and blocked queue.
  • 32. Time sharing OS • Advantages 1. Since equal time quantum is given to each process, so each process gets equal opportunity to execute. 2. The CPU will be busy in most of the cases and this is good to have case. • Disadvantages • Process having higher priority will not get the chance to be executed first because the equal opportunity is given to each process.
  • 33. Personal Computer PC • PC operating system provides a good interface to a single user. • PC operating systems are widely used for word processing, spreadsheets and Internet access. • Personal computer operating system are made only for personal. • You can say that your laptops, computer systems, tablets etc. are your personal computers and the operating system such as windows 7, windows 10, android, etc. are your personal computer operating system. • For example, to chatting with your friends using some social media sites, reading some articles from internet, making some projects through microsoft powerpoint or designing your website, watching some videos and movies, listening to some songs etc.,
  • 35. Multi-Processor Systems • Multiprocessor: A Multiprocessor is a computer system with two or more central processing units (CPUs) share full access to a common RAM. • The main objective of using a multiprocessor is to boost the system’s execution speed, with other objectives being fault tolerance and application matching. • There are two types of multiprocessors, one is called shared memory multiprocessor and another is distributed memory multiprocessor. • In shared memory multiprocessors, all the CPUs shares the common memory but in a distributed memory multiprocessor, every CPU has its own private memory.
  • 37. Benefits of Multi-Processor • Enhanced performance. • Multiple applications. • Multi-tasking inside an application. • High throughput and responsiveness. • Hardware sharing among CPUs.
  • 38. Advantages • Improved performance: Multiprocessor systems can execute tasks faster than single-processor systems, as the workload can be distributed across multiple processors. • Better scalability: Additional processors can be added to the system to handle increased workloads. • Increased reliability: Multiprocessor systems can continue to operate even if one processor fails, as the remaining processors can continue to execute tasks. • Reduced cost: Multiprocessor systems can be more cost-effective than building multiple single-processor systems to handle the same workload. • Enhanced parallelism: Multiprocessor systems allow for greater parallelism, as different processors can execute different tasks simultaneously.
  • 39. Disadvantages • Increased complexity: Multiprocessor systems are more complex than single-processor systems, and they require additional hardware, software, and management resources. • Higher power consumption: Multiprocessor systems require more power to operate than single-processor systems, which can increase the cost of operating and maintaining the system. • Difficult programming: Developing software that can effectively utilize multiple processors can be challenging, and it requires specialized programming skills. • Synchronization issues: Multiprocessor systems require synchronization between processors to ensure that tasks are executed correctly and efficiently, which can add complexity and overhead to the system. • Limited performance gains: Not all applications can benefit from multiprocessor systems, and some applications may only see limited performance gains when running on a multiprocessor system.
  • 40. Parallel Processing • Parallel processing requires multiple processors and all the processor works simultaneously in the system. Here, the task is divided into subparts and these subparts are then distributed among the available processors in the system. • Parallel processing completes the job on the shortest possible time. • All the processors in the parallel processing environment should run on the same operating system. • All processors here are tightly coupled and are packed in one casing. • All the processors in the system share the common secondary storage like the hard disk. As this is the first place where the programs are to be placed. • There is one more thing that all the processors in the system share i.e. the user terminal (from where the user interact with the system). • The user need not to be aware of the inner architecture of the machine. • He should feel that he is dealing with the single processor only and his interaction with the system would be the same as in a single processor
  • 42. Advantages 1. It saves time and money as many resources working together will reduce the time and cut potential costs. 2. It can be impractical to solve larger problems on Serial Computing. 3. It can take advantage of non-local resources when the local resources are finite. 4. Serial Computing ‘wastes’ the potential computing power, thus Parallel Computing makes better work of the hardware.
  • 43. Disadvantages 1. It addresses such as communication and synchronization between multiple sub-tasks and processes which is difficult to achieve. The algorithms must be managed in such a way that they can be handled in a parallel mechanism. 2. The algorithms or programs must have low coupling and high cohesion. But it’s difficult to create such programs. 3. More technically skilled and expert programmers can code a parallelism-based program well.
  • 44. Distributed OS • These operating system is a recent advancement in the world of computer technology and are being widely accepted all over the world • Various autonomous interconnected computers communicate with each other using a shared communication network. Independent systems possess their own memory unit and CPU. • These are referred to as loosely coupled systems or distributed systems. These system’s processors differ in size and function. • The major benefit of working with these types of the operating system is that it is always possible that one user can access the files or software which are not actually present on his system but some other system connected within this network • (i.e)., remote access is enabled within the devices connected in that network.
  • 46. Cluster Systems • A Clustered Operating System is an intelligent way of connecting many computers to work together as a team. They share storage and work together to do tasks quickly. It's like having a supercomputer that can do big things faster. This makes computing better and faster for all kinds of jobs. • As the name suggests, in this type of cluster the nodes in the system share the workload to balance the computing load • They have independent computer systems and a shared storage media, and all systems work together to complete all tasks. • Example of Cluster computing: Some popular implementations of cluster computing are the Google search engine, Earthquake Simulation, Petroleum Reservoir Simulation, and Weather Forecasting systems
  • 47. Clustered OS • A cluster is a set of computers harnessed together to present a single server resource to applications and to users. • Cluster system contains tightly coupled individual nodes. • Some jobs require constant communication between nodes • Some jobs may have little interaction with one or two nodes • Study the smart phone usage in Germany • In this case, the cities of Germany will form clusters. This sampling method is also used in wars and natural calamities to draw inferences about a population, where collecting data from every individual residing is impossible.
  • 49. Clustered Systems • Cluster operating systems is a combination of software and hardware clusters. • Hardware clusters aid in the sharing of high-performance disks among all computer systems, while software clusters give a better environment for all systems to operate. • A cluster system consists of various nodes, each of which contains its cluster software and managed by it • The cluster software is installed on each node in the clustered system, and it monitors the cluster system and ensures that it is operating properly. • If one of the clustered system's nodes fails, the other nodes take over its storage and resources and try to restart.
  • 50. Cluster Systems • Cluster components are generally linked via fast area networks, and each node executing its instance of an operating system. • In most cases, all nodes share the same hardware and operating system • The primary purpose of using a cluster system is to assist with weather forecasting, scientific computing, and supercomputing systems.
  • 51. Hardware and Software Cluster • Software Cluster: The Software Cluster enables all the computer systems to work together as a unified unit. It provides a better environment for coordination and collaboration among the systems. • Hardware Cluster: The Hardware Cluster facilitates sharing of high-performance disks among the computer systems. This allows the systems to access and utilize the resources efficiently.
  • 52. Types of Clustered OS • Asymmetric Cluster OS • Symmetric Cluster OS • Parallel Cluster OS Asymmetric OS In the asymmetric cluster system, one node out of all nodes is in standby mode, while the remaining nodes run the essential applications. The node monitors all server functions; the standby node swaps this position if it comes to a halt.
  • 53. Symmetric Clustered OS • Multiple nodes help run all applications in this system, and it monitors all nodes simultaneously. • Because it uses all hardware resources, this cluster system is more reliable than asymmetric cluster systems.
  • 54. Parallel Clustered OS • A parallel cluster system allows Multiple users to access similar data on a shared storage system. A unique software version and other applications were used to create this system.
  • 55. Example of Clustered OS • Weather Forecast Clustered operating systems are often used in weather forecasting to process vast amounts of data and perform complex calculations for accurate weather predictions. • Animated Movies Clustered operating systems are utilized to render and produce high-quality animated movies. The distributed processing power of clusters helps speed up the rendering process. • Supercomputing System Supercomputers often use clustered operating systems to achieve high-performance computing capabilities. Clusters enable parallel processing and enhance computational power for scientific simulations, research, and data analysis. • Load Balancing Clusters are employed in load-balancing scenarios, where multiple servers work together to distribute network traffic efficiently and ensure optimal resource utilization. • Scientific Computing Clustered operating systems play a crucial role in scientific computing applications, such as simulations, modeling, and data-intensive research, requiring immense computational power.
  • 56. Advantages of Clustered OS • High availability • Cost efficiency • Additional scalability • Fault tolerance • Processing speed
  • 57. Disadvantage of clustered OS • Cost is high compared to non-clustered systems • It requires a good hardware design • Clustering necessitates the use of additional servers and hardware, making monitoring and maintenance difficult. As a result, infrastructure must be improved. • It isn't easy to establish, monitor, and maintain this system easily
  • 58. Real time OS • A real-time operating system (RTOS) is an operating system designed for real time applications and environments where many events must be processed in a very short period of time and with specific deadlines. • Real-time operating systems are event-driven and preemptive(buy before it is essential), meaning the OS can monitor the relevant priority of competing tasks, and make changes to the task priority. Event-driven systems switch between tasks based on their priorities, while time-sharing systems switch the task based on clock interrupts • such applications are industrial control robots, telephone switching equipment, flight control, and real-time simulations. • With an RTOS, the processing time is measured in tenths of a second. This system is time-bound and has a fixed deadline. • The processing in this type of system must occur within the specified constraints. Otherwise, This will lead to system failure. • Examples of real-time operating systems are airline traffic control systems, Command Control Systems, airline reservation systems, Heart pacemakers, Network Multimedia Systems, robots, etc.
  • 60. Hardware RTOS • These operating systems guarantee that critical tasks are completed within a range of time. • For example, a robot is hired to weld a car body. • If the robot welds too early or too late, the car cannot be sold. so it is a hard real-time system that requires complete car welding by the robot hardly on time • scientific experiments, medical imaging systems, industrial control systems, weapon systems, robots, air traffic control systems, etc.
  • 61. Software RTOS • This operating system provides some relaxation in the time limit and its dynamic. • For example – Multimedia systems, digital audio systems, etc. Explicit, programmer-defined, and controlled processes are encountered in real-time systems. • A separate process is changed by handling a single external event. The process is activated upon the occurrence of the related event signaled by an interrupt. • Multitasking operation is accomplished by scheduling processes for execution independently of each other. • Each process is assigned a certain level of priority that corresponds to the relative importance of the event that it services. • The processor is allocated to the highest-priority processes. This type of schedule, called, priority-based preemptive scheduling is used by real-time systems.
  • 62. Firm RTOS • Firm Real-time Operating System: RTOS of this type have to follow deadlines as well. • In spite of its small impact, missing a deadline can have unintended consequences. • Consequence like reduction in the quality of the product. • Example: Multimedia applications.
  • 63. Deterministic RTOS • Consistency is the main key in this type of real-time operating system. • It ensures that all the task and processes execute with predictable timing all the time, which make it more suitable for applications in which timing accuracy is very important. • Examples: INTEGRITY, PikeOS.
  • 64. Advantages 1. Maximum consumption: Maximum utilization of devices and systems. Thus more output from all the resources. 2. Task Shifting: Time assigned for shifting tasks in these systems is very less. 3. Focus On Application: Focus on running applications and less importance to applications that are in the queue. 4. Real-Time Operating System In Embedded System: Since the size of programs is small, RTOS can also be embedded in systems like transport, fleet management etc., 5. Error Free: These types of systems are error-free. 6. Memory Allocation: Memory allocation is best managed in these types of systems.
  • 65. Disadvantages of RTOS 1.Limited Tasks: Very few tasks run simultaneously, and their concentration is very less on few applications to avoid errors. 2.Use Heavy System Resources: Sometimes the system resources are not so good and they are expensive as well. 3.Complex Algorithms: The algorithms are very complex and difficult for the designer to write on. 4.Device Driver And Interrupt signals: It needs specific device drivers and interrupts signals to respond earliest to interrupts. 5.Thread Priority: It is not good to set thread priority as these systems are very less prone to switching tasks. 6.Minimum Switching: RTOS performs minimal task switching.
  • 66. Pre-emptive • The airline has preemptively canceled a large number of scheduled flights due to a lack of pilots. • Proactiveness • It is done before other people can act, especially to prevent them • relating to the purchase of goods or shares by one person or party before the opportunity is offered to others • Round robin scheduling algorithm • Shortest job first algorithm