advanced operating systems - sharifce.sharif.edu/courses/90-91/1/ce533-1/resources/root/lecture...

7
1 Advanced Operating Systems Welcome to this course, in Fall Semester 1389-90 Main TextBooks 1- Tanenbaum’s book 2- Chow’s Book 3- Singhal’s Book Other extra references: 1- Attieh’s book 2- Lynch’s book OS2-Sharif University of Technology - Sem1-90-91; R. Jalili Advanced Operating Systems Assistants: to be announced. • Evaluation: – Mid-Term Exam – Project – Review Paper – Final Exam The course Home page and Mailing-list … Office Hours: Sunday and Tuesday 8 - 9 OS2-Sharif University of Technology - Sem1-89-90; R. Jalili 1 Introduction to Distributed Systems and Distributed Operating Systems (DOSs) (From Tanenbaum’s Book) OS2-Sharif University of Technology - Sem1-89-90; R. Jalili Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system. OS2-Sharif University of Technology - Sem1-89-90; R. Jalili OS2-Sharif University of Technology - Sem1-90-91; R. Jalili Definition of a Distributed System (2) A distributed system organized as middleware. Note that the middleware layer extends over multiple machines. 1.1 Goals in DSs Connecting Users and Resources • Transparency • Openness • Scalability Will be discussed in the next slides. OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Upload: doandung

Post on 11-Apr-2018

232 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Advanced Operating Systems - Sharifce.sharif.edu/courses/90-91/1/ce533-1/resources/root/Lecture Notes... · Advanced Operating Systems ... The difference between letting: a) ... Tightly-coupled

1

Advanced Operating Systems

• Welcome to this course, in Fall Semester 1389-90

• Main TextBooks

1- Tanenbaum’s book

2- Chow’s Book

3- Singhal’s Book

• Other extra references:

1- Attieh’s book

2- Lynch’s book

OS2-Sharif University of Technology - Sem1-90-91; R. Jalili

Advanced Operating Systems

• Assistants: to be announced.

• Evaluation:

– Mid-Term Exam

– Project

– Review Paper

– Final Exam

• The course Home page and Mailing-list …

• Office Hours: Sunday and Tuesday 8 - 9

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

1Introduction to Distributed

Systems and Distributed

Operating Systems (DOSs)(From Tanenbaum’s Book)

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Definition of a Distributed System (1)

A distributed system is:

A collection of independent computers that appears to its

users as a single coherent system.

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

OS2-Sharif University of Technology - Sem1-90-91; R. Jalili

Definition of a Distributed System (2)

A distributed system organized as middleware.

Note that the middleware layer extends over multiple machines.

1.1

Goals in DSs

• Connecting Users and Resources

• Transparency

• Openness

• Scalability

Will be discussed in the next slides.

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Page 2: Advanced Operating Systems - Sharifce.sharif.edu/courses/90-91/1/ce533-1/resources/root/Lecture Notes... · Advanced Operating Systems ... The difference between letting: a) ... Tightly-coupled

2

OS2-Sharif University of Technology - Sem1-90-91; R. Jalili

Transparency in Distributed Systems

Different forms of transparency in a distributed system.

Transparency Description

AccessHide differences in data representation and how a resource is accessed

Location Hide where a resource is located

Migration Hide that a resource may move to another location

RelocationHide that a resource may be moved to another location while in use

ReplicationHide that a resource may be shared by several competitive users

ConcurrencyHide that a resource may be shared by several competitive users

Failure Hide the failure and recovery of a resource

PersistenceHide whether a (software) resource is in memory or on disk

Degree of Transparency

• Is transparency good anytime and everywhere?

• Tradeoff between transparency and performance.

- Updating a replicated database!

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Openness

• Offering services based on standards.

• Services are specified through interfaces,

described in IDL (Interface Definition Language)

• Interoperability: two implementations of a system

to co-exist and work together; or

multiple systems developed by different vendors

to be able to work with each other.

• Portability: An application developed to work on

A can be executed on another system B.

• Separating policy from mechanismOS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Scalability

• Definition of an scalable system?

• 3 different dimensions

– Size: Adding more users and resources to the system.

– Geography: Users and resources can lie far apart.

– Administration: Many administration organization!

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

OS2-Sharif University of Technology - Sem1-90-91; R. Jalili

Scalability Obstacles

Examples of scalability limitations.

Concept Example

Centralized services A single server for all users

Centralized data A single on-line telephone book

Centralized algorithms Doing routing based on complete information

Scalability Solutions

1. Hiding communication latencies: try to avoid waiting

for responses to remote service requests � Use

Asynchronous Communication

• Many applications cannot run on an asynch communication

system

• Next slide example.

2. Distribution: DNS as example

3. Replication: Caching and consistency!

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Page 3: Advanced Operating Systems - Sharifce.sharif.edu/courses/90-91/1/ce533-1/resources/root/Lecture Notes... · Advanced Operating Systems ... The difference between letting: a) ... Tightly-coupled

