DoS - Unit 1
DoS - Unit 1
DoS - Unit 1
[CS0445]
Dr Vidya Raj C
Professor CSE
Course Structure
Code: CS0445
Credits : 4
Unit 1 - Introduction to DS
Unit 2 - Synchronization in DS – sync algos
Unit 3 - Synchronization in DS – election algos
Unit 4 - Threads and processor allocation
Unit 5 - Distributed file systems
Unit 6 - Distributed shared memory
Text Book: Distributed OS – Andrew S Tanenebaum
Ref Book: DS, concepts and design - Dollimore
Course relevance
• Distributed applications around us - use data
which are inherently distributed
• For effective use of these applications
distributed systems are designed and used
What is a distributed system?
• Is a collection of autonomous computers that
appear to the users of the system as a single
computer
– linked by a computer network
– equipped with distributed system software
• Possible
– Development of powerful MPs
– Invention of high speed networks
Why distributed systems?
• Helps in resource sharing and making usage
efficient and cost effective
2. Communication network
– Load variation on network
• Tendency to loose messages
• Network saturation
3. Security
– Easy access to data / data sharing
– Need for special security mechanisms
Key characteristics of DS
1. Resource sharing
2. Openness
3. Concurrency
4. Scalability
5. Fault tolerance
6. Transparency
Resource sharing
• Resource types
• Advantage of resource sharing
– Convenience of usage
– Reduces cost on resources
– Data consistency
– Exchange of information
• 2 Models
– Client - Server
– Object - based
Openness
• How a system can be extended?
• System - open or closed wrt h/w or s/w
• Openness is achieved
– publishing key interfaces and specifications
– standardization of interfaces
– provision for uniform IPC and std communication
protocols for access – extension of services and
resources
• Solve system integration problems
Concurrency
• Implies co-existence
• Multi-programming and Multi-processing
• Parallel executions in distributed systems
– Many computers with one or more CPU, each CPU is
able to run processes in parallel
– When several clients access the same resources
concurrently, the server process must synchronize their
actions to ensure they do not conflict
Location transparency
all resources are accessed without the knowledge
of their location
Concurrency transparency
enables hiding the fact that multiple users could
be accessing and sharing the same resource at the
same time
Replication transparency
enables hiding the fact that more than one copy
or instance of a resource may exist
Failure transparency
enables hiding the fact that parts of the system
may fail and still allow the users to access the
resources
Migration transparency
hiding the fact that a resource or info object might
move from one place to another
Performance transparency
as load in the system varies, the system might be
reconfigured to improve performance and it is done
transparently
Scaling transparency
the system and applications are allowed to expand
without changing the system structure or application
algorithm
DS Hardware Concepts
• Flynn’s taxonomy
– Number of instruction streams
– Number of data streams
1. SISD
2. SIMD
3. MISD
4. MIMD
Taxonomy Of Parallel And Distributed Systems
Classification of DS
• Multiprocessor
– Consists of two or more CPUs that share a
common memory
– Communication is though shared memory
BUS
Classification of DS
• Multicomputer
– Consists of two or more CPUs, each CPU has its
private memory
– Communication is though message passing
N/W
Multiprocessors
1. Bus-based multiprocessors
2. Switched multiprocessors
Bus-based multiprocessors
• Consists of some CPUs generally 32 or 64
numbers, all connected to a common bus
along a memory module
Bus-based multiprocessors
• Presence of shared memory memory
coherence
Problem:
Single bus used bus contention
– bus overloading and performance
degradation
Solution - ?
Bus-based multiprocessors
In this design,
cache hits for READS do not cause bus traffic, while
cache miss for READS and all WRITES cause bus traffic
Bus-based multiprocessors
• All caches constantly monitor the bus
– Whenever a cache sees a WRITE happening to a memory
address present in its cache, it either removes that entry
from its cache or updates the cache entry with new value.
– This is known as Snoopy Cache
• Disadvantage
– With n CPUs and n memories, n x n = n2 cross point
switches are needed. For large n it becomes expensive
Omega Switching Network
Omega Switching Network
• For 2 Input and 2 output ports, the network contains
4, 2x2 switches where each switch can route either
input to either output
N/W
MEM
CPU
Multicomputer
1. Network OS
2. Distributed OS
3. Multiprocessor OS
Network OS
• Loosely-coupled S/W on Loosely-coupled H/W
• Each machine can run its own OS with its own
application
• Designed primarily to support WS, PC connected to
LAN
• Client- Server and Peer to Peer networking models
• Possible to access and manage remote resources
• Communication through shared file systems, with
agreed upon communication protocol
• Eg Windows NT, Novel Netware
Distributed OS
• Tightly-coupled S/W on Loosely-coupled H/W
• Goal is to create a single system image in a
distributed environment.
– A single, global IPC through agreed upon protocols
– Global protection scheme is a must
– Process management must be same
– Global file system with well defined semantics
– No shared memory