SlideShare ist ein Scribd-Unternehmen logo
1 von 64
Downloaden Sie, um offline zu lesen
Distributed Operating System and
File System
Deepak John
Department Of I.T,CE-Poonjar
Introduction
Distributed OS
I. Presents users (and applications) with an integrated
computing platform that hides the individual computers.
II. Has control over all of the nodes (computers) in the network
and allocates their resources to tasks without user
involvement.
III. the user doesn't know (or care) where his programs are
running.
Ex:Cluster computer systems,V system, Sprite
Deepak John,CE-Poonjar
Operating System layer
Applications, services
Computer &
Platform
Middleware
OS: kernel,
libraries &
servers
network hardware
OS1
Computer &
network hardware
Node 1 Node 2
Processes, threads,
communication, ...
OS2
Processes, threads,
communication, ...
Deepak John,CE-Poonjar
Middleware implements abstractions that support network-wide
programming. Examples:
RPC and RMI (Sun RPC, Corba, Java RMI)
event distribution and filtering (Corba Event Notification, Elvin)
resource discovery for mobile and ubiquitous computing
support for multimedia streaming
Deepak John,CE-Poonjar
Functions that OS should provide for middleware
1. Encapsulation
provide a set of operations that meet their clients’ needs
2. Protection
protect resource from illegitimate access
3. Concurrent processing
support clients access resource concurrently
4. Invocation mechanism: a means of accessing an encapsulated
resource
Communication : Pass operation parameters and results between
resource managers
Scheduling: Schedule the processing of the invoked operation
Deepak John,CE-Poonjar
Core OS functionality
Communication
manager
Thread manager Memory manager
Supervisor
Process manager
Deepak John,CE-Poonjar
Process manager
Handles the creation of and operations upon processes.
Thread manager
Thread creation, synchronization and scheduling
Communication manager
Communication between threads attached to different
processes on the same computer
Memory manager
Management of physical and virtual memory
Supervisor
Dispatching of interrupts, system call traps and other exceptions
control of memory management unit and hardware caches
processor and floating point unit register manipulations
Deepak John,CE-Poonjar
Kernel and Protection
Kernel
always runs
complete access privileges for the physical resources
Different execution mode
supervisor mode (kernel process) / user mode (user process)
system call trap: invocation mechanism for resources managed by
kernel
An address space: a collection of ranges of virtual memory locations,
in each of which a specified combination of memory access rights
applies, e.g.: read only or read-write
The cost for protection
switching between different processes take many processor cycles
a system call trap is a more expensive operation than a simple method
call
Deepak John,CE-Poonjar
Processes and Threads
Process
A program in execution
Problem: sharing between related activities are awkward and
expensive
a process consists of an execution environment together with
one or more threads.
An execution environment is a collection of local kernel managed
resources to which its threads have access. An execution
environment primarily consists of:
an address space;
thread synchronization and communication resources such as
semaphores and communication interfaces (for example, sockets);
higher-level resources such as open files and windows.
Deepak John,CE-Poonjar
Process address space
Stack
Text
Heap
Auxiliary
regions
0
2
N
Address space
a unit of management of a process’s
virtual memory
Up to 232 bytes and sometimes up to
264 bytes.
consists of one or more regions.
Region
an area of continuous virtual memory
that is accessible by the threads of the
owning process.
can be shared
1. kernel code
2. libraries
3. shared data & communication
4. Copy on write
Deepak John,CE-Poonjar
Creation of new process in distributed system
Creating process by the operation system
Fork, in UNIX
Process creation in distributed system
The choice of a target host
Choice of process host
running new processes at their originator’s computer
sharing processing load between a set of computers
Load sharing system
Centralized, Decentralized, Hierarchical
sender-initiated,receiver-initiated
Deepak John,CE-Poonjar
Load sharing policy
Transfer policy: situate a new process locally or remotely
Location policy: which node should host the new process
1. Static policy without regard to the current state of the system
2.Adaptive policy applies heuristics to make their allocation
decision
Creation of a new execution environment
1. Initializing the address space
Statically defined format
With respect to an existing execution environment,
e.g. fork()
2. Copy-on-write scheme
A technique that is used to reduce amount of data copy.
Deepak John,CE-Poonjar
Copy-on-write – a convenient optimization
a) Before write b) After write
Shared
frame
A's page
table
B's page
table
Process A’s address space Process B’s address space
Kernel
RA RB
RB copied
from RA
Deepak John,CE-Poonjar
Threads concept and implementation
Thread
threads were introduced as a lightweight – operating system
provided .
a process consists of its address-space, and a set of threads attached
to that process.
The operating system can perform less expensive context switches
between threads attached to the same process and threads attached to
the same process can access the same memory etc, such that
communication/ synchronisation can be much cheaper and less
awkward
Deepak John,CE-Poonjar
A server application generally
consists of:
A single thread, the receiver-
thread which receives all the
requests, places them in a queue
and dispatches those requests to
be dealt with by the worker-
threads
The worker-thread which deals
with the request may be a thread
in the same process or it may be
a thread in another
process
Deepak John,CE-Poonjar
Client and server with threads Worker pool
Server creates a fixed pool of
“worker” threads to process the
requests when it starts up.
The module marked ‘receipt
and queuing is typically
implemented by an ‘I/O’ thread,
Pro: simple
Cons
1. Inflexibility: worker threads
number unequal to current
request number
2. High level of switching
between the I/O and worker
thread
For single thread, server can handle 100 client
requests per second
Deepak John,CE-Poonjar
Alternative server threading architectures
Thread-per-request
Server spawn a new worker thread for each new request, destroy it
when the request processing finish.
Pro: throughput is potentially maximized.
Con: overhead of the thread creation and destruction
Deepak John,CE-Poonjar
Thread-per-connection
Server creates a new worker thread when client creates a connection,
destroys the thread when the client closes the connection.
Pro: lower thread management overheads compared with the thread-
per-request.
Con: client may be delayed while a worker thread has several
outstanding requests but another thread has no work to perform
Thread-per-object
Associate a thread with each remote object
Pro&Con are similar to thread-per-connection
Deepak John,CE-Poonjar
Threads versus multiple processes
Creating a thread is (much) cheaper than a process (~10-20times)
Switching to a different thread in same process is (much) cheaper
(5-50 times)
Threads within same process can share data and other resources
more conveniently and efficiently (without copying or messages)
Threads within a process are not protected from each other
Threads implementation
can be implemented:
in the OS kernel (Win NT, Solaris, Mach)
at user level e.g. by a thread library, or in the language (Ada, Java).
Deepak John,CE-Poonjar
Java thread constructor and management methods
• Thread(ThreadGroup group, Runnable target, String name)
Creates a new thread in the SUSPENDED state, which will
belong to group and be identified as name; the thread will
execute the run() method of target.
• setPriority(int newPriority), getPriority()
Set and return the thread’s priority.
• run()
A thread executes the run() method of its target object, if it has
one, and otherwise its own run() method (Thread implements
Runnable).
Methods of objects that inherit from class Thread
Deepak John,CE-Poonjar
• start()
Change the state of the thread from SUSPENDED to
RUNNABLE.
• sleep(int millisecs)
Cause the thread to enter the SUSPENDED state for the
specified time.
• yield()
Enter the READY state and invoke the scheduler.
• destroy()
Destroy the thread.
Deepak John,CE-Poonjar
Java thread synchronization calls
• thread.join(int millisecs)
Blocks the calling thread for up to the specified time until thread
has terminated.
• thread.interrupt()
Interrupts thread: causes it to return from a blocking method call
such as sleep().
• object.wait(long millisecs, int nanosecs)
Blocks the calling thread until a call made to notify() or
notifyAll() on object wakes the thread, or the thread is interrupted,
or the specified time has elapsed.
• object.notify(), object.notifyAll()
Wakes, respectively, one or all of any threads that have called
wait() on object. Deepak John,CE-Poonjar
Operating system architecture
Monolithic Kernel Microkernel
Server: Dynamically loaded server program:Kernel code and data:
.......
.......
Key:
S4
S1 .......
S1 S2 S3
S2 S3 S4
Monolithic kernel and microkernel
Deepak John,CE-Poonjar
Monolithic vs Microkernel
A monolithic kernel provides all of the services via a single
image, that is a single program initialized when the computer boots
A microkernel instead implements only the absolute minimum:
Basic virtual memory, Basic scheduling and Inter-process
communication
All other services such as device drivers, the file system,
networking etc are implemented as user-level server processes that
communicate with each other and the kernel via IPC
Deepak John,CE-Poonjar
The Microkernel Approach
The major advantages of the microkernel approach include:
Extensibility - major functionality can be added without modifying
the core kernel of the operating system
Modularity - the different functions of the operating system can be
forced into modularity behind memory protection barriers. A
monolithic kernel must use programming language features or code
conventions to attempt to ensure this
Robustness -relatively small kernel might be likely to contain fewer
bugs than a larger program, however, this point is rather contentious
Portability - since only a small portion of the operating system, its
smaller kernel, relies on the particulars of a given machine it is easier
to port to a new machine architecture
Deepak John,CE-Poonjar
The role of the microkernel
Middleware
Language
support
subsystem
Language
support
subsystem
OS emulation
subsystem
....
Microkernel
Hardware
The microkernel supports middleware via subsystems
Deepak John,CE-Poonjar
The Monolithic Approach
The major advantage of the monolithic approach is the relative
efficiency with which operations may be invoked. Since services
share an address space with the core of the kernel they need not make
system calls to access core-kernel functionality
Most operating systems in use today are a kind of hybrid solution
Linux is a monolithic kernel, but modules may be dynamically
loaded and unloaded at run time.
Deepak John,CE-Poonjar
Distributed File Systems
Deepak John,CE-Poonjar
Purposes of a Distributed File System
Sharing of storage and information across a network
Convenience (and efficiency) of a conventional file system
Persistent storage that most other services (e.g., Web servers) need
Files
Files are an abstraction of permanent storage.
A file is typically defined as a sequence of similar-sized data items
along with a set of attributes.
A directory is a file that provides a mapping from text names to
internal file identifiers.
Deepak John,CE-Poonjar
File attributes
updated
by system:
File length
Creation timestamp
Read timestamp
Write timestamp
Attribute timestamp
Reference count
Owner
File type
Access control list
E.g. for UNIX: rw-rw-r--
updated
by owner:
Deepak John,CE-Poonjar
File Systems
Responsible for the (a) organization, (b)storage, (c) retrieval, (d)
naming, (e)sharing, and (f) protection of files.
Provide a set of programming operations that characterize the file
abstraction,particularly operations to read and write subsequences of
data items beginning at any point of a file.
Directory module: relates file names to file IDs
File module: relates file IDs to particular files
Access control module: checks permission for operation requested
File access module: reads or writes file data or attributes
Block module: accesses and allocates disk blocks
Device module: disk I/O and buffering
File
system
modules
Deepak John,CE-Poonjar
UNIX file system operations
Deepak John,CE-Poonjar
Distributed File System Requirements
Deepak John,CE-Poonjar
File Service Architecture
An architecture that offers a clear separation of the main concerns
in providing access to files is obtained by structuring the file
service as three components:
A flat file service
A directory service
A client module.
The Client module implements exported interfaces by flat file and
directory services on server side.
Deepak John,CE-Poonjar
Client computer Server computer
Application
program
Application
program
Client module
Flat file service
Directory service
Lookup
AddName
UnName
GetNames
Read
Write
Create
Delete
GetAttributes
SetAttributes
Deepak John,CE-Poonjar
Flat file service:
Concerned with the implementation of operations on the contents of file.
Unique File Identifiers (UFIDs) are used to refer to files in all requests
for flat file service operations.
Directory Service:
Provides mapping between text names for the files and their UFIDs.
Clients may obtain the UFID of a file by quoting its text name to
directory service. Directory service supports functions needed generate
directories, to add new files to directories.
Client Module:
It runs on each computer and provides integrated service (flat file and
directory) as a single API to application programs.
It holds information about the network locations of flat-file and directory
server processes; and achieve better performance through
implementation of a cache of recently used file blocks at the client.
Deepak John,CE-Poonjar
Flat file service operations
Read(FileId, i, n) -> Data
— throws BadPosition
If 1 ≤ i ≤ Length(File): Reads a sequence of up to n items
from a file starting at item i and returns it in Data.
Write(FileId, i, Data)
— throws BadPosition
If 1 ≤ i ≤ Length(File)+1: Writes a sequence of Data to a
file, starting at item i, extending the file if necessary.
Create() -> FileId Creates a new file of length 0 and delivers a UFID for it.
Delete(FileId) Removes the file from the file store.
GetAttributes(FileId) -> Attr Returns the file attributes for the file.
SetAttributes(FileId, Attr) Sets the file attributes
Deepak John,CE-Poonjar
Access control
UNIX checks access rights when a file is opened ,subsequent
checks during read/write are not necessary
distributed environment
a. server has to check.
b. stateless approaches
1. access check once when UFID is issued
• client gets an encoded "capability" (who can access and how)
• capability is submitted with each subsequent request
2. access check for each request.
Deepak John,CE-Poonjar
File Group
A collection of files that can be located
on any server or moved between
servers while maintaining the same
names.
Similar to a UNIX filesystem
Helps with distributing the load of
file serving between several servers.
File groups have identifiers which
are unique throughout the system
(and hence for an open system, they
must be globally unique).
Used to refer to file groups and
files
To construct a globally
unique ID we use some
unique attribute of the
machine on which it is
created, e.g. IP number,
even though the file group
may move subsequently.
IP address date
32 bits 16 bits
File Group ID:
Deepak John,CE-Poonjar
Case Study: Sun NFS
An industry standard for file sharing on local networks since the
1980s
An open standard with clear and simple interfaces.
OS independent
unix implementation
rpc
udp or tcp
Supports many of the design requirements already mentioned:
Transparency,heterogeneity,efficiency,fault tolerance
Limited achievement of:
Concurrency,replication,consistency,security
Deepak John,CE-Poonjar
NFS architecture
Client computer Server computer
UNIX
file
system
NFS
client
NFS
server
UNIX
file
system
Application
program
Application
program
Virtual file systemVirtual file system
Other
filesystem
UNIX kernel
system calls
NFS
protocol
(remote operations)
UNIX
Operations
on local files
Operations
on
remote files
Application
program
NFS
Client
Kernel
Application
program
NFS
Client
Client computer
Deepak John,CE-Poonjar
Virtual file system
access transparency
part of unix kernel
NFS file handle, 3 components:
filesystem identifier
different groups of files
i-node (index node)
structure for finding the file
i-node generation number
i-nodes are reused
incremented when reused
VFS
struct for each file system
v-node for each open file
file handle for remote file
i-node number for local file
Deepak John,CE-Poonjar
NFS access control and authentication
Stateless server, so the user's identity and access rights must be
checked by the server on each request.
In the local file system they are checked only on open()
Every client request is accompanied by the userID and groupID
Server is exposed to imposter attacks unless the userID and groupID
are protected by encryption
Kerberos has been integrated with NFS to provide a stronger and
more comprehensive security solution
Deepak John,CE-Poonjar
• read(fh, offset, count) -> attr, data
• write(fh, offset, count, data) -> attr
• create(dirfh, name, attr) -> newfh, attr
• remove(dirfh, name) status
• getattr(fh) -> attr
• setattr(fh, attr) -> attr
• lookup(dirfh, name) -> fh, attr
• rename(dirfh, name, todirfh, toname)
• link(newdirfh, newname, dirfh, name)
• readdir(dirfh, cookie, count) ->
entries
NFS server operations (simplified)
fh = file handle:
Filesystem identifier i-node number i-node generation
Read(FileId, i, n) -> Data
Write(FileId, i, Data)
Create() -> FileId
Delete(FileId)
GetAttributes(FileId) -> Attr
SetAttributes(FileId, Attr)
Lookup(Dir, Name) -> FileId
AddName(Dir, Name, File)
UnName(Dir, Name)
GetNames(Dir, Pattern)
->NameSeq
Deepak John,CE-Poonjar
Mount service
the process of including a new file system is called mounting.
communicates with the mount process on the server in a mount
protocol.
Server maintains a table of clients who have mounted filesystems at
that server
Each client maintains a table of mounted file systems holding.
hard-mounted
user process is suspended until request is successful
when server is not responding
request is retried until it's satisfied
soft-mounted
if server fails, client returns failure after a small number of retries
user process handles the failure Deepak John,CE-Poonjar
THE MOUNT PROTOCOL:
The following operations occur:
1. The client's request is sent via RPC to the mount server ( on
server machine.)
2. Mount server checks export list containing
a) file systems that can be exported,
b) legal requesting clients.
c) It's legitimate to mount any directory within the legal
filesystem.
3. Server returns "file handle" to client.
4. Server maintains list of clients and mounted directories -- this is
state information! But this data is only a "hint" and isn't treated as
essential.
5. Mounting often occurs automatically when client or server boots.
Deepak John,CE-Poonjar
Local and remote file systems
jim jane joeann
usersstudents
usrvmunix
Client Server 2
. . . nfs
Remote
mount
staff
big bobjon
people
Server 1
export
(root)
Remote
mount
. . .
x
(root) (root)
Note: The file system mounted at /usr/students in the client is actually the sub-tree
located at /export/people in Server 1; the file system mounted at /usr/staff in the client is
actually the sub-tree located at /nfs/users in Server 2.
Deepak John,CE-Poonjar
Pathname translation
pathname: /users/students/dc/abc
server doesn't receive the entire pathname for translation,
client breaks down the pathnames into parts
iteratively translate each part
translation is cached
Deepak John,CE-Poonjar
Automounter
NFS client catches attempts to access 'empty' mount points and routes
them to the Automounter
Automounter has a table of mount points and multiple candidate
serves for each
it sends a probe message to each candidate server and then uses the
mount service to mount the filesystem at the first server to respond
Keeps the mount table small
Deepak John,CE-Poonjar
Server caching
caching file pages, directory/file attributes
read-ahead: prefetch pages following the most-recently read file
pages
delayed-write: write to disk when the page in memory is needed
for other purposes
"sync" flushes "dirty" pages to disk every 30 seconds
two write option
1. write-through: write to disk before replying to the client
2. cache and commit:
stored in memory cache
write to disk before replying to a "commit" request from the
client Deepak John,CE-Poonjar
Client caching
caches results of read, write, getattr, lookup, readdir
clients responsibility to poll the server for consistency
timestamp-based methods for consistency validation
Tc: time when the cache entry was last validated
Tm: time when the block was last modified at the server
cache entry is valid if:
1. T - Tc < t, where t is the freshness interval
t is adaptively adjusted:
files: 3 to 30 seconds depending on freq of updates
directories: 30 to 60 seconds
2. Tmclient = Tmserver
need validation for all cache accesses
Reading
Deepak John,CE-Poonjar
writing
dirty: modified page in cache
flush to disk: file is closed or sync from client
bio-daemon (block input-output)
read-ahead: after each read request, request the next file block from
the server as well
delayed write: after a block is filled, it's sent to the server
reduce the time to wait for read/write
Deepak John,CE-Poonjar
Summary for NFS
access transparency: same system calls for local or remote files
location transparency: could have a single name space for all files
(depending on all the clients to agree the same name space)
mobility transparency: mount table need to be updated on each client
(not transparent)
scalability: can usually support large loads, add processors, disks,
servers...
file replication: read-only replication, no support for replication of
files with updates
hardware and OS: many ports
fault tolerance: stateless and idempotent
consistency: not quite one-copy for efficiency
security: added encryption--Kerberos
efficiency: pretty efficient, wide-spread use
Deepak John,CE-Poonjar
Naming Services
Definition
Key benefits
Resource localization
Uniform naming
Device independent address (e.g., you can move domain
name/web site from one server to another server seamlessly).
In a Distributed System, a Naming Service is a specific service
whose aim is to provide a consistent and uniform naming of
resources, this allowing other programs or services to localize
them and obtain the required metadata for interacting with
them.
Deepak John,CE-Poonjar
Requirements for name spaces
Allow simple but meaningful names to be used
Potentially infinite number of names
Structured
to allow similar subnames without clashes
to group related names
Management of trust
Deepak John,CE-Poonjar
Iterative navigation
Client
1
2
3
A client iteratively contacts name servers NS1–NS3 in order to resolve a name
NS2
NS1
NS3
Name
servers
Iterative Navigation is the act of chaining multiple Naming Services in
order to resolve a single name to the corresponding resource.
Iterative Navigation is the act of chaining multiple Naming Services in
order to resolve a single name to the corresponding resource.
Deepak John,CE-Poonjar
Recursive Navigation
The Iterative Navigation can be…
Recursive:
it is performed by the naming server
the server becomes like a client for the next server
Non recursive:
it is performed by the client or the first server
if it is performed by the server it is “server controlled”
the server bounces back the next hop to its client
Deepak John,CE-Poonjar
Non-recursive and recursive server-controlled navigation
A name server NS1 communicates with other name servers on behalf of a client
Recursive
server-controlled
1
2
3
5
4
client
NS2
NS1
NS3
1
2
34
client
NS2
NS1
NS3
Non-recursive
server-controlled
DNS offers recursive navigation as an option, but iterative is the
standard technique. Recursive navigation must be used in domains
that limit client access to their DNS information for security reasons.
Deepak John,CE-Poonjar
The SNS - a Simple Name Service model
Stores attributes of named objects such as users, computers and
services and group names.
Users
Computers
Services
Email server, login info, encoded passwords,
home directory
Network addresses, architecture, OS, owner
Named object Value
Service address, version no.
Group Mailing lists, group1, group2,...
Deepak John,CE-Poonjar
SNS basic design requirements
Specify the Types of named objects:
users, services, computers and group names and directories.
Other types of objects may be integrated;
The names are used only within the organization;
Efficient name lookup;
Access control:
everyone can read but Authorized write;
Deepak John,CE-Poonjar
DNS - The Internet Domain Name System
A distributed naming database (specified in RFC 1034/1305)
Name structure reflects administrative structure of the Internet
Rapidly resolves domain names to IP addresses
exploits caching heavily
typical query time ~100 milliseconds
Scales to millions of computers
partitioned database
caching
replication
Deepak John,CE-Poonjar
Basic DNS algorithm for name resolution (domain name -> IP number)
• Look for the name in the local cache
• Try a superior DNS server, which responds with:
– another recommended DNS server
– the IP address (which may not be entirely up to date)
Deepak John,CE-Poonjar
DNS server functions and configuration
Main function is to resolve domain names for computers, i.e. to get
their IP addresses.
Other functions:
reverse resolution - get domain name from IP address
Host information - type of hardware and OS
Well-known services - a list of well-known services offered by a
host
Other attributes can be included (optional)
Deepak John,CE-Poonjar
DNS issues
Name tables change infrequently, but when they do, caching can
result in the delivery of stale data.
Clients are responsible for detecting this and recovering
Its design makes changes to the structure of the name space
difficult. For example:
merging previously separate domain trees under a new root
moving subtrees to a different part of the structure (e.g. if
Scotland became a separate country, its domains should all be
moved to a new country-level domain.)
.
Deepak John,CE-Poonjar

