Operating SystemsOperating Systems
By Sonu Vishwakarma
mob-9616678599
7.2
 Understand the role of the operating system.
 Understand the process of bootstrapping to load the
operating system into memory.
 List the components of an operating system.
 Discuss the role of the memory manager.
 Discuss the role of the process manager.
 Discuss the role of the device manager.
 Discuss the role of the file manager in an operating system.
 Understand the main features of three common operating
systems: UNIX, Linux and Windows NT.
ObjectivesObjectives
After studying this chapter, the student should be able toAfter studying this chapter, the student should be able to::
7.3
A computer is a system composed of two majorA computer is a system composed of two major
components: hardware and software. Computercomponents: hardware and software. Computer
hardware is the physical equipment. Software is thehardware is the physical equipment. Software is the
collection of programs that allows the hardware to do itscollection of programs that allows the hardware to do its
job. Computer software is divided into two broadjob. Computer software is divided into two broad
categories: thecategories: the operating systemoperating system andand applicationapplication
programsprograms (Figure 7.1). Application programs use the(Figure 7.1). Application programs use the
computer hardware to solve users’ problems. Thecomputer hardware to solve users’ problems. The
operating system, on the other hand, controls the accessoperating system, on the other hand, controls the access
to hardware by users.to hardware by users.
7.4 Figure 7.1 A computer system
7.5
7-1 INTRODUCTION7-1 INTRODUCTION
AnAn operating systemoperating system is complex, so it is difficult tois complex, so it is difficult to
give a simple universal definition. Instead, here aregive a simple universal definition. Instead, here are
some common definitions:some common definitions:
 An operating system is an interface between the hardwareAn operating system is an interface between the hardware
of a computer and the user (programs or humans).of a computer and the user (programs or humans).
 An operating system is a program (or a set of programs)An operating system is a program (or a set of programs)
that facilitates the execution of other programs.that facilitates the execution of other programs.
 An operating system acts as a general manager supervisingAn operating system acts as a general manager supervising
