Download Operating systems

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

Spring (operating system) wikipedia , lookup

RSTS/E wikipedia , lookup

Copland (operating system) wikipedia , lookup

Distributed operating system wikipedia , lookup

VS/9 wikipedia , lookup

CP/M wikipedia , lookup

Paging wikipedia , lookup

Transcript
1
OPERATING SYSTEMS
Networks and
Communication
Department
Lecture 3: we will explore the role of the
operating system in a computer
Outline



Define the operating system
Discuss the process of bootstrapping
Identify the components of an operating system




Memory manager
Process manager
Device manager
File manager
Networks and Communication Department
Computer System
Networks and Communication Department
7.4 7.1 A computer system
Figure
Computer System

A computer is a system composed of 2 major
components:

hardware and software.

Computer hardware: is the physical equipment.

Software is the collection of programs that
allows the hardware to do its job.
Networks and Communication Department
Computer System
Computer software is divided into 2 broad
categories:
 The
operating system and application
programs
 Application
programs: use the computer
hardware to solve users’ problems.
 The operating system: controls the access to
hardware by users.

Networks and Communication Department
Operating System Introduction
Networks and Communication Department
Operating System
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
Two major design goals of an operating system are:

Efficient use of hardware.

Ease of use of resources.
Networks and Communication Department
Bootstrap Process
Networks and Communication Department
Bootstrap Process


The operating system 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?
Networks and Communication Department
What is the Bootstrap process?


So a very small section of memory is made of ROM
and holds a small program called the bootstrap
program (Firmware).
The program is only responsible for loading the
operating system itself, or that part of it required to
start up the computer, into RAM memory.
Networks and Communication Department
Bootstrap Process
1.
2.
When the computer is turned on, the CPU counter
(a type of the CPU registers) 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.
Networks and Communication Department
7.13
Figure
7.2 The bootstrap process
The typical components of an operating
system
Networks and Communication Department
Operating System Components



Today’s operating systems are very complex.
An operating system needs to manage different
resources in a computer system.
It resembles an organization with several managers
at the top level.
Networks and Communication Department
Operating System Components


Each manager is responsible for managing
their department, but also needs to cooperate
with others and coordinate activities.
A modern operating system has at least four
duties: memory manager, process manager,
device manager and file manager.
Networks and Communication Department
OS Components- 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.
Networks and Communication Department
User Operating System Interface - CLI

Command Line Interface (CLI) or command
interpreter allows direct command entry
 Which
is an operating system shell that uses
alphanumeric characters typed on a keyboard to
provide instructions and data to the operating system,
interactively.
Networks and Communication Department
User Operating System Interface - GUI

User-friendly desktop metaphor interface




Usually mouse, keyboard, and monitor
Icons represent files, programs, actions, etc
Various mouse buttons over objects in the interface cause various
actions (provide information, options, execute function, open
directory (known as a folder)
Many systems now include both CLI and GUI interfaces



Microsoft Windows is GUI with CLI “command” shell
Apple Mac OS X as “Aqua” GUI interface with UNIX kernel
underneath and shells available
Solaris is CLI with optional GUI interfaces (Java Desktop, KDE)
Networks and Communication Department
OS Components- Memory manager



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.
Networks and Communication Department
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.

Networks and Communication Department
Monoprogramming
Figure shows memory in
Monoprogramming a environment
Networks and Communication Department
Monoprogramming (Cont.)

There are several problems with this technique:
If the size of memory is less than the size of the program,
can the program run?


the program cannot be run
Inefficient use of memory and CPU time
Networks and Communication Department
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

Networks and Communication Department
Multiprogramming
Figure shows memory in a multiprogramming
environment
Networks and Communication Department
Categories of multiprogramming
Networks and Communication Department
Multiprogramming (Cont.)
Networks and Communication Department
Multiprogramming (Cont.)

Nonswapping category:
 This
means that the program remains in
memory for the duration of execution
 Two
techniques belong to the this category:
 Partitioning
 paging
Networks and Communication Department
Multiprogramming (Cont.)

Swapping category:
 This
means that, during execution, the
program can be swapped between memory
and disk one or more times.
 Two
techniques belong to the this category:
 Demand
paging
 Demand
segmentation
Networks and Communication Department
Partitioning

The first technique used in multiprogramming.

Memory is divided into variable length sections

Each section or partition holds one program

The CPU switches between programs

With this technique, each program is entirely in
memory and occupying contiguous locations
Networks and Communication Department
Partitioning- how its work ?!
1.
2.
3.
4.
The CPU starts with one program, executing some
instructions until it either encounters an input/output
operation or the time allocated for that program has
expired
Then, it saves the address of the memory location
where the last instruction was executed and moves to
the next program.
The same procedure is repeated with the second
program
After all the programs have been served, the CPU
moves back to the first program
Networks and Communication Department
Partitioning- how its work ?! (Cont.)


Priority levels can be used to control the amount of
CPU time allocated to each program
Its improves the efficiency of the CPU, but there are
still some issues
Networks and Communication Department
Partitioning- how its work ?! (Cont.)
Figure shows memory with
partitioning technique
Networks and Communication Department
Partitioning issues

The size of the partitions has to be determined
beforehand by the memory manager
what will happen if partition sizes are small or large?!

The memory manager can compact the partitions to
remove the holes and creates new partitions, but this
creates extra overhead on the system
Networks and Communication Department
Paging




Paging improves the efficiency of partitioning
Memory is divided into equally sized sections called
frames
Programs are also divided, into equally sized
sections called pages
The size of a page and frame is usually the same
and equal to the size of the block used by the
system to retrieve information from a storage
device
Networks and Communication Department
Paging - how its work!!



A page is loaded into a frame in memory
The program does not have to be contiguous in
memory
There is no need for the new program to wait
until set of contiguous frames are free before
being loaded into memory
Networks and Communication Department
Paging - how its work!!
Figure shows memory with paging technique
Networks and Communication Department
Paging issues

The whole program still needs to be in memory
before being executed

Ex: A program has six pages, cannot be loaded into
memory if there are only four unoccupied frames
Networks and Communication Department
Demand paging

In this technique the program is divided into
pages

but the pages can be loaded into memory one
by one, executed, and replaced by another
page.

In addition, a page can be loaded into any
free frame
Networks and Communication Department
Demand paging (Cont.)

An example of demand paging is shown in figure
below. Two pages from program A, one page from
program B, and one page from program C are in
the memory
Networks and Communication Department
Demand segmentation





A technique similar to paging is segmentation
A programmer thinks in terms of modules
 A program is usually made up of a main program
and subprograms
In demand segmentation, the program is divided into
segments that match the programmer’s view
These are loaded into memory, executed, and
replaced by another module from the same or a
different program
since segments in memory are of equal size, part of a
segment may remain empty
Networks and Communication Department
Demand segmentation
An example of demand
segmentation is shown in figure
Networks and Communication Department
Demand paging and segmentation




Demand paging and segmentation can be
combined to further improve the efficiency of the
system
A segment may be too large to fit any available
free space in memory
Memory can be divided into frames, and module
can be divided into pages
The pages of a module can then be loaded into
memory one by one and executed
Networks and Communication Department