Weitere ähnliche Inhalte

Was ist angesagt?

2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software conceptsPrajakta Rane
 
Distributed os
Distributed osDistributed os
Distributed ossidra naz
 
Processes and Processors in Distributed Systems
Processes and Processors in Distributed SystemsProcesses and Processors in Distributed Systems
Processes and Processors in Distributed SystemsDr Sandeep Kumar Poonia
 
Applications of Distributed Systems
Applications of Distributed SystemsApplications of Distributed Systems
Applications of Distributed Systemssandra sukarieh
 
Operating system support in distributed system
Operating system support in distributed systemOperating system support in distributed system
Operating system support in distributed systemishapadhy
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSKathirvel Ayyaswamy
 
Chapter 16 - Distributed System Structures
Chapter 16 - Distributed System StructuresChapter 16 - Distributed System Structures
Chapter 16 - Distributed System StructuresWayne Jones Jnr
 
Distributed file system
Distributed file systemDistributed file system
Distributed file systemAnamika Singh
 
Distributed system notes unit I
Distributed system notes unit IDistributed system notes unit I
Distributed system notes unit INANDINI SHARMA
 
Chapter 8 distributed file systems
Chapter 8 distributed file systemsChapter 8 distributed file systems
Chapter 8 distributed file systemsAbDul ThaYyal
 
