Software Eng 2 Flashcards
(48 cards)
What is a distributed system?
A collection of independent computers that appears to the user as a single coherent system.
List 5 benefits of developing systems as distributed systems.
- Resource Sharing
- Openness
- Concurrency
- Scalability
- Fault Tolerance
What does transparency in distributed systems refer to?
The extent to which the distributed system appears to the user as a single system.
What is the significance of openness in distributed system design?
Should a system be designed using standard protocols that support interoperability?
What is scalability in the context of distributed systems?
The capability of the system to increase its capacity in response to increasing demands.
What are the challenges related to security in distributed systems?
- Interception
- Interruption
- Modification
- Fabrication
What does failure management in distributed systems involve?
- Detecting component failures
- Continuing service delivery despite failures
- Implementing fault tolerance techniques
Define procedural interaction in distributed systems.
One computer calls a known service provided by another computer and waits for it to be delivered.
What is message-based interaction?
A message is sent to another computer after specifying what needs to be included in it.
True or False: In procedural interaction, the caller and receiver must be available at the same time.
True
What is middleware in distributed systems?
Software necessary to manage components and ensure they can exchange information and communicate.
What is the client-server model?
An application modeled as a set of services provided by servers, with clients interacting with those services.
What are the layers in a layered architectural model for client-server applications?
- Presentation Layer
- Data Handling Layer
- Application Processing Layer
- Database Layer
What is the master-slave architecture?
A model where separate processors are assigned to tasks like data acquisition, processing, and actuator management.
What are the characteristics of the master-slave model?
- Suitable for predictable, localized, and distributed processing
- Common in real-time systems requiring strict deadlines
- Efficient task delegation
What defines a two-tier client-server architecture?
Structured around a single logical server and multiple client devices interacting with it.
What is a thin client?
A client device that primarily handles the presentation layer while the server manages other aspects.
What is a fat client?
A client device that distributes some or all of the application processing to reduce the load on the server.
What is the main issue with a two-tier client-server setup?
It forces the system’s logical layers onto just two machines: the client and the server.
What are the benefits of distributed component architectures?
- Service Allocation Flexibility
- Open System Architecture
- Scalability and Flexibility
- Dynamic Reconfiguration
What are the drawbacks of distributed component architectures?
- Complexity
- Lack of Universal Standards
What is a peer-to-peer (P2P) architecture?
A decentralized network where any node can perform computations, eliminating the distinction between clients and servers.
What are the advantages of decentralized P2P architecture?
- High redundancy
- Fault-tolerant and resilient to node disconnections
What are the challenges of Software as a Service (SaaS)?
- Data transfer speeds can be a bottleneck
- Users may incur costs based on data transfer volume
- Limited control over software updates