Operating Systems

Download Report

Transcript Operating Systems

Chapter 7
Operating
Systems
©Brooks/Cole, 2003
Figure 7-1
Computer System
Control access to
hardware by user
Use computer hardware
to resolve problems
©Brooks/Cole, 2003
7.1
O .S. DEFINITION
©Brooks/Cole, 2003
Definition of Operating System
• An operating system is an interface between the
hardware and programs or humans
• An operating system is a program that facilitates the
execution of other programs.
• An operating system is a general manager
supervising the activity of computer’s components.
Operating System design goals
• Efficient use of hardware.
• Easy to use resources
©Brooks/Cole, 2003
7.2
O.S. EVOLUTION
©Brooks/Cole, 2003
1. Batch Systems
• Each program to be executed is called a job.
• A programmer sends a job request along with
punched cards for the program and the data.
• Programmer had no interaction with the system.
• If the program was successful, the result was sent to
the programmer, if not a printout of error was sent.
• Operating systems only ensured that all of the
resources were transferred from one job to the next
©Brooks/Cole, 2003
2. Time Sharing Systems
• Multiprogramming was introduced to hold several
jobs in memory. Multiprogramming system only
assign resources to a job when it is available.
• Multiprogramming brought the idea of time
sharing where resources are shared between
different jobs.
• Multiprogramming requires a more complex OS.
• The OS has to do scheduling and decide which
program should use the resources and when.
©Brooks/Cole, 2003
3. Personal System
• Introduced for personal computers.
• Examples Disk Operating System (DOS)
©Brooks/Cole, 2003
4. Parallel System
• The need for more speed and effecincy has led
to the design of parallel systems; multiple CPU
in the same machine.
• Each CPU can be used to serve one program
which means that many task can be
accomplished in parallel.
• These OS are more complex than the ones with
single CPU.
©Brooks/Cole, 2003
5. Distributed System
• Networking has created a new operating
systems.
• In these system, jobs that was previously done
in one computer can be shared between
computers that are physically separated.
• In these OS, resources can be distributed.
©Brooks/Cole, 2003
7.3
COMPONENTS
©Brooks/Cole, 2003
Figure 7-2
Components of an operating system
©Brooks/Cole, 2003
Memory Manager
• Memory allocation must be managed to prevent
the “running out of memory ” syndrome.
• Operating systems can be divided into two broad
categories of memory management:
1. Monoprogramming
2. Multiprogramming.
©Brooks/Cole, 2003
Figure 7-3
Monoprogramming
• Not used anymore.
• Most of the memory is
dedicated to one single
program with only a small
part used to hold the
operating system.
• When a program finishes
running, it is replaced by
another program
©Brooks/Cole, 2003
Problems with monoprogramming
• The program cant run if the size of the
program is greater than the size of the
memory.
• When the program runs, no other program
can be executed.
©Brooks/Cole, 2003
Figure 7-4
Multiprogramming
• More than one
program are in the
memory and can be
executed concurrently.
• CPU switches between
the programs
©Brooks/Cole, 2003
Figure 7-5
Categories of multiprogramming
Programs stay in memory
during execution
Programs can swap
between memory and disk
during execution
©Brooks/Cole, 2003
Figure 7-6
Partitioning
Memory is divided
into sections. Each
holds a program
• CPU switches between programs. It starts with one program
and execute some instructions until either encounters I/O
operation or time for program run out. The CPU will save the
address of last instruction and move to the next program.
• CPU will get back to the first program after all programs are
served
©Brooks/Cole, 2003
Partitioning (Issues)
• Memory manager determines the partition size
 If partition sizes are small, programs cannot be
loaded in the memory.
 If partition sizes are large, there might be some