Distributed operating system amoeba case study
Distributed operating system  amoeba case studyDistributed operating system  amoeba case study
Distributed operating system amoeba case studyRamuAryan
 
Unit 1 architecture of distributed systems
Unit 1 architecture of distributed systemsUnit 1 architecture of distributed systems
Unit 1 architecture of distributed systemskaran2190
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSKathirvel Ayyaswamy
 
7 distributed and real systems
7 distributed and real systems7 distributed and real systems
7 distributed and real systemsmyrajendra
 
Distributed operating system(os)
Distributed operating system(os)Distributed operating system(os)
Distributed operating system(os)Dinesh Modak
 
Distributed Operating Systems
Distributed Operating SystemsDistributed Operating Systems
Distributed Operating SystemsUmmiya Mohammedi
 

Was ist angesagt? (20)

2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts
 
Distributed os
Distributed osDistributed os
Distributed os
 
Processes and Processors in Distributed Systems
Processes and Processors in Distributed SystemsProcesses and Processors in Distributed Systems
Processes and Processors in Distributed Systems
 
Systems Administration
Systems AdministrationSystems Administration
Systems Administration
 
Applications of Distributed Systems
Applications of Distributed SystemsApplications of Distributed Systems
Applications of Distributed Systems
 
Operating system support in distributed system
Operating system support in distributed systemOperating system support in distributed system
Operating system support in distributed system
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
 
