Midterm Flashcards
Learn material from first 5 weeks
What is meant by a distributed system?
a group of computers working together as to appear as a single computer to the end-user.
What are the 4 main goals of a distributed system?
- Making resources accessible
- Distribution transparency
- Openness
- Scalability
What are the different types of transparency?
- Access transparency
- Location transparency
- Migration transparency
- Relocation transparency
- Replication transparency
- Concurrency transparency
- Failure transparency
Hide differences in data representation and how a resource is accessed.
Access transparency
Hide where a resource is located.
Location transparency
Hide that a resource may move to another location.
Migration transparency
Hide that a resource may be moved to another location while in use.
Relocation transparency
Hide that a resource is replicated
Replication transparency
Hide that a resource may be shared by several competitive users.
Concurrency transparency
Hide the failure and recovery of a resource.
Failure transparency
A distributed system that is able to present itself to users and applications as if it were only a single computer system is said to be __________.
transparent
A(n) ___________ is a system that offers services according to standard rules that describe the syntax and semantics of those services.
open distributed system
Characterizes the extent by which two implementations of systems or components from different manufacturers can co-exist and work together, by merely relying on each other’s services as specified by a common standard.
Interoperability
Characterizes to what extent an application developed for a distributed system A can be executed, without modification, on a different distributed system B that implements the same interface as A.
Portability
The notion that it should be relatively easy to add parts that run on a different operating system, or even to replace an entire file system.
Extensibility
List the three dimensions by which scalability can be measured,
- size
- geographically
- administratively
What is meant by scalability of size?
We can easily add more users and resources to the system.
What is meant by geographic scalability?
A system in which the users and resources may be far apart.
What is meant by administrative scalability?
It can still be easy to manage even if it spans many independent administrative organizations.
What are three scaling techniques?
- hiding communication latency
- distribution
- replication
Trying to avoid waiting for a response to remote (and potentially distant) service requests as much as possible.
Hiding communication latency
This involves taking a component, splitting it into smaller parts, and subsequently spreading those parts across the system.
Distribution
Name one real-world example of distribution.
DNS tree of domains that are divided into non-overlapping zones.
This technique increases availability, but also helps to balance the load between components, leading to better performance.
Replication
________ is a special form of replication, which results in making a copy of a resource generally in the proximity of the client accessing the resource.
Caching
List the eight false assumptions that everyone makes when developing a distributed application for the first time.
- The network is reliable
- The network is secure
- The network is homogeneous
- The topology does not change
- Latency is zero
- Bandwidth is infinite
- Transport cost is zero
- There is one administrator
What are the three main types of distributed systems?
- Distributed computing systems
- Distributed information systems
- Distributed pervasive systems
In ________ the underlying hardware consists of a collection of similar workstations or PCs, closely connected by means of high-speed local area network. In addition, each node runs the same operating system.
cluster computing
This subgroup consists of distributed systems that are often constructed as a federation of computer systems, where each system may fall under a different administrative domain, and may be very different when it comes to hardware, software and deployed network technology.
Grid computing
What are the two subtypes of distributed information systems?
- Transaction processing systems
2. Enterprise application integration (EAI)
What are the four characteristic properties that transactions have?
- Atomic
- Consistent
- Isolated
- Durable
(ACID)
To the outside world, the transaction happens indivisibly.
Atomic
The transaction does not violate system invariants.
Consistent
Concurrent transactions do not interfere with each other.
Isolated
Once a transaction commits, the changes are permanent.
Durable
An application component that can effectively send a request to another application component by doing a local procedure call, which results in the request being packaged as a message and sent to the callee.
Remote procedure call (RPC)
Type of distributed system in which instability is the default behavior, often characterized by being small, battery-powered, mobile, and having only a wireless connection, although not all of these characteristics apply to all devices.
Distributed pervasive systems
What are the three requirements for a pervasive system?
- Embrace contextual change
- Encourage ad hoc composition
- Recognize sharing as a default
________ form a collection of (fixed) nodes that communicate through wireless links. These networks may form the basis for many medium-scale distributed systems.
Mesh networks
A UNIX process is a(n) ________ of a program in execution.
instance
T/F: Each process has program code, data segment, program stack, etc.
True
What is the result of the following process?
$ ls | wc
Results in the shell creating two processes where the output of ls is sent (via the pipe) as in input to wc
Output would be a count of the number of files in the directory
T/F: A single program can only spawn a single process.
False - a single program may spawn multiple processes.
What are the four basic mechanisms for creating processes in Unix?
- fork
- exec
- wait
- exit
Which unix mechanism creates a new process by duplicating the calling process?
fork
Which Unix mechanism performs the transformation of a process by overlaying its memory space with a new program?
exec
Which Unix mechanism provides the ability for a process to be halted while a related process finished?
wait
Which Unix mechanism is used to terminate a process?
exit
T/F: A fork is typically followed by an exec.
True
T/F: After fork and before exec, the per process values cannot be modified.
False
The name for a newly created process after a successful fork.
child process
The process that makes a fork call is called the _______.
parent process
T/F: After the system call is made successfully, both processes begin execution at the statement after the call to fork.
True
T/F: After a fork, the parent and child process have unique data and code segments.
False - they have identical data and code segments
fork() returns the _____________ of the newly created process to the parent.
process ID
fork() returns a ________ to the newly created process.
0 (zero)