3

OS2-Sharif University of Technology - Sem1-90-91; R. Jalili

Scaling Techniques (1)

1.4

The difference between letting:

a) a server or

b) a client check forms as they are being filled

OS2-Sharif University of Technology - Sem1-90-91; R. Jalili

Scaling Techniques (2)

1.5

An example of dividing the DNS name space into zones.

OS2-Sharif University of Technology - Sem1-90-91; R. Jalili

Hardware Concepts

1.6

Different basic organizations and memories in distributed computer

systems

Multiprocessors

A bus-based multiprocessor.

1.7

• Memory is Coherent.

• The bus is overloaded.

• Caching: hit-rate?

• Scalability?

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Software Concepts

An overview of

• DOS (Distributed Operating Systems)

• NOS (Network Operating Systems)

• Middleware

System Description Main Goal

DOSTightly-coupled operating system for multi-processors and homogeneous multicomputers

Hide and manage hardware resources

NOSLoosely-coupled operating system for heterogeneous multicomputers (LAN and WAN)

Offer local services to remote clients

MiddlewareAdditional layer atop of NOS implementing general-purpose services

Provide distribution transparency

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Uniprocessor Operating Systems

Separating applications from operating

system code through

a microkernel.1.11

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Page 4: Advanced Operating Systems - Sharifce.sharif.edu/courses/90-91/1/ce533-1/resources/root/Lecture Notes... · Advanced Operating Systems ... The difference between letting: a) ... Tightly-coupled

4

Multiprocessor Operating Systems (1)

A monitor to protect an integer against concurrent access.

monitor Counter {

private:

int count = 0;

public:

int value() { return count;}

void incr () { count = count + 1;}

void decr() { count = count – 1;}

}

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Multiprocessor Operating Systems (2)A monitor to protect an integer against concurrent access, but

blocking a process.

monitor Counter {

private:

int count = 0;

int blocked_procs = 0;

condition unblocked;

public:

int value () { return count;}

void incr () {

if (blocked_procs == 0)

count = count + 1;

else

signal (unblocked);

}

void decr() {

if (count ==0) {

blocked_procs = blocked_procs + 1;

wait (unblocked);

blocked_procs = blocked_procs – 1;

}

else

count = count – 1;

}

}

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Multicomputer Operating Systems (1)

General structure of a multicomputer operating system

Message Passing

1.14

OS2-Sharif University of Technology - Sem1-90-91; R. Jalili

Distributed Shared Memory Systems (1)

a) Pages of address

space distributed

among four

machines

b) Situation after CPU

1 references page 10

c) Situation if page 10

is read only and

replication is used

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

DSM – An Interesting Scenario!

False sharing of a page between two independent processes.

1.18

False Sharing!

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Network Operating System (1)

General structure of a network operating system.

1-19

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Page 5: Advanced Operating Systems - Sharifce.sharif.edu/courses/90-91/1/ce533-1/resources/root/Lecture Notes... · Advanced Operating Systems ... The difference between letting: a) ... Tightly-coupled

5

Network Operating System (2)

Two clients and a server in a network operating system.

1-20

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Network Operating System (3)Different clients may mount the servers in different places.

1.21

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Positioning Middleware

General structure of a distributed system as middleware.

1-22

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Middleware and Openness

In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications.

1.23

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Comparison between Systems

Item

Distributed OSNetwork

OSMiddleware-

based OSMultiproc. Multicomp.

Degree of transparency Very High High Low High

Same OS on all nodes Yes Yes No No

Number of copies of OS 1 N N N

Basis for communicationShared memory

Messages Files Model specific

Resource managementGlobal, central

Global, distributed

Per node Per node

Scalability No Moderately Yes Varies

Openness Closed Closed Open Open

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Clients and Servers

General interaction between a client and a server.

1.25

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Page 6: Advanced Operating Systems - Sharifce.sharif.edu/courses/90-91/1/ce533-1/resources/root/Lecture Notes... · Advanced Operating Systems ... The difference between letting: a) ... Tightly-coupled

6

An Example Client and Server (1)The header.h file used by the client and server.

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

An Example Client and Server (2)

A sample server.

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

An Example Client and Server (3)

A client using the server to copy a file.

1-27 b

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Application Layering:Processing LevelThe general organization of an Internet

search engine into three different layers

1-28

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Multitiered Architectures (1)

Alternative client-server organizations (a) – (e).

1-29

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Multitiered Architectures (2)

An example of a server acting as a client.

1-30

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili

Page 7: Advanced Operating Systems - Sharifce.sharif.edu/courses/90-91/1/ce533-1/resources/root/Lecture Notes... · Advanced Operating Systems ... The difference between letting: a) ... Tightly-coupled

7

Modern Architectures

An example of horizontal distribution of a Web service.

1-31

OS2-Sharif University of Technology - Sem1-89-90; R. Jalili