Chapter 16 - Distributed System Structures
Chapter 16 - Distributed System StructuresChapter 16 - Distributed System Structures
Chapter 16 - Distributed System Structures
 
Distributed file system
Distributed file systemDistributed file system
Distributed file system
 
1.intro. to distributed system
1.intro. to distributed system1.intro. to distributed system
1.intro. to distributed system
 
Distributed system notes unit I
Distributed system notes unit IDistributed system notes unit I
Distributed system notes unit I
 
3. challenges
3. challenges3. challenges
3. challenges
 
Chapter 8 distributed file systems
Chapter 8 distributed file systemsChapter 8 distributed file systems
Chapter 8 distributed file systems
 
Distributed operating system amoeba case study
Distributed operating system  amoeba case studyDistributed operating system  amoeba case study
Distributed operating system amoeba case study
 
Unit 1 architecture of distributed systems
Unit 1 architecture of distributed systemsUnit 1 architecture of distributed systems
Unit 1 architecture of distributed systems
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
 
7 distributed and real systems
7 distributed and real systems7 distributed and real systems
7 distributed and real systems
 
4. system models
4. system models4. system models
4. system models
 
Distributed operating system(os)
Distributed operating system(os)Distributed operating system(os)
Distributed operating system(os)
 
Distributed Operating Systems
Distributed Operating SystemsDistributed Operating Systems
Distributed Operating Systems
 

Andere mochten auch

Andere mochten auch (20)

3. distributed file system requirements
3. distributed file system requirements3. distributed file system requirements
3. distributed file system requirements
 
Communications is distributed systems
Communications is distributed systemsCommunications is distributed systems
Communications is distributed systems
 
Lossless
LosslessLossless
Lossless
 
Distributed Filesystems Review
Distributed Filesystems ReviewDistributed Filesystems Review
Distributed Filesystems Review
 
File system implementation
File system implementationFile system implementation
File system implementation
 
File System Implementation
File System ImplementationFile System Implementation
File System Implementation
 
Ch7: Process Synchronization
Ch7: Process SynchronizationCh7: Process Synchronization
Ch7: Process Synchronization
 
Turing machine-TOC
Turing machine-TOCTuring machine-TOC
Turing machine-TOC
 
Ip sec
Ip secIp sec
Ip sec
 
Page Replacement Algorithms
Page Replacement AlgorithmsPage Replacement Algorithms
Page Replacement Algorithms
 
Java history, versions, types of errors and exception, quiz
Java history, versions, types of errors and exception, quiz Java history, versions, types of errors and exception, quiz
Java history, versions, types of errors and exception, quiz
 
remote sensor
remote sensorremote sensor
remote sensor
 
Data mining
Data miningData mining
Data mining
 
12. dfs
12. dfs12. dfs
12. dfs
 
6. The grid-COMPUTING OGSA and WSRF
6. The grid-COMPUTING OGSA and WSRF6. The grid-COMPUTING OGSA and WSRF
6. The grid-COMPUTING OGSA and WSRF
 
Distributed Operating System_2
Distributed Operating System_2Distributed Operating System_2
Distributed Operating System_2
 
Lecture28 tsp
Lecture28 tspLecture28 tsp
Lecture28 tsp
 
Multiple Access in wireless communication
Multiple Access in wireless communicationMultiple Access in wireless communication
Multiple Access in wireless communication
 
Ccleaner presentation
Ccleaner presentationCcleaner presentation
Ccleaner presentation
 
optimization of DFA
optimization of DFAoptimization of DFA
optimization of DFA
 

Ähnlich wie Distributed computing

Operating System 4 1193308760782240 2
Operating System 4 1193308760782240 2Operating System 4 1193308760782240 2
Operating System 4 1193308760782240 2mona_hakmy
 
Operating System 4
Operating System 4Operating System 4
Operating System 4tech2click
 
UNIT II DIS.pptx
UNIT II DIS.pptxUNIT II DIS.pptx
UNIT II DIS.pptxSamPrem3
 
