Transcript Document

Distributed System Services
Fall 2008
Siva Josyula
[email protected]
Outline
 What is an Operating System?
 Components of a computer system.
 Why operating system services?
 Services provided.
 Other services provided.
 References.
What is an Operating System???
A program acting as an intermediary
between the user and the hardware.
Purpose: To provide an environment, where
user can execute programs in a convenient
and efficient manner.
The operating systems provides certain
services to the users to make their tasks
easier.
Components of a Computer
System
Components Continued…
Components of a computer-
Hardware
Operating System.
Application Programs.
Users.
Continued…
 Hardware – provides basic computing resources like
CPU, memory, I/O devices.
 Operating system – OS controls and coordinates the
use of the hardware among the various application
programs for different users.
 Applications programs – They define the ways in
which the system resources are used to solve the
computing problems of the users.
 Users (people, machines, other computers).
Why Operating System Services?
OS provides an environment for the executions of
the programs.

Services
are provided for the convenience of the
programmer , to make the programming task easier.
Services
provided differ from one operating system
to another operating system.
Services Provided
The following are the services provided by the
operating system.
Program Execution
I/O Operations
File-system manipulation
Communications
Continued…
 Error Detection
 Resource Allocation
 Accounting
 Protection
Program Execution
Operating
system must be able to load a
program into memory and to run that
program.
The
program must be able to end its
execution, either normally or abnormally.
Services– I/O Operations
Running program may require I/O , which may
involve a file or an I/O Device.
For some devices, special functions may be desired
(like rewinding a tape drive or to blank a CRT screen)
For efficiency and protection purposes, the users
usually are not able to control the I/O devices.
So it is the duty of the operating system to provide a
means for the I/O since users cannot execute them
directly.
File-System Manipulation
Programs need to read and write files.
Programs also need to create and delete files by
name.
The operating system handles the process of
creating, deleting and manipulating files.
Communications
Every process needs to exchange information
with another process.
Communications may be implemented via
shared memory or by the technique of message
passing.
Continued…
 Communications occurs in two ways.

Within processes executing on the same computer.

Between processes executing on different
computers, tied together by a network.
Error Detection
 Errors can happen any time in the system.
 Errors can occur in the CPU ,memory hardware ,I/O Devices ,and in
the user program.
 For each type of error ,the operating system should take the
appropriate action to ensure correct and consistent computing , by
detecting the errors.
Resource Allocation
Multiple jobs run at the same time so resources must be
allocated to each one of them.

Many different types of resources are managed by the
operating system.

Some
have special allocation code, whereas others have
general request and release code.
The
operating systems have various routines for different jobs in
the system, for example CPU scheduling.
Accounting
We need to keep track of which user keeps track of how many
and which kind of computer resources.

This tracking of user information can be used to find out the
usage statistics.

These usage statistics are useful for the researchers who wish
to re-configure the system to improve computing services.

Protection
Protection and Security is an important issue in multi-user
computer systems.

Protection involves in ensuring that all access to system
resources is controlled.


Protection of the system from outside users is also important.
 Access
to the resources must be authenticated with a
password.
Other Services provided
The other major services provided by the operating system are:

Memory Management

Process Management

CPU Scheduling

Primitive Services
Services
by system servers
Value-added
Services
Memory Management
The
method of keeping track of how and where programs are
loading into the main memory.
Memory is a large array of words or bytes, each with its own
address.

It is a repository of quickly accessible data shared by the CPU
and I/O devices.

Continued…
 The operating system is responsible for the following activities :
→Keeping track as to which parts of memory are currently
being used and by which user.
→Decide which processes need to be loaded when
memory space becomes available.
→Allocate and de-allocate memory space as and when it is
required.
Process Management
 A process is a program in execution.
 Each process needs certain resources, including CPU time,
memory, files, and I/O devices, to accomplish its task.
The OS is responsible for the following activities in connection
with process management.
→Process suspension and resumption.
→Providing mechanisms for:
process synchronization
process communication
CPU Scheduling
 The method of determining which process in memory is
given access to the CPU so that it makes computational
progress.
 Two kinds of CPU Scheduling:
→Preemptive Scheduling-Scheduling that occurs
when the operating system decides to favor another process,
preempting the currently executing process.
→Non-Preemptive Scheduling-Scheduling that occurs
when the currently executing process gives up the CPU
voluntarily.
Primitive Services
 Primitive services are those services that must be implemented
in the kernel of each node in the system.
 Communications is done through message passing, a defined
set of send and receive primitives.
 Process Servers manages creation, deletion and tracking of
processes by allocating necessary resources.
Services by system servers.
 Services that can be implemented anywhere in the system and
performs the functions which is basic to the operation of a
distributed system.

Name servers used to locate users, processes or machines.
 Network servers used to give details about path selection, and
routing information.
 Migration servers, used to cooperate with process server and
helps in moving of process form node to node.
Value-added services
 Services that are not needed in the implementation of a
Distributed System but useful in supporting Distributed
Application
 Group server, used for creation and termination of group
activities.
 Web Server, is good because of its simplicity.
References
 Distributed operating systems & Algorithms, By Randy chow,
Theodore Johnson. 1998.
 Operating System Concepts 6th ed - Silberschatz Galvin,
Gagne.
 Computer science illuminated, second edition, By Nell dale,
John Lewis. 2004.
Google.
THANK YOU