the activity of each component in the computer system.the activity of each component in the computer system.
7.6
An operating system is an interface between the
hardware of a computer and the user
(programs or humans)
that facilitates the execution of other programs
and the access to hardware and software resources.
i
Two major design goals of an operating system are:Two major design goals of an operating system are:
❑❑ Efficient use of hardware.Efficient use of hardware.
❑❑ Ease of use of resources.Ease of use of resources.
7.7
Bootstrap process
The operating system, based on the above definitions,
provides supports for other programs. For example, it is
responsible for loading other programs into memory for
execution. However, the operating system itself is a program
that needs to be loaded into the memory and be run. How is
this dilemma solved?
The solution is a two-stage process. A very small
section of memory is made of ROM and holds a small
program called the bootstrap program. When the computer
is turned on, the CPU counter is set to the first instruction of
this bootstrap program and executes the instructions in this
program. When loading is done, the program counter is set to
the first instruction of the operating system in RAM.
7.8 Figure 7.2 The bootstrap process
7.9
7-2 EVOLUTION7-2 EVOLUTION
Operating systems have gone through a long history ofOperating systems have gone through a long history of
evolution, which we summarize here.evolution, which we summarize here.
Batch systems
Batch operating systems were designed in the 1950s to
control mainframe computers. At that time, computers were
large machines that used punched cards for input, line
printers for output and tape drives for secondary storage
media. Each program to be executed was called a job. A
programmer who wished to execute a job sends a request to
the operating system.
7.10
Time-sharing systems
To use computer system resources efficiently,
multiprogramming was introduced. The idea is to hold
several jobs in memory at a time, and only assign a resource
to a job that needs it on the condition that the resource is
available.
Multiprogramming brought the idea of time sharing:
resources could be shared between different jobs, with each
job being allocated a portion of time to use a resource.
Because a computer is much faster than a human, time
sharing is hidden from the user—each user has the
impression that the whole system is serving them
exclusively.
7.11
Personal systems
When personal computers were introduced, there was a need
for an operating system for this new type of computer.
During this era, single-user operating systems such as DOS
(Disk Operating System) were introduced.
Parallel systems
The need for more speed and efficiency led to the design of
parallel systems: multiple CPUs on the same machine. Each
CPU can be used to serve one program or a part of a
program, which means that many tasks can be accomplished
in parallel instead of serially. The operating systems required
for this are more complex than those that support single
CPUs.
7.12
Distributed systems
Networking and internetworking, as we saw in Chapter 6,
have created a new dimension in operating systems. A job
that was previously done on one computer can now be
shared between computers that may be thousands of miles
apart. Distributed systems combine features of the previous
generation with new duties such as controlling security.
Real-time systems
A real-time system is expected to do a task within a specific
time constraint. They are used with real-time applications,
which monitor, respond to or control external processes or
environments.
7.13
7-3 COMPONENTS7-3 COMPONENTS
Today’s operating systems are very complex. AnToday’s operating systems are very complex. An
operating system needs to manage different resources inoperating system needs to manage different resources in
a computer system. It resembles an organization witha computer system. It resembles an organization with
several managers at the top level. Each manager isseveral managers at the top level. Each manager is
responsible for managing their department, but alsoresponsible for managing their department, but also
needs to cooperate with others and coordinate activities.needs to cooperate with others and coordinate activities.
A modern operating system has at least four duties:A modern operating system has at least four duties:
memory managermemory manager,, process managerprocess manager,, device managerdevice manager
andand file managerfile manager..
7.14 Figure 7.3 Components of an operating system
7.15
User interface
Each operating system has a user interface, a program that
accepts requests from users (processes) and interprets them
for the rest of the operating system. A user interface in some
operating systems, such as UNIX, is called a shell. In others,
it is called a window to denote that it is menu driven and has
a GUI (graphical user interface) component.
7.16
Memory manager
One of the responsibilities of a modern computer system is
memory management. Although the memory size of
computers has increased tremendously in recent years, so has
the size of the programs and data to be processed. Memory
allocation must be managed to prevent applications from
running out of memory. Operating systems can be divided
into two broad categories of memory management:
monoprogramming and multiprogramming.
7.17
Monoprogramming
In monoprogramming, most of the memory capacity is
dedicated to a single program; only a small part is needed to
hold the operating system. In this configuration, the whole
program is in memory for execution. When the program
finishes running, the program area is occupied by another
program.
Figure 7.4 Monoprogramming
7.18
Multiprogramming
In multiprogramming, more than one program is in memory
at the same time, and they are executed concurrently, with
the CPU switching rapidly between the programs.
Figure 7.5 Multiprogramming
7.19
Figure 7.6 Categories of multiprogramming
7.20
Figure 7.7 Partitioning
7.21
Figure 7.8 Paging
7.22
Figure 7.9 Demand paging
7.23
Figure 7.10 Demand segmentation
7.24
Virtual memory
Demand paging and demand segmentation mean that, when a
program is being executed, part of the program is in memory
and part is on disk. This means that, for example, a memory
size of 10 MB can execute 10 programs, each of size 3 MB,
for a total of 30 MB. At any moment, 10 MB of the 10
programs are in memory and 20 MB are on disk. There is
therefore an actual memory size of 10 MB, but a virtual
memory size of 30 MB. Figure 7.11 shows the concept.
Virtual memory, which implies demand paging, demand
segmentation or both, is used in almost all operating systems
today.
7.25
Figure 7.11 Virtual memory
7.26
Process manager
A second function of an operating system is process
management, but before discussing this concept, we need to
define some terms.
Program, job, and process
 A program is a non-active set of instructions stored on disk.
 A program becomes a job from the moment it is selected for
execution until it has finished running and becomes a program
again.
 A process is a program in execution. It is a program that has started
