OPERATING SYSTEM
WHAT IS OS?
• An operating system is a program that manages the computer
hardware.
• It also provides a basis for application programs and acts as an
intermediary between the user and hardware.
GENERATION OF OPERATING
SYSTEM
First Generation (1940-1956) Vacuum
Tubes
• used vacuum tubes for circuitry and magnetic drums for memory
• taking up entire rooms.
• very expensive to operate
• in addition to using a great deal of electricity, generated a lot of
heat, which was often the cause of malfunctions.
• computers relied on machine language
• the lowest-level programming language understood by computers,
to perform operations, and they could only solve one problem at a
time
• Input was based on punched cards and paper tape, and output was
displayed on printouts.
• The UNIVAC and ENIAC computers are examples .
Second Generation (1956-1963)
Transistors
• Transistors replaced vacuum tubes and ushered.
• The transistor was invented in 1947 but did not see widespread use in
computers until the late 1950s.
• transistor was far superior to the vacuum tube, allowing computers to
become smaller, faster, cheaper, more energy-efficient and more
reliable than their first-generation predecessors.
• Though the transistor still generated a great deal of heat that
subjected the computer to damage
• it was a vast improvement over the vacuum tube.
• second-generation computers still relied on punched cards for input
and printouts for output.
• computers moved from cryptic binary machine language to symbolic,
or assembly, languages, which allowed programmers to specify
instructions in words.
• High-level programming languages were also being developed at this
time, such as early versions of COBOL and FORTRAN.
Third Generation (1964-1971)
Integrated Circuits
• The development of the integrated circuit was the hallmark of the
third generation of computers.
• Transistors were miniaturized and placed on silicon chips, called
semiconductors.
• which drastically increased the speed and efficiency of computers.
• Instead of punched cards and printouts, users interacted with third
generation computers through keyboards and monitors
• interfaced with an operating system, which allowed the device to
run many different applications at one time with a central program
that monitored the memory.
• Computers for the first time became accessible to a mass audience
because they were smaller and cheaper than their predecessors
Fourth Generation (1971-Present)
Microprocessors
• The microprocessor brought the fourth generation of
computers, as thousands of integrated circuits were built onto
a single silicon chip.
• What in the first generation filled an entire room could now fit
in the palm of the hand.
• The Intel 4004 chip, developed in 1971, located all the
components of the computer—from the central processing
unit and memory to input/output controls—on a single chip.
• As these small computers became more powerful, they could
be linked together to form networks, which eventually led to
the development of the Internet.
• Fourth generation computers also saw the development of
GUIs, the mouse and handheld devices
Fifth Generation (Present and Beyond)
Artificial Intelligence
• Fifth generation computing devices, based on artificial
intelligence, are still in development.
• though there are some applications, such as voice
recognition, that are being used today.
• The use of parallel processing and superconductors is helping
to make artificial intelligence a reality.
• Quantum computation and molecular and nanotechnology
will radically change the face of computers in years to come.
• The goal of fifth-generation computing is to develop devices
that respond to natural language input and are capable of
learning and self-organization.
Types of operating system
Batch operating system
• The users of batch operating system do not interact
with the computer directly.
• Each user prepares his job on an off-line device like
punch cards and submits it to the computer
operator.
• To speed up processing, jobs with similar needs are
batched together and run as a group.
• Thus, the programmers left their programs with the
operator.
• The operator then sorts programs into batches with
similar requirements.
The problems with Batch Systems are
following:
• Lack of interaction between the user and job.
• CPU is often idle, because the speeds of the
mechanical I/O devices are slower than CPU.
• Difficult to provide the desired priority.
Multiprogramming operating system
• When two or more programs are residing in
memory at the same time, then sharing the
processor is referred to the
multiprogramming.
• Multiprogramming assumes a single shared
processor.
• Multiprogramming increases CPU utilization
by organizing jobs so that the CPU always has
one to execute.
Multiprogramming operating system
• The operating system keeps several jobs in memory
at a time.
• This set of jobs is a subset of the jobs kept in the job
pool.
• The operating system picks and begins to execute
one of the job in the memory.
• Multiprogramming operating system monitors 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
Multitasking operating system
• Multitasking refers to term where multiple
jobs are executed by the CPU simultaneously
by switching between them.
• Switches occur so frequently that the users
may interact with each program while it is
running.
Multitasking operating system
• The user gives instructions to the operating system or to a program
directly, and receives an immediate response.
• Operating System handles multitasking in the way that it can
handle multiple operations / executes multiple programs at a time.
• Multitasking Operating Systems are also known as Time-sharing
systems.
• These Operating Systems were developed to provide interactive
use of a computer system at a reasonable cost.
• A time-shared operating system uses concept of CPU scheduling
and multiprogramming to provide each user with a small portion of
a time-shared CPU.
• Each user has at least one separate program in memory.
…continued
• A program that is loaded into memory and is executing is
commonly referred to as a process.
• When a process executes, it typically executes for only a very
short time before it either finishes or needs to perform I/O.
• Since interactive I/O typically runs at people speeds, it may
take a long time to complete. During this time a CPU can be
utilized by another process.
• Operating system allows the users to share the computer
simultaneously. Since each action or command in a time-
shared system tends to be short, only a little CPU time is
needed for each user.
• As the system switches CPU rapidly from one user/program
to the next, each user is given the impression that he/she
has his/her own CPU, whereas actually one CPU is being
shared among many users.
Time-sharing operating systems
• Time sharing is a technique which enables many people,
located at various terminals, to use a particular computer
system at the same time.
• Time-sharing or multitasking is a logical extension of
multiprogramming.
• Processor's time which is shared among multiple users
simultaneously is termed as time-sharing.
• The main difference between Multiprogrammed Batch
Systems and Time-Sharing Systems is that in case of
multiprogrammed batch systems, objective is to maximize
processor use, whereas in Time-Sharing Systems objective is
to minimize response time.
Time-sharing operating systems
• Multiple jobs are executed by the CPU by switching
between them, but the switches occur so frequently.
• Thus, the user can receive an immediate response. For
example, in a transaction processing, processor execute
each user program in a short burst or quantum of
computation.
• That is if n users are present, each user can get time
quantum. When the user submits the command, the
response time is in few seconds at most.
• Operating system uses CPU scheduling and
multiprogramming to provide each user with a small
portion of a time.
• Computer systems that were designed primarily as batch
systems have been modified to time-sharing systems.
Real Time operating System
• Real time system is defines as a data processing
system in which the time interval required to process
and respond to inputs is so small that it controls the
environment.
• Real time processing is always on line whereas on
line system need not be real time.
• The time taken by the system to respond to an input
and display of required updated information is
termed as response time.
• So in this method response time is very less as
compared to the online processing.
Real Time operating System
• Real-time systems are used when there are rigid time
requirements on the operation of a processor or the
flow of data and real-time systems can be used as a
control device in a dedicated application.
• Real-time operating system has well-defined, fixed
time constraints otherwise system will fail.
• For example Scientific experiments, medical imaging
systems, industrial control systems, weapon systems,
robots, and home-appliance controllers, Air traffic
control system etc.
Types of Real Time operating System
• There are two types of real time os:
1. Hard real-time systems
Hard real-time systems guarantee that critical tasks complete
on time.
In hard real-time systems secondary storage is limited or
missing with data stored in ROM. In these systems virtual
memory is almost never found.
2. Soft real-time systems
Soft real time systems are less restrictive. Critical real-time
task gets priority over other tasks and retains the priority until
it completes.
Soft real-time systems have limited utility than hard real-time
systems. For example, Multimedia, virtual reality, Advanced
Scientific Projects like undersea exploration and planetary
rovers etc.
Distributed operating System
• Distributed systems use multiple central processors to
serve multiple real time application and multiple users.
• Data processing jobs are distributed among the processors
accordingly to which one can perform each job most
efficiently.
• The processors communicate with one another through
various communication lines (such as high-speed buses or
telephone lines).
• These are referred as loosely coupled systems or
distributed systems. Processors in a distributed system
may vary in size and function.
• These processors are referred as sites, nodes, and
computers and so on.
Operating system structure
Services of operating system
• An Operating System provides services to both
the users and to the programs:
o It provides programs, an environment to
execute.
o It provides users, services to execute the
programs in a convenient manner.
Few common services provided by
operating systems
• Program execution
• I/O operations
• File System manipulation
• Communication
• Error Detection
• Resource Allocation
• Protection
Program execution
• Loads a program into memory.
• Executes the program.
• Handles program's execution.
• Provides a mechanism for process
synchronization.
• Provides a mechanism for process
communication.
• Provides a mechanism for deadlock handling.
I/O Operation
• I/O operation means read or write operation
with any file or any specific I/O device.
• Program may require any I/O device while
running.
• Operating system provides the access to the
required I/O device when required.
File system manipulation
• Program needs to read a file or write a file.
• The operating system gives the permission to the
program for operation on file.
• Permission varies from read-only, read-write,
denied and so on.
• Operating System provides an interface to the user
to create/delete files.
• Operating System provides an interface to the user
to create/delete directories.
• Operating System provides an interface to create
the backup of file system
Communication
• Two processes often require data to be
transferred between them.
• The both processes can be on the one
computer or on different computer but are
connected through computer network.
• Communication may be implemented by two
methods either by Shared Memory or by
Message Passing.
Error handling
• OS constantly remains aware of possible
errors.
• OS takes the appropriate action to ensure
correct and consistent computing.
Resource Management
• OS manages all kind of resources using
schedulers.
• CPU scheduling algorithms are used for better
utilization of CPU.
Protection
• OS ensures that all access to system resources
is controlled.
• OS ensures that external I/O devices are
protected from invalid access attempts.
• OS provides authentication feature for each
user by means of a password.
System calls
• System calls provide an interface between the process an
the operating system.
• System calls allow user-level processes to request some
services from the operating system which process itself is
not allowed to do.
• In handling the trap, the operating system will enter in the
kernel mode, where it has access to privileged
instructions, and can perform the desired service on the
behalf of user-level process.
• It is because of the critical nature of operations that the
operating system itself does them every time they are
needed.
• For example, for I/O a process involves a system call
telling the operating system to read or write particular
area and this request is satisfied by the operating system.
Types of system calls
• Process control
• File management
• Device management
• Information maintenance
• Communications
Process control
• end, abort
• load, execute
• create process, terminate process
• get process attributes, set process attributes
• wait for time
• wait event, signal event
• allocate and free memory
File management
• create file, delete file
• open, close
• read, write, reposition
• get file attributes, set file attributes
Device management
• request device, release device
• read, write, reposition
• get device attributes, set device attributes
• logically attach or detach devices
Information maintenance
• get time or date, set time or date
• get system data, set system data
• get process, file, or device attributes
• set process, file, or device attributes
Communications
• create, delete communication connection
• send, receive messages
• transfer status information
• attach or detach remote devices
THANK YOU!!