Operating System and Basic Networks
Operating System and Basic NetworksOperating System and Basic Networks
Operating System and Basic NetworksJherome Tenorio
 
Processes and Threads in Windows Vista
Processes and Threads in Windows VistaProcesses and Threads in Windows Vista
Processes and Threads in Windows VistaTrinh Phuc Tho
 
Microx - A Unix like kernel for Embedded Systems written from scratch.
Microx - A Unix like kernel for Embedded Systems written from scratch.Microx - A Unix like kernel for Embedded Systems written from scratch.
Microx - A Unix like kernel for Embedded Systems written from scratch.Waqar Sheikh
 
OS Module-2.pptx
OS Module-2.pptxOS Module-2.pptx
OS Module-2.pptxbleh23
 
Introto netthreads-090906214344-phpapp01
Introto netthreads-090906214344-phpapp01Introto netthreads-090906214344-phpapp01
Introto netthreads-090906214344-phpapp01Aravindharamanan S
 

Ähnlich wie Distributed computing (20)

Chapter 6 os
Chapter 6 osChapter 6 os
Chapter 6 os
 
Operating System 4 1193308760782240 2
Operating System 4 1193308760782240 2Operating System 4 1193308760782240 2
Operating System 4 1193308760782240 2
 
Operating System 4
Operating System 4Operating System 4
Operating System 4
 
UNIT II DIS.pptx
UNIT II DIS.pptxUNIT II DIS.pptx
UNIT II DIS.pptx
 
Operating System and Basic Networks
Operating System and Basic NetworksOperating System and Basic Networks
Operating System and Basic Networks
 
Chapter 1: Introduction to Unix / Linux Kernel
Chapter 1: Introduction to Unix / Linux KernelChapter 1: Introduction to Unix / Linux Kernel
Chapter 1: Introduction to Unix / Linux Kernel
 
Processes and Threads in Windows Vista
Processes and Threads in Windows VistaProcesses and Threads in Windows Vista
Processes and Threads in Windows Vista
 
Microx - A Unix like kernel for Embedded Systems written from scratch.
Microx - A Unix like kernel for Embedded Systems written from scratch.Microx - A Unix like kernel for Embedded Systems written from scratch.
Microx - A Unix like kernel for Embedded Systems written from scratch.
 
OS Module-2.pptx
OS Module-2.pptxOS Module-2.pptx
OS Module-2.pptx
 
Introto netthreads-090906214344-phpapp01
Introto netthreads-090906214344-phpapp01Introto netthreads-090906214344-phpapp01
Introto netthreads-090906214344-phpapp01
 
Sucet os module_2_notes
Sucet os module_2_notesSucet os module_2_notes
Sucet os module_2_notes
 
Operating system
Operating systemOperating system
Operating system
 
Os
OsOs
Os
 
Bglrsession4
Bglrsession4Bglrsession4
Bglrsession4
 
Topic 4- processes.pptx
Topic 4- processes.pptxTopic 4- processes.pptx
Topic 4- processes.pptx
 
Amoeba
AmoebaAmoeba
Amoeba
 
4.Process.ppt
4.Process.ppt4.Process.ppt
4.Process.ppt
 
Unit 2(oss) (1)
Unit 2(oss) (1)Unit 2(oss) (1)
Unit 2(oss) (1)
 
Chapter 22 - Windows XP
Chapter 22 - Windows XPChapter 22 - Windows XP
Chapter 22 - Windows XP
 
Windows 2000
Windows 2000Windows 2000
Windows 2000
 

Mehr von Deepak John

Network concepts and wi fi
Network concepts and wi fiNetwork concepts and wi fi
Network concepts and wi fiDeepak John
 
Web browser week5 presentation
Web browser week5 presentationWeb browser week5 presentation
Web browser week5 presentationDeepak John
 
Information management
Information managementInformation management
Information managementDeepak John
 
It security,malware,phishing,information theft
It security,malware,phishing,information theftIt security,malware,phishing,information theft
It security,malware,phishing,information theftDeepak John
 
Email,contacts and calendar
Email,contacts and calendarEmail,contacts and calendar
Email,contacts and calendarDeepak John
 
Module 2 instruction set
Module 2 instruction set Module 2 instruction set
Module 2 instruction set Deepak John
 
introduction to computers
 introduction to computers introduction to computers
introduction to computersDeepak John
 
Registers and counters
Registers and counters Registers and counters
Registers and counters Deepak John
 
Computer security module 4
Computer security module 4Computer security module 4
Computer security module 4Deepak John
 
Module 4 network and computer security
Module  4 network and computer securityModule  4 network and computer security
Module 4 network and computer securityDeepak John
 
Network and computer security-
Network and computer security-Network and computer security-
Network and computer security-Deepak John
 
Computer security module 3
Computer security module 3Computer security module 3
Computer security module 3Deepak John
 
Module 4 registers and counters
Module 4 registers and counters Module 4 registers and counters
Module 4 registers and counters Deepak John
 
Module 2 network and computer security
Module 2 network and computer securityModule 2 network and computer security
Module 2 network and computer securityDeepak John
 
Computer security module 2
Computer security module 2Computer security module 2
Computer security module 2Deepak John
 
Computer security module 1
Computer security module 1Computer security module 1
Computer security module 1Deepak John
 
Network and Computer security
Network and Computer securityNetwork and Computer security
Network and Computer securityDeepak John
 
Combinational and sequential logic
Combinational and sequential logicCombinational and sequential logic
Combinational and sequential logicDeepak John
 
Module 2 logic gates
Module 2  logic gatesModule 2  logic gates
Module 2 logic gatesDeepak John
 

Mehr von Deepak John (20)

Network concepts and wi fi
Network concepts and wi fiNetwork concepts and wi fi
Network concepts and wi fi
 
Web browser week5 presentation
Web browser week5 presentationWeb browser week5 presentation
Web browser week5 presentation
 
Information management
Information managementInformation management
Information management
 
It security,malware,phishing,information theft
It security,malware,phishing,information theftIt security,malware,phishing,information theft
It security,malware,phishing,information theft
 
Email,contacts and calendar
Email,contacts and calendarEmail,contacts and calendar
Email,contacts and calendar
 
Module 1 8086
Module 1 8086Module 1 8086
Module 1 8086
 
Module 2 instruction set
Module 2 instruction set Module 2 instruction set
Module 2 instruction set
 
introduction to computers
 introduction to computers introduction to computers
introduction to computers
 
Registers and counters
Registers and counters Registers and counters
Registers and counters
 
Computer security module 4
Computer security module 4Computer security module 4
Computer security module 4
 
Module 4 network and computer security
Module  4 network and computer securityModule  4 network and computer security
Module 4 network and computer security
 
Network and computer security-
Network and computer security-Network and computer security-
Network and computer security-
 
Computer security module 3
Computer security module 3Computer security module 3
Computer security module 3
 
Module 4 registers and counters
Module 4 registers and counters Module 4 registers and counters
Module 4 registers and counters
 
Module 2 network and computer security
Module 2 network and computer securityModule 2 network and computer security
Module 2 network and computer security
 
Computer security module 2
Computer security module 2Computer security module 2
Computer security module 2
 
Computer security module 1
Computer security module 1Computer security module 1
Computer security module 1
 
Network and Computer security
Network and Computer securityNetwork and Computer security
Network and Computer security
 
Combinational and sequential logic
Combinational and sequential logicCombinational and sequential logic
Combinational and sequential logic
 