but has not finished.
7.27
State diagrams
The relationship between a program, a job and a process
becomes clearer if we consider how a program becomes a
job and how a job becomes a process. This can be illustrated
with a state diagram that shows the different states of each of
these entities.
7.28Figure 7.12 State diagram with boundaries between program, job and process
7.29
Schedulers
To move a job or process from one state to another, the
process manager uses two schedulers: the job scheduler and
the process scheduler.
Figure 7.13 Job scheduler
7.30
Figure 7.14 Process scheduler
7.31
Queuing
Our state diagram shows one job or process moving from
one state to another. In reality, there are many jobs and many
processes competing with each other for computer resources.
To handle multiple processes and jobs, the process manager
uses queues (waiting lists). A job control block or process
control block is associated with each job or process. This is a
block of memory that stores information about that job or
process. The process manager stores the job or process
control block in the queues instead of the job or process
itself.
7.32
Figure 7.15 Queues for process management
7.33
Process synchronization
The whole idea behind process management is to
synchronize different processes with different resources.
Whenever resources can be used by more than one user
(or process, in this case), we can have two problematic
situations: deadlock and starvation.
7.34
Figure 7.16 Deadlock
Deadlock occurs when the operating system does not
put resource restrictions on processes.
i
7.35
Figure 7.17 Deadlock on a bridge
7.36
Figure 7.18 Starvation
7.37
Figure 7.19 The dining philosophers problem
Starvation is the opposite of deadlock. It can happen
when the operating system puts too many resource
restrictions on a process.
i
7.38
Device manager
The device manager, or input/output manager, is responsible
for access to input/ output devices. There are limitations on
the number and speed of input/output devices in a computer
system.
 The device manager monitors every input/output device
constantly to ensure that the device is functioning properly.
 The device manager maintains a queue for each input/output
device or one or more queues for similar input/output devices.
 The device manager controls the different policies for accessing
input/output devices.
7.39
File manager
Operating systems today use a file manager to control
access to files. A detailed discussion of the file manager also
requires advanced knowledge of operating system principles
and file access concepts that are beyond the scope of this
book. The file manager:
 controls access to files.
 supervises the creation, deletion, and modification of files.
 controls the naming of files.
 supervises the storage of files.
 is responsible for archiving and backups.
7.40
In this section we introduce some popular operatingIn this section we introduce some popular operating
systems and encourage you to study them further. Wesystems and encourage you to study them further. We
have chosen three operating systems that are familiar tohave chosen three operating systems that are familiar to
most computer users: UNIX, Linux and Windows.most computer users: UNIX, Linux and Windows.
7-4 A SURVEY OF OPERATING7-4 A SURVEY OF OPERATING
SYSTEMSSYSTEMS
7.41
UNIX
UNIX was originally developed in 1969 by Thomson and
Ritchie of the Computer Science Research Group at Bell
Laboratories. UNIX has gone through many versions since
then. It has been a popular operating system among
computer programmers and computer scientists.
UNIX is a multiuser, multiprocessing, portable
operating system.
It is designed to facilitate programming, text
processing and communication.
i
7.42
Figure 7.20 Components of the UNIX operating system
7.43
Linux
In 1991, Linus Torvalds, a Finish student at the University of
Helsinki at the time, developed a new operating system that
is known today as Linux. The initial kernel, which was
similar to a small subset of UNIX, has grown into a full-
scale operating system today. The Linux 2.0 kernel, released
in 1997, was accepted as a commercial operating system: it
has all features traditionally attributed to UNIX.
7.44
Windows NT/2000/XP
In the late 1980s Microsoft, under the leadership of Dave
Cutler, started development of a new single-user operating
system to replace MS-DOS (Microsoft Disk Operating
System). Windows NT (NT standing for New Technology)
was the result. Several versions of Windows NT followed
and the name was changed to Windows 2000. Windows XP
(XP stands for eXPerience) was released in 2001. We refer
to all of these versions as Windows NT or just NT.
7.45
Figure 7.21 The architecture of Windows NT

More Related Content

PPTX
operating system
PPTX
Types of operating system.................
PPTX
Operating system concepts
PPTX
Multiprocessor architecture
PPTX
Os ppt
PPTX
operating system
PPTX
Operating system || Chapter 1: Introduction
PPT
Operating systems
operating system
Types of operating system.................
Operating system concepts
Multiprocessor architecture
Os ppt
operating system
Operating system || Chapter 1: Introduction
Operating systems

What's hot (20)

