distributed system services fall 2008 siva josyula [email protected]

28
Distributed System Services Fall 2008 Siva Josyula [email protected]

Upload: octavia-richardson

Post on 17-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

Distributed System Services

Fall 2008

Siva Josyula

[email protected]

Page 2: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

Outline

What is an Operating System?Components of a computer system.Why operating system services?Services provided.Other services provided.References.

Page 3: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

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.

Page 4: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

Components of a Computer System

Page 5: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

Components Continued…

Components of a computer-

HardwareOperating System.Application Programs.Users.

Page 6: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

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).

Page 7: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

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.

Page 8: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

Services Provided

The following are the services provided by the operating system.

Program ExecutionI/O OperationsFile-system manipulationCommunications

Page 9: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

Continued…

Error DetectionResource AllocationAccountingProtection

Page 10: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

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.

Page 11: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

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.

Page 12: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

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.

Page 13: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

Communications

Every process needs to exchange information with another process.

Communications may be implemented via shared memory or by the technique of message passing.

Page 14: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

Continued…

Communications occurs in two ways.

Within processes executing on the same computer.

Between processes executing on different computers, tied together by a network.

Page 15: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

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.

Page 16: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

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.

Page 17: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

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.

Page 18: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

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.

Page 19: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

Other Services providedThe other major services provided by the operating system are:

Memory Management

Process Management

CPU Scheduling

Primitive Services

Services by system servers

Value-added Services

Page 20: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

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.

Page 21: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

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.

Page 22: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

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 synchronizationprocess communication

Page 23: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

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.

Page 24: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

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.

Page 25: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

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.

Page 26: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

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.

Page 27: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

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.

Page 28: Distributed System Services Fall 2008 Siva Josyula sjosyula1@student.gsu.edu

THANK YOU