Module 2 logic gates
Module 2  logic gatesModule 2  logic gates
Module 2 logic gates
 

Kürzlich hochgeladen

Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxleah joy valeriano
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 

Kürzlich hochgeladen (20)

Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 

Distributed computing

  • 1. Distributed Operating System and File System Deepak John Department Of I.T,CE-Poonjar
  • 2. Introduction Distributed OS I. Presents users (and applications) with an integrated computing platform that hides the individual computers. II. Has control over all of the nodes (computers) in the network and allocates their resources to tasks without user involvement. III. the user doesn't know (or care) where his programs are running. Ex:Cluster computer systems,V system, Sprite Deepak John,CE-Poonjar
  • 3. Operating System layer Applications, services Computer & Platform Middleware OS: kernel, libraries & servers network hardware OS1 Computer & network hardware Node 1 Node 2 Processes, threads, communication, ... OS2 Processes, threads, communication, ... Deepak John,CE-Poonjar
  • 4. Middleware implements abstractions that support network-wide programming. Examples: RPC and RMI (Sun RPC, Corba, Java RMI) event distribution and filtering (Corba Event Notification, Elvin) resource discovery for mobile and ubiquitous computing support for multimedia streaming Deepak John,CE-Poonjar
  • 5. Functions that OS should provide for middleware 1. Encapsulation provide a set of operations that meet their clients’ needs 2. Protection protect resource from illegitimate access 3. Concurrent processing support clients access resource concurrently 4. Invocation mechanism: a means of accessing an encapsulated resource Communication : Pass operation parameters and results between resource managers Scheduling: Schedule the processing of the invoked operation Deepak John,CE-Poonjar
  • 6. Core OS functionality Communication manager Thread manager Memory manager Supervisor Process manager Deepak John,CE-Poonjar
  • 7. Process manager Handles the creation of and operations upon processes. Thread manager Thread creation, synchronization and scheduling Communication manager Communication between threads attached to different processes on the same computer Memory manager Management of physical and virtual memory Supervisor Dispatching of interrupts, system call traps and other exceptions control of memory management unit and hardware caches processor and floating point unit register manipulations Deepak John,CE-Poonjar
  • 8. Kernel and Protection Kernel always runs complete access privileges for the physical resources Different execution mode supervisor mode (kernel process) / user mode (user process) system call trap: invocation mechanism for resources managed by kernel An address space: a collection of ranges of virtual memory locations, in each of which a specified combination of memory access rights applies, e.g.: read only or read-write The cost for protection switching between different processes take many processor cycles a system call trap is a more expensive operation than a simple method call Deepak John,CE-Poonjar
  • 9. Processes and Threads Process A program in execution Problem: sharing between related activities are awkward and expensive a process consists of an execution environment together with one or more threads. An execution environment is a collection of local kernel managed resources to which its threads have access. An execution environment primarily consists of: an address space; thread synchronization and communication resources such as semaphores and communication interfaces (for example, sockets); higher-level resources such as open files and windows. Deepak John,CE-Poonjar
  • 10. Process address space Stack Text Heap Auxiliary regions 0 2 N Address space a unit of management of a process’s virtual memory Up to 232 bytes and sometimes up to 264 bytes. consists of one or more regions. Region an area of continuous virtual memory that is accessible by the threads of the owning process. can be shared 1. kernel code 2. libraries 3. shared data & communication 4. Copy on write Deepak John,CE-Poonjar
  • 11. Creation of new process in distributed system Creating process by the operation system Fork, in UNIX Process creation in distributed system The choice of a target host Choice of process host running new processes at their originator’s computer sharing processing load between a set of computers Load sharing system Centralized, Decentralized, Hierarchical sender-initiated,receiver-initiated Deepak John,CE-Poonjar
  • 12. Load sharing policy Transfer policy: situate a new process locally or remotely Location policy: which node should host the new process 1. Static policy without regard to the current state of the system 2.Adaptive policy applies heuristics to make their allocation decision Creation of a new execution environment 1. Initializing the address space Statically defined format With respect to an existing execution environment, e.g. fork() 2. Copy-on-write scheme A technique that is used to reduce amount of data copy. Deepak John,CE-Poonjar
  • 13. Copy-on-write – a convenient optimization a) Before write b) After write Shared frame A's page table B's page table Process A’s address space Process B’s address space Kernel RA RB RB copied from RA Deepak John,CE-Poonjar
  • 14. Threads concept and implementation Thread threads were introduced as a lightweight – operating system provided . a process consists of its address-space, and a set of threads attached to that process. The operating system can perform less expensive context switches between threads attached to the same process and threads attached to the same process can access the same memory etc, such that communication/ synchronisation can be much cheaper and less awkward Deepak John,CE-Poonjar
  • 15. A server application generally consists of: A single thread, the receiver- thread which receives all the requests, places them in a queue and dispatches those requests to be dealt with by the worker- threads The worker-thread which deals with the request may be a thread in the same process or it may be a thread in another process Deepak John,CE-Poonjar
  • 16. Client and server with threads Worker pool Server creates a fixed pool of “worker” threads to process the requests when it starts up. The module marked ‘receipt and queuing is typically implemented by an ‘I/O’ thread, Pro: simple Cons 1. Inflexibility: worker threads number unequal to current request number 2. High level of switching between the I/O and worker thread For single thread, server can handle 100 client requests per second Deepak John,CE-Poonjar
  • 17. Alternative server threading architectures Thread-per-request Server spawn a new worker thread for each new request, destroy it when the request processing finish. Pro: throughput is potentially maximized. Con: overhead of the thread creation and destruction Deepak John,CE-Poonjar
  • 18. Thread-per-connection Server creates a new worker thread when client creates a connection, destroys the thread when the client closes the connection. Pro: lower thread management overheads compared with the thread- per-request. Con: client may be delayed while a worker thread has several outstanding requests but another thread has no work to perform Thread-per-object Associate a thread with each remote object Pro&Con are similar to thread-per-connection Deepak John,CE-Poonjar
  • 19. Threads versus multiple processes Creating a thread is (much) cheaper than a process (~10-20times) Switching to a different thread in same process is (much) cheaper (5-50 times) Threads within same process can share data and other resources more conveniently and efficiently (without copying or messages) Threads within a process are not protected from each other Threads implementation can be implemented: in the OS kernel (Win NT, Solaris, Mach) at user level e.g. by a thread library, or in the language (Ada, Java). Deepak John,CE-Poonjar
  • 20. Java thread constructor and management methods • Thread(ThreadGroup group, Runnable target, String name) Creates a new thread in the SUSPENDED state, which will belong to group and be identified as name; the thread will execute the run() method of target. • setPriority(int newPriority), getPriority() Set and return the thread’s priority. • run() A thread executes the run() method of its target object, if it has one, and otherwise its own run() method (Thread implements Runnable). Methods of objects that inherit from class Thread Deepak John,CE-Poonjar
  • 21. • start() Change the state of the thread from SUSPENDED to RUNNABLE. • sleep(int millisecs) Cause the thread to enter the SUSPENDED state for the specified time. • yield() Enter the READY state and invoke the scheduler. • destroy() Destroy the thread. Deepak John,CE-Poonjar
  • 22. Java thread synchronization calls • thread.join(int millisecs) Blocks the calling thread for up to the specified time until thread has terminated. • thread.interrupt() Interrupts thread: causes it to return from a blocking method call such as sleep(). • object.wait(long millisecs, int nanosecs) Blocks the calling thread until a call made to notify() or notifyAll() on object wakes the thread, or the thread is interrupted, or the specified time has elapsed. • object.notify(), object.notifyAll() Wakes, respectively, one or all of any threads that have called wait() on object. Deepak John,CE-Poonjar
  • 23. Operating system architecture Monolithic Kernel Microkernel Server: Dynamically loaded server program:Kernel code and data: ....... ....... Key: S4 S1 ....... S1 S2 S3 S2 S3 S4 Monolithic kernel and microkernel Deepak John,CE-Poonjar
  • 24. Monolithic vs Microkernel A monolithic kernel provides all of the services via a single image, that is a single program initialized when the computer boots A microkernel instead implements only the absolute minimum: Basic virtual memory, Basic scheduling and Inter-process communication All other services such as device drivers, the file system, networking etc are implemented as user-level server processes that communicate with each other and the kernel via IPC Deepak John,CE-Poonjar
  • 25. The Microkernel Approach The major advantages of the microkernel approach include: Extensibility - major functionality can be added without modifying the core kernel of the operating system Modularity - the different functions of the operating system can be forced into modularity behind memory protection barriers. A monolithic kernel must use programming language features or code conventions to attempt to ensure this Robustness -relatively small kernel might be likely to contain fewer bugs than a larger program, however, this point is rather contentious Portability - since only a small portion of the operating system, its smaller kernel, relies on the particulars of a given machine it is easier to port to a new machine architecture Deepak John,CE-Poonjar
  • 26. The role of the microkernel Middleware Language support subsystem Language support subsystem OS emulation subsystem .... Microkernel Hardware The microkernel supports middleware via subsystems Deepak John,CE-Poonjar
  • 27. The Monolithic Approach The major advantage of the monolithic approach is the relative efficiency with which operations may be invoked. Since services share an address space with the core of the kernel they need not make system calls to access core-kernel functionality Most operating systems in use today are a kind of hybrid solution Linux is a monolithic kernel, but modules may be dynamically loaded and unloaded at run time. Deepak John,CE-Poonjar
  • 29. Purposes of a Distributed File System Sharing of storage and information across a network Convenience (and efficiency) of a conventional file system Persistent storage that most other services (e.g., Web servers) need Files Files are an abstraction of permanent storage. A file is typically defined as a sequence of similar-sized data items along with a set of attributes. A directory is a file that provides a mapping from text names to internal file identifiers. Deepak John,CE-Poonjar
  • 30. File attributes updated by system: File length Creation timestamp Read timestamp Write timestamp Attribute timestamp Reference count Owner File type Access control list E.g. for UNIX: rw-rw-r-- updated by owner: Deepak John,CE-Poonjar
  • 31. File Systems Responsible for the (a) organization, (b)storage, (c) retrieval, (d) naming, (e)sharing, and (f) protection of files. Provide a set of programming operations that characterize the file abstraction,particularly operations to read and write subsequences of data items beginning at any point of a file. Directory module: relates file names to file IDs File module: relates file IDs to particular files Access control module: checks permission for operation requested File access module: reads or writes file data or attributes Block module: accesses and allocates disk blocks Device module: disk I/O and buffering File system modules Deepak John,CE-Poonjar
  • 32. UNIX file system operations Deepak John,CE-Poonjar
  • 33. Distributed File System Requirements Deepak John,CE-Poonjar
  • 34. File Service Architecture An architecture that offers a clear separation of the main concerns in providing access to files is obtained by structuring the file service as three components: A flat file service A directory service A client module. The Client module implements exported interfaces by flat file and directory services on server side. Deepak John,CE-Poonjar
  • 35. Client computer Server computer Application program Application program Client module Flat file service Directory service Lookup AddName UnName GetNames Read Write Create Delete GetAttributes SetAttributes Deepak John,CE-Poonjar
  • 36. Flat file service: Concerned with the implementation of operations on the contents of file. Unique File Identifiers (UFIDs) are used to refer to files in all requests for flat file service operations. Directory Service: Provides mapping between text names for the files and their UFIDs. Clients may obtain the UFID of a file by quoting its text name to directory service. Directory service supports functions needed generate directories, to add new files to directories. Client Module: It runs on each computer and provides integrated service (flat file and directory) as a single API to application programs. It holds information about the network locations of flat-file and directory server processes; and achieve better performance through implementation of a cache of recently used file blocks at the client. Deepak John,CE-Poonjar
  • 37. Flat file service operations Read(FileId, i, n) -> Data — throws BadPosition If 1 ≤ i ≤ Length(File): Reads a sequence of up to n items from a file starting at item i and returns it in Data. Write(FileId, i, Data) — throws BadPosition If 1 ≤ i ≤ Length(File)+1: Writes a sequence of Data to a file, starting at item i, extending the file if necessary. Create() -> FileId Creates a new file of length 0 and delivers a UFID for it. Delete(FileId) Removes the file from the file store. GetAttributes(FileId) -> Attr Returns the file attributes for the file. SetAttributes(FileId, Attr) Sets the file attributes Deepak John,CE-Poonjar
  • 38. Access control UNIX checks access rights when a file is opened ,subsequent checks during read/write are not necessary distributed environment a. server has to check. b. stateless approaches 1. access check once when UFID is issued • client gets an encoded "capability" (who can access and how) • capability is submitted with each subsequent request 2. access check for each request. Deepak John,CE-Poonjar
  • 39. File Group A collection of files that can be located on any server or moved between servers while maintaining the same names. Similar to a UNIX filesystem Helps with distributing the load of file serving between several servers. File groups have identifiers which are unique throughout the system (and hence for an open system, they must be globally unique). Used to refer to file groups and files To construct a globally unique ID we use some unique attribute of the machine on which it is created, e.g. IP number, even though the file group may move subsequently. IP address date 32 bits 16 bits File Group ID: Deepak John,CE-Poonjar
  • 40. Case Study: Sun NFS An industry standard for file sharing on local networks since the 1980s An open standard with clear and simple interfaces. OS independent unix implementation rpc udp or tcp Supports many of the design requirements already mentioned: Transparency,heterogeneity,efficiency,fault tolerance Limited achievement of: Concurrency,replication,consistency,security Deepak John,CE-Poonjar
  • 41. NFS architecture Client computer Server computer UNIX file system NFS client NFS server UNIX file system Application program Application program Virtual file systemVirtual file system Other filesystem UNIX kernel system calls NFS protocol (remote operations) UNIX Operations on local files Operations on remote files Application program NFS Client Kernel Application program NFS Client Client computer Deepak John,CE-Poonjar
  • 42. Virtual file system access transparency part of unix kernel NFS file handle, 3 components: filesystem identifier different groups of files i-node (index node) structure for finding the file i-node generation number i-nodes are reused incremented when reused VFS struct for each file system v-node for each open file file handle for remote file i-node number for local file Deepak John,CE-Poonjar
  • 43. NFS access control and authentication Stateless server, so the user's identity and access rights must be checked by the server on each request. In the local file system they are checked only on open() Every client request is accompanied by the userID and groupID Server is exposed to imposter attacks unless the userID and groupID are protected by encryption Kerberos has been integrated with NFS to provide a stronger and more comprehensive security solution Deepak John,CE-Poonjar
  • 44. • read(fh, offset, count) -> attr, data • write(fh, offset, count, data) -> attr • create(dirfh, name, attr) -> newfh, attr • remove(dirfh, name) status • getattr(fh) -> attr • setattr(fh, attr) -> attr • lookup(dirfh, name) -> fh, attr • rename(dirfh, name, todirfh, toname) • link(newdirfh, newname, dirfh, name) • readdir(dirfh, cookie, count) -> entries NFS server operations (simplified) fh = file handle: Filesystem identifier i-node number i-node generation Read(FileId, i, n) -> Data Write(FileId, i, Data) Create() -> FileId Delete(FileId) GetAttributes(FileId) -> Attr SetAttributes(FileId, Attr) Lookup(Dir, Name) -> FileId AddName(Dir, Name, File) UnName(Dir, Name) GetNames(Dir, Pattern) ->NameSeq Deepak John,CE-Poonjar
  • 45. Mount service the process of including a new file system is called mounting. communicates with the mount process on the server in a mount protocol. Server maintains a table of clients who have mounted filesystems at that server Each client maintains a table of mounted file systems holding. hard-mounted user process is suspended until request is successful when server is not responding request is retried until it's satisfied soft-mounted if server fails, client returns failure after a small number of retries user process handles the failure Deepak John,CE-Poonjar
  • 46. THE MOUNT PROTOCOL: The following operations occur: 1. The client's request is sent via RPC to the mount server ( on server machine.) 2. Mount server checks export list containing a) file systems that can be exported, b) legal requesting clients. c) It's legitimate to mount any directory within the legal filesystem. 3. Server returns "file handle" to client. 4. Server maintains list of clients and mounted directories -- this is state information! But this data is only a "hint" and isn't treated as essential. 5. Mounting often occurs automatically when client or server boots. Deepak John,CE-Poonjar
  • 47. Local and remote file systems jim jane joeann usersstudents usrvmunix Client Server 2 . . . nfs Remote mount staff big bobjon people Server 1 export (root) Remote mount . . . x (root) (root) Note: The file system mounted at /usr/students in the client is actually the sub-tree located at /export/people in Server 1; the file system mounted at /usr/staff in the client is actually the sub-tree located at /nfs/users in Server 2. Deepak John,CE-Poonjar
  • 48. Pathname translation pathname: /users/students/dc/abc server doesn't receive the entire pathname for translation, client breaks down the pathnames into parts iteratively translate each part translation is cached Deepak John,CE-Poonjar
  • 49. Automounter NFS client catches attempts to access 'empty' mount points and routes them to the Automounter Automounter has a table of mount points and multiple candidate serves for each it sends a probe message to each candidate server and then uses the mount service to mount the filesystem at the first server to respond Keeps the mount table small Deepak John,CE-Poonjar
  • 50. Server caching caching file pages, directory/file attributes read-ahead: prefetch pages following the most-recently read file pages delayed-write: write to disk when the page in memory is needed for other purposes "sync" flushes "dirty" pages to disk every 30 seconds two write option 1. write-through: write to disk before replying to the client 2. cache and commit: stored in memory cache write to disk before replying to a "commit" request from the client Deepak John,CE-Poonjar
  • 51. Client caching caches results of read, write, getattr, lookup, readdir clients responsibility to poll the server for consistency timestamp-based methods for consistency validation Tc: time when the cache entry was last validated Tm: time when the block was last modified at the server cache entry is valid if: 1. T - Tc < t, where t is the freshness interval t is adaptively adjusted: files: 3 to 30 seconds depending on freq of updates directories: 30 to 60 seconds 2. Tmclient = Tmserver need validation for all cache accesses Reading Deepak John,CE-Poonjar
  • 52. writing dirty: modified page in cache flush to disk: file is closed or sync from client bio-daemon (block input-output) read-ahead: after each read request, request the next file block from the server as well delayed write: after a block is filled, it's sent to the server reduce the time to wait for read/write Deepak John,CE-Poonjar
  • 53. Summary for NFS access transparency: same system calls for local or remote files location transparency: could have a single name space for all files (depending on all the clients to agree the same name space) mobility transparency: mount table need to be updated on each client (not transparent) scalability: can usually support large loads, add processors, disks, servers... file replication: read-only replication, no support for replication of files with updates hardware and OS: many ports fault tolerance: stateless and idempotent consistency: not quite one-copy for efficiency security: added encryption--Kerberos efficiency: pretty efficient, wide-spread use Deepak John,CE-Poonjar
  • 54. Naming Services Definition Key benefits Resource localization Uniform naming Device independent address (e.g., you can move domain name/web site from one server to another server seamlessly). In a Distributed System, a Naming Service is a specific service whose aim is to provide a consistent and uniform naming of resources, this allowing other programs or services to localize them and obtain the required metadata for interacting with them. Deepak John,CE-Poonjar
  • 55. Requirements for name spaces Allow simple but meaningful names to be used Potentially infinite number of names Structured to allow similar subnames without clashes to group related names Management of trust Deepak John,CE-Poonjar
  • 56. Iterative navigation Client 1 2 3 A client iteratively contacts name servers NS1–NS3 in order to resolve a name NS2 NS1 NS3 Name servers Iterative Navigation is the act of chaining multiple Naming Services in order to resolve a single name to the corresponding resource. Iterative Navigation is the act of chaining multiple Naming Services in order to resolve a single name to the corresponding resource. Deepak John,CE-Poonjar
  • 57. Recursive Navigation The Iterative Navigation can be… Recursive: it is performed by the naming server the server becomes like a client for the next server Non recursive: it is performed by the client or the first server if it is performed by the server it is “server controlled” the server bounces back the next hop to its client Deepak John,CE-Poonjar
  • 58. Non-recursive and recursive server-controlled navigation A name server NS1 communicates with other name servers on behalf of a client Recursive server-controlled 1 2 3 5 4 client NS2 NS1 NS3 1 2 34 client NS2 NS1 NS3 Non-recursive server-controlled DNS offers recursive navigation as an option, but iterative is the standard technique. Recursive navigation must be used in domains that limit client access to their DNS information for security reasons. Deepak John,CE-Poonjar
  • 59. The SNS - a Simple Name Service model Stores attributes of named objects such as users, computers and services and group names. Users Computers Services Email server, login info, encoded passwords, home directory Network addresses, architecture, OS, owner Named object Value Service address, version no. Group Mailing lists, group1, group2,... Deepak John,CE-Poonjar
  • 60. SNS basic design requirements Specify the Types of named objects: users, services, computers and group names and directories. Other types of objects may be integrated; The names are used only within the organization; Efficient name lookup; Access control: everyone can read but Authorized write; Deepak John,CE-Poonjar
  • 61. DNS - The Internet Domain Name System A distributed naming database (specified in RFC 1034/1305) Name structure reflects administrative structure of the Internet Rapidly resolves domain names to IP addresses exploits caching heavily typical query time ~100 milliseconds Scales to millions of computers partitioned database caching replication Deepak John,CE-Poonjar
  • 62. Basic DNS algorithm for name resolution (domain name -> IP number) • Look for the name in the local cache • Try a superior DNS server, which responds with: – another recommended DNS server – the IP address (which may not be entirely up to date) Deepak John,CE-Poonjar
  • 63. DNS server functions and configuration Main function is to resolve domain names for computers, i.e. to get their IP addresses. Other functions: reverse resolution - get domain name from IP address Host information - type of hardware and OS Well-known services - a list of well-known services offered by a host Other attributes can be included (optional) Deepak John,CE-Poonjar
  • 64. DNS issues Name tables change infrequently, but when they do, caching can result in the delivery of stale data. Clients are responsible for detecting this and recovering Its design makes changes to the structure of the name space difficult. For example: merging previously separate domain trees under a new root moving subtrees to a different part of the structure (e.g. if Scotland became a separate country, its domains should all be moved to a new country-level domain.) . Deepak John,CE-Poonjar