PPTX
Operating system; Multitasking
PPT
introduction To Operating System
PDF
Process scheduling (CPU Scheduling)
PPT
OPERATING SYSTEM SERVICES, OPERATING SYSTEM STRUCTURES
PPTX
Introduction to Operating Systems
PPTX
Types of operating system unit 1 by Ram K Paliwal
PPTX
Operating system and its functions
PPTX
Operating system
PPT
Operating Systems
PPT
The process states
PPTX
Operating system components
PPTX
evolution of operating system
PPT
Operating Systems Presentation
PPTX
Unix vs linux
PPTX
Operating systems (For CBSE School Students)
PPT
Network Slides
PPTX
UNIX Operating System
PPT
Introduction to operating system
PPTX
memory hierarchy
PPTX
Operating system
Operating system; Multitasking
introduction To Operating System
Process scheduling (CPU Scheduling)
OPERATING SYSTEM SERVICES, OPERATING SYSTEM STRUCTURES
Introduction to Operating Systems
Types of operating system unit 1 by Ram K Paliwal
Operating system and its functions
Operating system
Operating Systems
The process states
Operating system components
evolution of operating system
Operating Systems Presentation
Unix vs linux
Operating systems (For CBSE School Students)
Network Slides
UNIX Operating System
Introduction to operating system
memory hierarchy
Operating system
Ad

Viewers also liked (6)

PPT
Renounce & Invenio by Sonu Vishwakarma
PPTX
Presentation on Operating System & its Components
PPTX
ADO .NET by Sonu Vishwakarma
PPT
MAC Furniture by Sonu Vishwakarma
PPT
Process And Methodology Research
PPTX
Windows operating system presentation
Renounce & Invenio by Sonu Vishwakarma
Presentation on Operating System & its Components
ADO .NET by Sonu Vishwakarma
MAC Furniture by Sonu Vishwakarma
Process And Methodology Research
Windows operating system presentation
Ad

Similar to Operating system presentation (20)

PDF
ITFT _ Operating system
PPT
Fundamentals of Computing Chapter 7
ODP
Operating Systems
PPT
Chapter one_oS.ppt
PDF
computer Unit 7
PPT
Operating systems
PPT
Unit I OS CS.ppt
DOC
Module1
PPT
Introduction to Operating Systems - Mary Margarat
PPT
unit1 part1.ppt
PPT
1. Introduction to OS.ppt
PDF
Operating Systems PPT 1 (1).pdf
PDF
operating systems hybrid notes for computerscience.pdf
PPTX
introduction to operating systems and services.pptx
DOC
system software and operating System
PPTX
Evolution, Strutcture and Operations.pptx
PPTX
installing and optimizing operating system software
PDF
4 Module - Operating Systems Configuration and Use by Mark John Lado
PPT
Overview of Operating System.ppt introduction
PPTX
ITFT _ Operating system
Fundamentals of Computing Chapter 7
Operating Systems
Chapter one_oS.ppt
computer Unit 7
Operating systems
Unit I OS CS.ppt
Module1
Introduction to Operating Systems - Mary Margarat
unit1 part1.ppt
1. Introduction to OS.ppt
Operating Systems PPT 1 (1).pdf
operating systems hybrid notes for computerscience.pdf
introduction to operating systems and services.pptx
system software and operating System
Evolution, Strutcture and Operations.pptx
installing and optimizing operating system software
4 Module - Operating Systems Configuration and Use by Mark John Lado
Overview of Operating System.ppt introduction

Recently uploaded (20)

