Download in memory

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Copland (operating system) wikipedia , lookup

RSTS/E wikipedia , lookup

VS/9 wikipedia , lookup

Spring (operating system) wikipedia , lookup

Distributed operating system wikipedia , lookup

CP/M wikipedia , lookup

Burroughs MCP wikipedia , lookup

Process management (computing) wikipedia , lookup

Paging wikipedia , lookup

Transcript
Chapter 7
Operating
Systems
OBJECTIVES
After reading this chapter, the reader should
be able to:
Define the purpose and functions of an operating system.
Understand the components of an operating system.
Understand the concept of virtual memory.
Understand the concept of deadlock and starvation.
List some of the characteristics of popular operating systems
such as Windows 2000, UNIX, and Linux.
Computer System


Application programs –
use the computer hardware to solve users’ problems.
Operating systems –
control the access of hardware by users.
7.1
DEFINITION
Note:
An operating system
is an interface between
the hardware of a computer and
the user (program or human)
that facilitates
the execution of the other programs and
the access to hardware and
software resources.
Note:
Goals of An operating system
1. Efficient use of hardware
2. Easy to use resources.
7.2
EVOLUTION
Batch systems
Card-reader + line-printer + tape-drive
 Job – a program to be executed.

Time-sharing systems

Multiprogramming
 Hold
several jobs in memory
 Only assign a resource to a job that needs it
on the condition that the resource is available.

Time-sharing –
Resources can be shared between different jobs.
Each job can be allocated a portion of time to use
the resource.
Time-sharing systems

Scheduling –
allocating the resources to different programs and
deciding which program should use which resource
when.
A job is a program to be run.
 A process is a program that is
in memory and waiting for resources.

program
job
process
Personal systems
Personal computer
 Single-user operating systems.

Parallel systems
Multiple CPUs on the same machine.
 Each CPU can be used to serve
one program or
a part of a program.
 Many tasks can be accomplished in parallel
instead of serially.

Distributed systems
A program can be run
partially on one computer and
partially on another computer
if they are connected through an internetwork
such as the Internet.
 Resources can distributed.

7.3
COMPONENTS
Components of an operating system

User Interface (Shell)
is responsible for communication outside the OS.
Memory Manager

Memory management
 Monoprogramming
 Multiprogramming

Memory allocation must be managed to
prevent the “running out of memory” syndrome.
Monoprogramming
Most of the memory capacity is
dedicated to one single program.
 The whole program is in memory
for execution.
 When the program finishes running,
it is replaced by another program.

Monoprogramming

Memory manager
 Load
the program into memory
 Run it
 Replace it with the next program

Problems of Monoprogramming
 The
program must fit in memory.
 When the I/O operations are being carried out,
the CPU is idle.
Multiprogramming

More than one program is in memory
at the same time, and
they are executed concurrently.

The CPU
switches between the programs.
Categories of multiprogramming


Nonswapping –
the program remains in memory during execution.
Swapping –
the program can be swapped between memory and
disk one or more times during execution.
Partitioning



Memory is divided into variable length sections.
Each program is entirely in memory and occupying
contiguous locations.
The CPU switches between programs.
It executes some instructions until it either
 encounters an I/O operation or
 the allocated time has expired.

Fragmentation
fragmentation – memory space that is internal to
a partition, but is not being used.
 external fragmentation – Enough memory space exists
but not contiguous.
 internal
Partitioning
Paging





Memory is divided into
equally sized sections called frames.
The program is divided into
equally sized sections called pages.
The program does not have to be contiguous in
memory.
The whole program still needs to be in memory
before being executed.
Fragmentation
 internal fragmentation – the last frame.
 No external fragmentation – Allows non-contiguous
allocation.
Paging
Demand Paging & Demand Segmentation
Demand Paging The pages can be loaded into memory
one by one on demand.
 Demand Segmentation –
The program is divided into segments that
match the programmer’s view (modules).
 Demand Paging and Segmentation

Virtual memory


Demand Paging & Demand Segmentation –
Part of the program is in main memory and
part is on the disk.
A physical memory size of 10MB
can execute 10 programs, each of size 3MB.
→ A virtual memory size of 30MB.
Process manager


Program – a nonactive set of instructions stored on disk.
Job – a program becomes a job
from the moment it is selected for executed
until it has finished running and becomes a program again.
 May






be
Residing on disk (Hold)
In memory waiting for an I/O event (Waiting)
In memory waiting for execution (Ready)
In memory while being executed by CPU (Running)
Has finished executing and becomes a program again (Terminated)
Process - a program in execution
- a job in memory
State diagram

A process in the running state, one of three tings can happen:

exhausts its allocated slot of time
 execute until it needs I/O
 terminated

Process manager uses two schedulers
to move a job/process from one state to another:
scheduler –
 create a process from a job
 terminate a process
 Process scheduler –
move a process from one state to another.
 Job
Job scheduler
Process scheduler

Queuing (waiting list)




Process manager uses queues to handle multiple processes/jobs
 Waiting for CPU (Ready queue)
 Waiting for memory (Job queue)
 Waiting for I/O device (I/O queue)
JCB/PCB (Job control block/Process control block) –
store information about that job/process
Process manager stores the JCB/PCB in the queues
instead of the job/process itself.
Process manager can have different policies
for selecting next job/process from a queue.
 FIFO(First
In First Out)
 Shortest length first
 Priority
Queues for process management
Process Synchronization

Process management –
synchronize different processes with different resources.

Deadlock – occurs if OS
 allows
a process to start running without first checking to see
if the required resources are ready and
 allows the process to hold it as long as it want.

Four necessary conditions for deadlock:





Mutual exclusion –
only one process can hold a resource
Resource holding –
a process holds a resource even though it cannot use it until other
resources are available.
No preemption –
OS cannot temporarily reallocate a resource
Circular wait –
all processes and resources involved form a loop
Don’t allow anyone to happen.
Deadlock
Deadlock on a bridge
Note:
Deadlock
occurs when OS does not put resource
restrictions on processes.
Dining philosophers
Starvation

Starvation – It can happen when OS
puts too many resource restrictions on a process.

[ex.] OS specifies
possession of all the required resources
before a process can be run
Starvation
Starvation
Figure 7-15.c
Starvation
Device manager

I/O manager –
is responsible for access to I/O devices.
 Assure
that the devices are functioning properly.
 Maintain queues
 Control scheduling policies
File manager
controls access to the files.
 Creation/deletion/modification
 Naming
 Storage of files
 Archiving and backup


Archive –
copy files to a long-term storage medium for backup.
7.4
POPULAR
OPERATING
SYSTEMS
Popular Operating Systems

Windows 2000
 GUI
 Virtual
memory
 Multiprogramming

UNIX
 Portable
OS (written mostly in C)
 A powerful set of utilities (commands)
 Device independent (include device drivers in OS itself)

Linux
 Based
on UNIX
 Make UNIX more efficient when run on an Intel
microprocessor