holes (unused locations) in the memory.
• When there are many holes, memory manager
removes the holes and create new partitions, this
would create extra overhead on the system.
©Brooks/Cole, 2003
Figure 7-7
Paging
Program is
divided into pages
Memory is divided
into equal sized
sections (frames)
• The size of the page and frame are the same and
equal to the size of the block used to retrieve data
from Disk.
• The page is loaded to the memory.
• The program doesn’t have to be contiguous
©Brooks/Cole, 2003
Paging (issues)
• Advantage of paging that it doesn’t need OS to
partition the memory as the size of programs
changes.
• Paging improves efficiency but the whole
program needs to be in memory before being
executed
©Brooks/Cole, 2003
Demand Paging
• Paging require the entire program to be in
memory. However demand paging, pages can
be loaded one by one, executed and then
replaced by new pages.
• Memory can hold one page from multiple
programs at the same time.
©Brooks/Cole, 2003
Demand Segmentation
• A program is usually made of a main program
and subprograms.
• In Demand Segmentation, the program is
divided into segments (modules) that match
the programmer’s view.
• Modules are loaded into the memory, executed
and replaced by another module from the same
or different program.
©Brooks/Cole, 2003
Demand Paging and segmentation
• A segment (module) may be too large to fit
any space in memory.
• In this case, module is divided into pages and
each page is loaded into memory and executed
one by one.
©Brooks/Cole, 2003
Figure 7-8
Virtual memory (swapping)- Example
Page (1 MB)
Program #1
Frame (1 MB)
#2
#3
24 MB
6 programs
each 4 MB
#4
6 MB
#5
#6
At one time, 1 MB of each
program is in the memory and 3
MB are in the Disk.
©Brooks/Cole, 2003
Process Manager
Operating system uses three terms;
• Program; A non active set of instruction that
stored in the disk.
• Job; is a program that is picked by the CPU for
execution.
• Process; is a program in execution.
©Brooks/Cole, 2003
Figure 7-9
State diagram with the boundaries
between a program, a job, and a process
©Brooks/Cole, 2003
Figure 7-10
Job scheduler
• Job scheduler is responsible for creating a
process from job and terminating a process.
©Brooks/Cole, 2003
Figure 7-11
Process scheduler
• Process scheduler moves a process from one
state to another.
©Brooks/Cole, 2003
Queuing
• There are many jobs and processes and process
competing with each other for computer resources.
• To handle multiple processes and jobs, the process
manager uses queues.
• Job control block stores information about jobs.
• Process control block stores information about
processes.
©Brooks/Cole, 2003
Figure 7-12
Queues for process management
• Process manager has different priority polices for
selecting the next job or process; FIFO, short first…
©Brooks/Cole, 2003
Process Synchronization
• The whole idea of process management is to
synchronize different processes with different
resources.
• Whenever resources are shared, two different
situations are created:
– Deadlock
– Starvation
©Brooks/Cole, 2003
Figure 7-13
Deadlock
©Brooks/Cole, 2003
Figure 7-14
Deadlock
• Deadlock occurs if all of the following conditions
are met:
1. Mutual Exclusion; only one process can hold
resources at a time.
2. Resource holding; process holds the resource until
other resource is released.
3. No pre-emption; the O. S. cant temporarily reallocate
resources.
4. Circular waiting; all processes and resources form a
loop.
©Brooks/Cole, 2003
Figure 7-15.a
Starvation
Starvation happens when OS puts too many restriction on resources
©Brooks/Cole, 2003
Figure 7-15.b
Starvation
©Brooks/Cole, 2003
Figure 7-15.c
Starvation
©Brooks/Cole, 2003
Figure 7-16
Dining philosophers-Dijkstra
©Brooks/Cole, 2003
Device Manager
accessing I/O devices
The device manager;
• Monitors every input/output device constantly
to assure it is functioning properly.
• Maintains a queue of each I/O devices or one
or more queues for similar I/O devices.
• Controls the different polices for accessing I/O
devices.
©Brooks/Cole, 2003
File Manager
accessing the files
The file manager
• Controls access file; access is permitted only to
those allowed, and the type of access can vary.
• Supervises the creation, deletion… of files
• Controls, naming.
• Manages where, how… files are stored.
• Responsible for archiving and backups.
©Brooks/Cole, 2003
User Interface
• User interface accepts requests from users and
interpret them to the rest of the O.S.
• User interface in Windows series is a
Graphical User Interface (GUI)
©Brooks/Cole, 2003
7.4
POPULAR
OPERATING
SYSTEMS
©Brooks/Cole, 2003