PPTX
UNIT_2-__LIPIDS[1].pptx.................
PDF
CISA (Certified Information Systems Auditor) Domain-Wise Summary.pdf
PPTX
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
PDF
Journal of Dental Science - UDMY (2021).pdf
PDF
M.Tech in Aerospace Engineering | BIT Mesra
PDF
1.Salivary gland disease.pdf 3.Bleeding and Clotting Disorders.pdf important
PDF
Race Reva University – Shaping Future Leaders in Artificial Intelligence
PPTX
Thinking Routines and Learning Engagements.pptx
PPTX
Climate Change and Its Global Impact.pptx
PDF
plant tissues class 6-7 mcqs chatgpt.pdf
PPTX
Education and Perspectives of Education.pptx
PDF
fundamentals-of-heat-and-mass-transfer-6th-edition_incropera.pdf
PDF
LIFE & LIVING TRILOGY - PART - (2) THE PURPOSE OF LIFE.pdf
PDF
Journal of Dental Science - UDMY (2020).pdf
PPTX
Module on health assessment of CHN. pptx
PDF
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
PDF
MA in English at Shiv Nadar University – Advanced Literature, Language & Rese...
PDF
The TKT Course. Modules 1, 2, 3.for self study
PDF
Farming Based Livelihood Systems English Notes
PDF
English-bài kiểm tra tiếng anh cơ bản.pdf
UNIT_2-__LIPIDS[1].pptx.................
CISA (Certified Information Systems Auditor) Domain-Wise Summary.pdf
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
Journal of Dental Science - UDMY (2021).pdf
M.Tech in Aerospace Engineering | BIT Mesra
1.Salivary gland disease.pdf 3.Bleeding and Clotting Disorders.pdf important
Race Reva University – Shaping Future Leaders in Artificial Intelligence
Thinking Routines and Learning Engagements.pptx
Climate Change and Its Global Impact.pptx
plant tissues class 6-7 mcqs chatgpt.pdf
Education and Perspectives of Education.pptx
fundamentals-of-heat-and-mass-transfer-6th-edition_incropera.pdf
LIFE & LIVING TRILOGY - PART - (2) THE PURPOSE OF LIFE.pdf
Journal of Dental Science - UDMY (2020).pdf
Module on health assessment of CHN. pptx
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
MA in English at Shiv Nadar University – Advanced Literature, Language & Rese...
The TKT Course. Modules 1, 2, 3.for self study
Farming Based Livelihood Systems English Notes
English-bài kiểm tra tiếng anh cơ bản.pdf