Operating system

  • 1.
  • 2.
    WHAT IS OS? •An operating system is a program that manages the computer hardware. • It also provides a basis for application programs and acts as an intermediary between the user and hardware.
  • 3.
  • 4.
    First Generation (1940-1956)Vacuum Tubes • used vacuum tubes for circuitry and magnetic drums for memory • taking up entire rooms. • very expensive to operate • in addition to using a great deal of electricity, generated a lot of heat, which was often the cause of malfunctions. • computers relied on machine language • the lowest-level programming language understood by computers, to perform operations, and they could only solve one problem at a time • Input was based on punched cards and paper tape, and output was displayed on printouts. • The UNIVAC and ENIAC computers are examples .
  • 5.
    Second Generation (1956-1963) Transistors •Transistors replaced vacuum tubes and ushered. • The transistor was invented in 1947 but did not see widespread use in computers until the late 1950s. • transistor was far superior to the vacuum tube, allowing computers to become smaller, faster, cheaper, more energy-efficient and more reliable than their first-generation predecessors. • Though the transistor still generated a great deal of heat that subjected the computer to damage • it was a vast improvement over the vacuum tube. • second-generation computers still relied on punched cards for input and printouts for output. • computers moved from cryptic binary machine language to symbolic, or assembly, languages, which allowed programmers to specify instructions in words. • High-level programming languages were also being developed at this time, such as early versions of COBOL and FORTRAN.
  • 6.
    Third Generation (1964-1971) IntegratedCircuits • The development of the integrated circuit was the hallmark of the third generation of computers. • Transistors were miniaturized and placed on silicon chips, called semiconductors. • which drastically increased the speed and efficiency of computers. • Instead of punched cards and printouts, users interacted with third generation computers through keyboards and monitors • interfaced with an operating system, which allowed the device to run many different applications at one time with a central program that monitored the memory. • Computers for the first time became accessible to a mass audience because they were smaller and cheaper than their predecessors
  • 7.
    Fourth Generation (1971-Present) Microprocessors •The microprocessor brought the fourth generation of computers, as thousands of integrated circuits were built onto a single silicon chip. • What in the first generation filled an entire room could now fit in the palm of the hand. • The Intel 4004 chip, developed in 1971, located all the components of the computer—from the central processing unit and memory to input/output controls—on a single chip. • As these small computers became more powerful, they could be linked together to form networks, which eventually led to the development of the Internet. • Fourth generation computers also saw the development of GUIs, the mouse and handheld devices
  • 8.
    Fifth Generation (Presentand Beyond) Artificial Intelligence • Fifth generation computing devices, based on artificial intelligence, are still in development. • though there are some applications, such as voice recognition, that are being used today. • The use of parallel processing and superconductors is helping to make artificial intelligence a reality. • Quantum computation and molecular and nanotechnology will radically change the face of computers in years to come. • The goal of fifth-generation computing is to develop devices that respond to natural language input and are capable of learning and self-organization.
  • 9.
  • 10.
    Batch operating system •The users of batch operating system do not interact with the computer directly. • Each user prepares his job on an off-line device like punch cards and submits it to the computer operator. • To speed up processing, jobs with similar needs are batched together and run as a group. • Thus, the programmers left their programs with the operator. • The operator then sorts programs into batches with similar requirements.
  • 11.
    The problems withBatch Systems are following: • Lack of interaction between the user and job. • CPU is often idle, because the speeds of the mechanical I/O devices are slower than CPU. • Difficult to provide the desired priority.
  • 12.
    Multiprogramming operating system •When two or more programs are residing in memory at the same time, then sharing the processor is referred to the multiprogramming. • Multiprogramming assumes a single shared processor. • Multiprogramming increases CPU utilization by organizing jobs so that the CPU always has one to execute.
  • 13.
    Multiprogramming operating system •The operating system keeps several jobs in memory at a time. • This set of jobs is a subset of the jobs kept in the job pool. • The operating system picks and begins to execute one of the job in the memory. • Multiprogramming operating system monitors 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
  • 14.
    Multitasking operating system •Multitasking refers to term where multiple jobs are executed by the CPU simultaneously by switching between them. • Switches occur so frequently that the users may interact with each program while it is running.
  • 15.
    Multitasking operating system •The user gives instructions to the operating system or to a program directly, and receives an immediate response. • Operating System handles multitasking in the way that it can handle multiple operations / executes multiple programs at a time. • Multitasking Operating Systems are also known as Time-sharing systems. • These Operating Systems were developed to provide interactive use of a computer system at a reasonable cost. • A time-shared operating system uses concept of CPU scheduling and multiprogramming to provide each user with a small portion of a time-shared CPU. • Each user has at least one separate program in memory.
  • 16.
    …continued • A programthat is loaded into memory and is executing is commonly referred to as a process. • When a process executes, it typically executes for only a very short time before it either finishes or needs to perform I/O. • Since interactive I/O typically runs at people speeds, it may take a long time to complete. During this time a CPU can be utilized by another process. • Operating system allows the users to share the computer simultaneously. Since each action or command in a time- shared system tends to be short, only a little CPU time is needed for each user. • As the system switches CPU rapidly from one user/program to the next, each user is given the impression that he/she has his/her own CPU, whereas actually one CPU is being shared among many users.
  • 17.
    Time-sharing operating systems •Time sharing is a technique which enables many people, located at various terminals, to use a particular computer system at the same time. • Time-sharing or multitasking is a logical extension of multiprogramming. • Processor's time which is shared among multiple users simultaneously is termed as time-sharing. • The main difference between Multiprogrammed Batch Systems and Time-Sharing Systems is that in case of multiprogrammed batch systems, objective is to maximize processor use, whereas in Time-Sharing Systems objective is to minimize response time.
  • 18.
    Time-sharing operating systems •Multiple jobs are executed by the CPU by switching between them, but the switches occur so frequently. • Thus, the user can receive an immediate response. For example, in a transaction processing, processor execute each user program in a short burst or quantum of computation. • That is if n users are present, each user can get time quantum. When the user submits the command, the response time is in few seconds at most. • Operating system uses CPU scheduling and multiprogramming to provide each user with a small portion of a time. • Computer systems that were designed primarily as batch systems have been modified to time-sharing systems.
  • 19.
    Real Time operatingSystem • Real time system is defines as a data processing system in which the time interval required to process and respond to inputs is so small that it controls the environment. • Real time processing is always on line whereas on line system need not be real time. • The time taken by the system to respond to an input and display of required updated information is termed as response time. • So in this method response time is very less as compared to the online processing.
  • 20.
    Real Time operatingSystem • Real-time systems are used when there are rigid time requirements on the operation of a processor or the flow of data and real-time systems can be used as a control device in a dedicated application. • Real-time operating system has well-defined, fixed time constraints otherwise system will fail. • For example Scientific experiments, medical imaging systems, industrial control systems, weapon systems, robots, and home-appliance controllers, Air traffic control system etc.
  • 21.
    Types of RealTime operating System • There are two types of real time os: 1. Hard real-time systems Hard real-time systems guarantee that critical tasks complete on time. In hard real-time systems secondary storage is limited or missing with data stored in ROM. In these systems virtual memory is almost never found. 2. Soft real-time systems Soft real time systems are less restrictive. Critical real-time task gets priority over other tasks and retains the priority until it completes. Soft real-time systems have limited utility than hard real-time systems. For example, Multimedia, virtual reality, Advanced Scientific Projects like undersea exploration and planetary rovers etc.
  • 22.
    Distributed operating System •Distributed systems use multiple central processors to serve multiple real time application and multiple users. • Data processing jobs are distributed among the processors accordingly to which one can perform each job most efficiently. • The processors communicate with one another through various communication lines (such as high-speed buses or telephone lines). • These are referred as loosely coupled systems or distributed systems. Processors in a distributed system may vary in size and function. • These processors are referred as sites, nodes, and computers and so on.
  • 23.
  • 24.
    Services of operatingsystem • An Operating System provides services to both the users and to the programs: o It provides programs, an environment to execute. o It provides users, services to execute the programs in a convenient manner.
  • 25.
    Few common servicesprovided by operating systems • Program execution • I/O operations • File System manipulation • Communication • Error Detection • Resource Allocation • Protection
  • 26.
    Program execution • Loadsa program into memory. • Executes the program. • Handles program's execution. • Provides a mechanism for process synchronization. • Provides a mechanism for process communication. • Provides a mechanism for deadlock handling.
  • 27.
    I/O Operation • I/Ooperation means read or write operation with any file or any specific I/O device. • Program may require any I/O device while running. • Operating system provides the access to the required I/O device when required.
  • 28.
    File system manipulation •Program needs to read a file or write a file. • The operating system gives the permission to the program for operation on file. • Permission varies from read-only, read-write, denied and so on. • Operating System provides an interface to the user to create/delete files. • Operating System provides an interface to the user to create/delete directories. • Operating System provides an interface to create the backup of file system
  • 29.
    Communication • Two processesoften require data to be transferred between them. • The both processes can be on the one computer or on different computer but are connected through computer network. • Communication may be implemented by two methods either by Shared Memory or by Message Passing.
  • 30.
    Error handling • OSconstantly remains aware of possible errors. • OS takes the appropriate action to ensure correct and consistent computing.
  • 31.
    Resource Management • OSmanages all kind of resources using schedulers. • CPU scheduling algorithms are used for better utilization of CPU.
  • 32.
    Protection • OS ensuresthat all access to system resources is controlled. • OS ensures that external I/O devices are protected from invalid access attempts. • OS provides authentication feature for each user by means of a password.
  • 33.
    System calls • Systemcalls provide an interface between the process an the operating system. • System calls allow user-level processes to request some services from the operating system which process itself is not allowed to do. • In handling the trap, the operating system will enter in the kernel mode, where it has access to privileged instructions, and can perform the desired service on the behalf of user-level process. • It is because of the critical nature of operations that the operating system itself does them every time they are needed. • For example, for I/O a process involves a system call telling the operating system to read or write particular area and this request is satisfied by the operating system.
  • 34.
    Types of systemcalls • Process control • File management • Device management • Information maintenance • Communications
  • 35.
    Process control • end,abort • load, execute • create process, terminate process • get process attributes, set process attributes • wait for time • wait event, signal event • allocate and free memory
  • 36.
    File management • createfile, delete file • open, close • read, write, reposition • get file attributes, set file attributes
  • 37.
    Device management • requestdevice, release device • read, write, reposition • get device attributes, set device attributes • logically attach or detach devices
  • 38.
    Information maintenance • gettime or date, set time or date • get system data, set system data • get process, file, or device attributes • set process, file, or device attributes
  • 39.
    Communications • create, deletecommunication connection • send, receive messages • transfer status information • attach or detach remote devices
  • 40.