advanced operating systems

37
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

Upload: others

Post on 23-Dec-2021

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Advanced Operating Systems

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

Page 2: Advanced Operating Systems

2

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

Page 3: Advanced Operating Systems

3

1Introduction to Distributed

Systems and Distributed

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

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

Page 4: Advanced Operating Systems

4

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

Page 5: Advanced Operating Systems

5

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

Page 6: Advanced Operating Systems

6

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 7: Advanced Operating Systems

7

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

Page 8: Advanced Operating Systems

8

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

Page 9: Advanced Operating Systems

9

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

Page 10: Advanced Operating Systems

10

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

Page 11: Advanced Operating Systems

11

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

Page 12: Advanced Operating Systems

12

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 13: Advanced Operating Systems

13

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

Page 14: Advanced Operating Systems

14

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.

Page 15: Advanced Operating Systems

15

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

Hardware Concepts

1.6

Different basic organizations and memories in distributed computer

systems

Page 16: Advanced Operating Systems

16

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

Page 17: Advanced Operating Systems

17

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

Page 18: Advanced Operating Systems

18

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 19: Advanced Operating Systems

19

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

Page 20: Advanced Operating Systems

20

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

Page 21: Advanced Operating Systems

21

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

Page 22: Advanced Operating Systems

22

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

Page 23: Advanced Operating Systems

23

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

Page 24: Advanced Operating Systems

24

Network Operating System (1)

General structure of a network operating system.

1-19

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

Page 25: Advanced Operating Systems

25

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

Page 26: Advanced Operating Systems

26

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

Page 27: Advanced Operating Systems

27

Positioning Middleware

General structure of a distributed system as middleware.

1-22

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

Page 28: Advanced Operating Systems

28

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

Page 29: Advanced Operating Systems

29

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

Page 30: Advanced Operating Systems

30

Clients and Servers

General interaction between a client and a server.

1.25

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

Page 31: Advanced Operating Systems

31

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

Page 32: Advanced Operating Systems

32

An Example Client and Server (2)

A sample server.

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

Page 33: Advanced Operating Systems

33

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

Page 34: Advanced Operating Systems

34

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

Page 35: Advanced Operating Systems

35

Multitiered Architectures (1)

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

1-29

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

Page 36: Advanced Operating Systems

36

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 37: Advanced Operating Systems

37

Modern Architectures

An example of horizontal distribution of a Web service.

1-31

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