Operating system presentation

  • 1. Operating SystemsOperating Systems By Sonu Vishwakarma mob-9616678599
  • 2. 7.2  Understand the role of the operating system.  Understand the process of bootstrapping to load the operating system into memory.  List the components of an operating system.  Discuss the role of the memory manager.  Discuss the role of the process manager.  Discuss the role of the device manager.  Discuss the role of the file manager in an operating system.  Understand the main features of three common operating systems: UNIX, Linux and Windows NT. ObjectivesObjectives After studying this chapter, the student should be able toAfter studying this chapter, the student should be able to::
  • 3. 7.3 A computer is a system composed of two majorA computer is a system composed of two major components: hardware and software. Computercomponents: hardware and software. Computer hardware is the physical equipment. Software is thehardware is the physical equipment. Software is the collection of programs that allows the hardware to do itscollection of programs that allows the hardware to do its job. Computer software is divided into two broadjob. Computer software is divided into two broad categories: thecategories: the operating systemoperating system andand applicationapplication programsprograms (Figure 7.1). Application programs use the(Figure 7.1). Application programs use the computer hardware to solve users’ problems. Thecomputer hardware to solve users’ problems. The operating system, on the other hand, controls the accessoperating system, on the other hand, controls the access to hardware by users.to hardware by users.
  • 4. 7.4 Figure 7.1 A computer system
  • 5. 7.5 7-1 INTRODUCTION7-1 INTRODUCTION AnAn operating systemoperating system is complex, so it is difficult tois complex, so it is difficult to give a simple universal definition. Instead, here aregive a simple universal definition. Instead, here are some common definitions:some common definitions:  An operating system is an interface between the hardwareAn operating system is an interface between the hardware of a computer and the user (programs or humans).of a computer and the user (programs or humans).  An operating system is a program (or a set of programs)An operating system is a program (or a set of programs) that facilitates the execution of other programs.that facilitates the execution of other programs.  An operating system acts as a general manager supervisingAn operating system acts as a general manager supervising the activity of each component in the computer system.the activity of each component in the computer system.
  • 6. 7.6 An operating system is an interface between the hardware of a computer and the user (programs or humans) that facilitates the execution of other programs and the access to hardware and software resources. i Two major design goals of an operating system are:Two major design goals of an operating system are: ❑❑ Efficient use of hardware.Efficient use of hardware. ❑❑ Ease of use of resources.Ease of use of resources.
  • 7. 7.7 Bootstrap process The operating system, based on the above definitions, provides supports for other programs. For example, it is responsible for loading other programs into memory for execution. However, the operating system itself is a program that needs to be loaded into the memory and be run. How is this dilemma solved? The solution is a two-stage process. A very small section of memory is made of ROM and holds a small program called the bootstrap program. When the computer is turned on, the CPU counter is set to the first instruction of this bootstrap program and executes the instructions in this program. When loading is done, the program counter is set to the first instruction of the operating system in RAM.
  • 8. 7.8 Figure 7.2 The bootstrap process
  • 9. 7.9 7-2 EVOLUTION7-2 EVOLUTION Operating systems have gone through a long history ofOperating systems have gone through a long history of evolution, which we summarize here.evolution, which we summarize here. Batch systems Batch operating systems were designed in the 1950s to control mainframe computers. At that time, computers were large machines that used punched cards for input, line printers for output and tape drives for secondary storage media. Each program to be executed was called a job. A programmer who wished to execute a job sends a request to the operating system.
  • 10. 7.10 Time-sharing systems To use computer system resources efficiently, multiprogramming was introduced. The idea is to hold several jobs in memory at a time, and only assign a resource to a job that needs it on the condition that the resource is available. Multiprogramming brought the idea of time sharing: resources could be shared between different jobs, with each job being allocated a portion of time to use a resource. Because a computer is much faster than a human, time sharing is hidden from the user—each user has the impression that the whole system is serving them exclusively.
  • 11. 7.11 Personal systems When personal computers were introduced, there was a need for an operating system for this new type of computer. During this era, single-user operating systems such as DOS (Disk Operating System) were introduced. Parallel systems The need for more speed and efficiency led to the design of parallel systems: multiple CPUs on the same machine. Each CPU can be used to serve one program or a part of a program, which means that many tasks can be accomplished in parallel instead of serially. The operating systems required for this are more complex than those that support single CPUs.
  • 12. 7.12 Distributed systems Networking and internetworking, as we saw in Chapter 6, have created a new dimension in operating systems. A job that was previously done on one computer can now be shared between computers that may be thousands of miles apart. Distributed systems combine features of the previous generation with new duties such as controlling security. Real-time systems A real-time system is expected to do a task within a specific time constraint. They are used with real-time applications, which monitor, respond to or control external processes or environments.
  • 13. 7.13 7-3 COMPONENTS7-3 COMPONENTS Today’s operating systems are very complex. AnToday’s operating systems are very complex. An operating system needs to manage different resources inoperating system needs to manage different resources in a computer system. It resembles an organization witha computer system. It resembles an organization with several managers at the top level. Each manager isseveral managers at the top level. Each manager is responsible for managing their department, but alsoresponsible for managing their department, but also needs to cooperate with others and coordinate activities.needs to cooperate with others and coordinate activities. A modern operating system has at least four duties:A modern operating system has at least four duties: memory managermemory manager,, process managerprocess manager,, device managerdevice manager andand file managerfile manager..
  • 14. 7.14 Figure 7.3 Components of an operating system
  • 15. 7.15 User interface Each operating system has a user interface, a program that accepts requests from users (processes) and interprets them for the rest of the operating system. A user interface in some operating systems, such as UNIX, is called a shell. In others, it is called a window to denote that it is menu driven and has a GUI (graphical user interface) component.
  • 16. 7.16 Memory manager One of the responsibilities of a modern computer system is memory management. Although the memory size of computers has increased tremendously in recent years, so has the size of the programs and data to be processed. Memory allocation must be managed to prevent applications from running out of memory. Operating systems can be divided into two broad categories of memory management: monoprogramming and multiprogramming.
  • 17. 7.17 Monoprogramming In monoprogramming, most of the memory capacity is dedicated to a single program; only a small part is needed to hold the operating system. In this configuration, the whole program is in memory for execution. When the program finishes running, the program area is occupied by another program. Figure 7.4 Monoprogramming
  • 18. 7.18 Multiprogramming In multiprogramming, more than one program is in memory at the same time, and they are executed concurrently, with the CPU switching rapidly between the programs. Figure 7.5 Multiprogramming
  • 19. 7.19 Figure 7.6 Categories of multiprogramming
  • 23. 7.23 Figure 7.10 Demand segmentation
  • 24. 7.24 Virtual memory Demand paging and demand segmentation mean that, when a program is being executed, part of the program is in memory and part is on disk. This means that, for example, a memory size of 10 MB can execute 10 programs, each of size 3 MB, for a total of 30 MB. At any moment, 10 MB of the 10 programs are in memory and 20 MB are on disk. There is therefore an actual memory size of 10 MB, but a virtual memory size of 30 MB. Figure 7.11 shows the concept. Virtual memory, which implies demand paging, demand segmentation or both, is used in almost all operating systems today.
  • 26. 7.26 Process manager A second function of an operating system is process management, but before discussing this concept, we need to define some terms. Program, job, and process  A program is a non-active set of instructions stored on disk.  A program becomes a job from the moment it is selected for execution until it has finished running and becomes a program again.  A process is a program in execution. It is a program that has started but has not finished.
  • 27. 7.27 State diagrams The relationship between a program, a job and a process becomes clearer if we consider how a program becomes a job and how a job becomes a process. This can be illustrated with a state diagram that shows the different states of each of these entities.
  • 28. 7.28Figure 7.12 State diagram with boundaries between program, job and process
  • 29. 7.29 Schedulers To move a job or process from one state to another, the process manager uses two schedulers: the job scheduler and the process scheduler. Figure 7.13 Job scheduler
  • 31. 7.31 Queuing Our state diagram shows one job or process moving from one state to another. In reality, there are many jobs and many processes competing with each other for computer resources. To handle multiple processes and jobs, the process manager uses queues (waiting lists). A job control block or process control block is associated with each job or process. This is a block of memory that stores information about that job or process. The process manager stores the job or process control block in the queues instead of the job or process itself.
  • 32. 7.32 Figure 7.15 Queues for process management
  • 33. 7.33 Process synchronization The whole idea behind process management is to synchronize different processes with different resources. Whenever resources can be used by more than one user (or process, in this case), we can have two problematic situations: deadlock and starvation.
  • 34. 7.34 Figure 7.16 Deadlock Deadlock occurs when the operating system does not put resource restrictions on processes. i
  • 37. 7.37 Figure 7.19 The dining philosophers problem Starvation is the opposite of deadlock. It can happen when the operating system puts too many resource restrictions on a process. i
  • 38. 7.38 Device manager The device manager, or input/output manager, is responsible for access to input/ output devices. There are limitations on the number and speed of input/output devices in a computer system.  The device manager monitors every input/output device constantly to ensure that the device is functioning properly.  The device manager maintains a queue for each input/output device or one or more queues for similar input/output devices.  The device manager controls the different policies for accessing input/output devices.
  • 39. 7.39 File manager Operating systems today use a file manager to control access to files. A detailed discussion of the file manager also requires advanced knowledge of operating system principles and file access concepts that are beyond the scope of this book. The file manager:  controls access to files.  supervises the creation, deletion, and modification of files.  controls the naming of files.  supervises the storage of files.  is responsible for archiving and backups.
  • 40. 7.40 In this section we introduce some popular operatingIn this section we introduce some popular operating systems and encourage you to study them further. Wesystems and encourage you to study them further. We have chosen three operating systems that are familiar tohave chosen three operating systems that are familiar to most computer users: UNIX, Linux and Windows.most computer users: UNIX, Linux and Windows. 7-4 A SURVEY OF OPERATING7-4 A SURVEY OF OPERATING SYSTEMSSYSTEMS
  • 41. 7.41 UNIX UNIX was originally developed in 1969 by Thomson and Ritchie of the Computer Science Research Group at Bell Laboratories. UNIX has gone through many versions since then. It has been a popular operating system among computer programmers and computer scientists. UNIX is a multiuser, multiprocessing, portable operating system. It is designed to facilitate programming, text processing and communication. i
  • 42. 7.42 Figure 7.20 Components of the UNIX operating system
  • 43. 7.43 Linux In 1991, Linus Torvalds, a Finish student at the University of Helsinki at the time, developed a new operating system that is known today as Linux. The initial kernel, which was similar to a small subset of UNIX, has grown into a full- scale operating system today. The Linux 2.0 kernel, released in 1997, was accepted as a commercial operating system: it has all features traditionally attributed to UNIX.
  • 44. 7.44 Windows NT/2000/XP In the late 1980s Microsoft, under the leadership of Dave Cutler, started development of a new single-user operating system to replace MS-DOS (Microsoft Disk Operating System). Windows NT (NT standing for New Technology) was the result. Several versions of Windows NT followed and the name was changed to Windows 2000. Windows XP (XP stands for eXPerience) was released in 2001. We refer to all of these versions as Windows NT or just NT.
  • 45. 7.45 Figure 7.21 The architecture of Windows NT