advanced operating systems - sharifce.sharif.edu/courses/90-91/1/ce533-1/resources/root/lecture...
TRANSCRIPT
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
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
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
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
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
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
7
Modern Architectures
An example of horizontal distribution of a Web service.
1-31
OS2-Sharif University of Technology - Sem1-89-90; R. Jalili