Exam 3 Parallel Dis (Logic )

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/85

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 11:44 PM on 9/19/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

86 Terms

1
New cards

Procedural vs Object-Oriented Languages: What is the primary structural difference?

Procedural languages (e.g. C) structure code around sequential functions operating on separate data. Object-Oriented languages (e.g. Java) encapsulate data attributes and behavior methods together into objects.

2
New cards

UML Class Diagram Notations: How are inheritance and composition represented visually?

Inheritance (is-a) uses a solid line with a hollow arrowhead pointing to the superclass. Composition/Aggregation (has-a) uses a diamond symbol attached to the owner class.

3
New cards

Java Program Execution Environments: Where do Java Applications

Applets

4
New cards

Process State Lifecycle: What sequence of states does a process transition through?

New (created) -> Ready (waiting for CPU time) -> Running (executing instructions) -> Blocked/Waiting (waiting for I/O or lock) -> Terminated (finished execution).

5
New cards

Java Thread Creation Methods: What is the functional trade-off between extending Thread vs implementing Runnable?

Extending Thread limits a class due to Java single inheritance rules. Implementing Runnable allows the class to implement multiple interfaces and extend another class while defining concurrent behavior.

6
New cards

Race Conditions: Why do race conditions occur in multi-threaded software?

They occur when multiple concurrent threads read and mutate shared data without synchronization

7
New cards

Java Synchronized Keyword: How does a synchronized method ensure thread safety?

It acts as a mutual exclusion lock (mutex) on an object or method

8
New cards

OSI vs TCP/IP Models: How do their layer structures differ?

The OSI model is a theoretical 7-layer framework (Physical

9
New cards

IPv4 vs IPv6 Addressing: What are the differences in address size and format?

IPv4 uses 32-bit addresses written as 4 decimal octets (e.g. 192.168.1.1). IPv6 uses 128-bit addresses written as 8 groups of hexadecimal digits separated by colons.

10
New cards

DNS Lookup Logic: What is the main function of the Domain Name System?

DNS translates human-readable domain names (e.g. kennesaw.edu) into machine-routable IP addresses for TCP/IP network communication.

11
New cards

Logical Port Numbers: Why are logical ports necessary alongside IP addresses?

An IP address routes network packets to a specific host machine

12
New cards

Well-Known Ports Range: What is the port range for well-known services and key examples?

Well-known ports range from 0 to 1023. Key examples include Port 80 (HTTP)

13
New cards

Network Socket Definition: What two elements uniquely define a network socket?

A socket is defined by the combination of an IP address and a 16-bit logical port number (e.g. 192.168.1.1:8080).

14
New cards

URI vs URL Distinction: What is the relationship between a URI and a URL?

A URI (Uniform Resource Identifier) identifies a resource by name or location. A URL (Uniform Resource Locator) is a specific type of URI that specifies both resource location and access protocol (e.g. https://).

15
New cards

Interprocess Communication (IPC)

What primary mechanism allows independent processes to exchange data and synchronize actions in a distributed system?

16
New cards

OS-Level IPC Facilities

Which three basic OS-level facilities are commonly built upon to implement higher-level IPC APIs? (Message queues semaphores shared memory)

17
New cards

Unicast vs Multicast

How does unicast IPC differ from multicast IPC in terms of process targets? (1-to-1 vs 1-to-many communication)

18
New cards

Synchronous Communication

What happens to a process thread of execution when it executes a synchronous IPC operation? (It blocks or waits until completion)

19
New cards

Asynchronous Communication

What is the key advantage of asynchronous IPC over synchronous IPC regarding thread execution? (Non-blocking execution allows the process to continue running immediately)

20
New cards

Synchronous Send

Under what condition does a synchronous send call unblock and return control to the process? (Only after the message is received or acknowledged by the receiving side)

21
New cards

Asynchronous Send

Why does an asynchronous send return control immediately even if the receiver hasn't received the message yet? (The message is placed in a system buffer for background delivery)

22
New cards

Synchronous Receive

What state does a receiving process enter if it issues a synchronous receive call before any message arrives? (It enters a blocked waiting state until a message arrives)

23
New cards

Asynchronous Receive

How does a process handle incoming data during an asynchronous receive without blocking main execution? (Via background threads polling or event callbacks and notifications)

24
New cards

Threads for Asynchronous IPC

How can multi-threading simulate asynchronous behavior when only blocking IPC primitives are available? (By delegating blocking operations to dedicated background worker threads)

25
New cards

Blocking

What state transition does the OS kernel perform on a process executing a blocking IPC call? (Moves it from running to waiting or blocked state freeing the CPU)

26
New cards

Deadlock in IPC

What scenario leads to an IPC deadlock between two communicating processes? (Each process blocks waiting for a message or signal that can only be sent by the other blocked process)

27
New cards

Timeout Mechanism

Why are timeouts essential in network IPC operations? (They prevent indefinite blocking if a network packet is lost or a remote process crashes)

28
New cards

Data Representation

Why is data representation agreement necessary between heterogeneous host architectures in IPC? (Different CPU architectures may use different endianness alignment or primitive bit sizes)

29
New cards

Data Marshalling

What transformation occurs during data marshalling before sending an in-memory object over a socket? (Flattening complex pointers and structures into a contiguous sequence of bytes)

30
New cards

Unmarshalling

What is the role of unmarshalling on the receiving end of an IPC message? (Reconstructing the byte stream back into valid in-memory data structures or objects)

31
New cards

Data Encoding Protocols

Give two examples of self-describing text-based data encoding formats used in distributed systems. (XML and JSON)

32
New cards

Text-Based Protocols

What is a major trade-off of text-based protocols like HTTP compared to binary protocols? (Text protocols are human-readable and easier to debug but incur higher bandwidth and parsing overhead)

33
New cards

Protocol Definition

What essential components must a network protocol define for two processes to interoperate? (Message formats syntax semantics and valid sequence or timing of exchanges)

34
New cards

Request-Response Paradigm

In a standard client-server request-response exchange which process must initiate the sequence? (The client process issues the request first while the server waits passively)

35
New cards

HTTP Protocol Classification

What IPC paradigm and protocol format does basic HTTP use? (A request-response paradigm using a text-based application protocol)

36
New cards

Sequence Diagram in IPC

What does the vertical axis represent in an IPC sequence or event diagram? (The progression of time during message exchange between processes)

37
New cards

Event Synchronization

How do two asynchronous processes achieve event synchronization using IPC primitives? (By sending and waiting on explicit signal or ack messages to align execution checkpoints)

38
New cards

Message Passing vs Remote Procedure Call

Message Passing operates at a low level requiring explicit send/receive and socket protocol handling

39
New cards

Role of Stubs in RPC Architecture

Client stubs marshal parameters and transmit requests across the network

40
New cards

Interface Definition Language (IDL) Purpose in RPC

To define remote procedure signatures in a language-independent manner

41
New cards

Publish-Subscribe vs Point-to-Point Message Systems

Point-to-Point queues deliver each message to exactly one consumer process

42
New cards

Asynchronous Decoupling in Message-Oriented Middleware (MOM)

Senders and receivers do not need to execute simultaneously or hold open connections; messages are stored securely in queues until the receiver is ready to process them.

43
New cards

Differences Between Java RMI and Traditional RPC

RMI is specifically object-oriented and Java-bound

44
New cards

Role of the RMI Registry

Acts as a centralized bootstrap naming service where servers bind URL names to remote object references so clients can look up and obtain remote stubs.

45
New cards

Parameter Passing Semantics in Java RMI

Primitive types and serializable objects are passed by value (deep copy via serialization)

46
New cards

Service Discovery Logic in Network Services Paradigm

Service providers register capabilities with a service broker; clients dynamically query the broker to discover

47
New cards

Object Space (Tuple Space) Synchronization Mechanism

Processes communicate indirectly by writing

48
New cards

Primary Advantage of the Mobile Agent Paradigm

Reduces network latency and bandwidth usage by moving computation code directly to the remote data source host instead of transmitting large data volumes over the network.

49
New cards

Security Risks Associated with Mobile Agents

Host environments must protect themselves from malicious agent code execution

50
New cards

Client-Server Bottleneck and Failure Issues

Centralized servers present a single point of failure and potential performance bottlenecks under high concurrent client requests.

51
New cards

Peer-to-Peer Scalability Advantage

As the number of participating nodes increases

52
New cards

Component Containers Runtime Management Functionality

Containers manage non-functional system services like transaction processing

53
New cards

Marshaling vs Unmarshaling Data Transformations

Marshaling serializes structured in-memory data objects into a standardized flat byte stream for transmission; unmarshaling deserializes the byte stream back into native memory structures.

54
New cards

Synchronous vs Asynchronous Communication Behavior

Synchronous communication requires the sender to block until the receiver accepts or completes processing; asynchronous allows the sender to immediately continue execution.

55
New cards

Synchronous vs Asynchronous Collaborative Applications (Groupware)

Synchronous groupware coordinates real-time concurrent user actions (e.g.

56
New cards

Loose Coupling in MOM Systems

Senders and receivers require no knowledge of each other's identity or runtime location; they only interact through message channels or topic queues.

57
New cards

Object Request Broker (ORB) Function in CORBA

Acts as an intermediate object bus that intercepts client method calls

58
New cards

Associative Addressing in Tuple/Object Spaces

Tuples are retrieved from the shared space by matching the structural pattern and type values of fields

59
New cards

State Migration in Mobile Agents

When an agent moves

60
New cards

Why Remote Operations Can Fail When Local Operations Cannot

Distributed invocations are subject to network partitions

61
New cards

Stateless vs Stateful Server Design Logic

Stateless servers retain no client session state between requests

62
New cards

Trade-offs of Object Space / Generative Communication

Provides extreme spatial and temporal decoupling between processes

63
New cards

Socket API Primary Origin

An Interprocess Communication (IPC) interface originally created for Berkeley UNIX that now serves as the de facto standard for network programming across modern operating systems.

64
New cards

Socket Fundamental Concept

A software construct acting as an abstract endpoint that allows processes on separate machines or the same machine to exchange network data.

65
New cards

Connection-Oriented vs Connectionless Trade-off

Connection-oriented sockets guarantee reliable and in-order delivery with higher overhead

66
New cards

Stream-Mode Data Boundary Behavior

Data sent via stream-mode sockets (TCP) flows as a continuous stream of bytes without preserving message boundaries between write operations.

67
New cards

Datagram-Mode Data Boundary Behavior

Data sent via datagram sockets (UDP) is transmitted as distinct

68
New cards

UDP Packet Loss Logic

If a sent DatagramPacket is dropped by the network

69
New cards

Datagram Socket Port Binding Logic

An application acting as a receiver must bind its DatagramSocket to a specific

70
New cards

Datagram Socket Ephemeral Port Logic

Calling the default DatagramSocket constructor without parameters automatically binds the socket to an available system-assigned port

71
New cards

DatagramPacket Sender Constructor Requirements

To send a packet

72
New cards

DatagramPacket Receiver Constructor Requirements

To receive a packet

73
New cards

DatagramSocket receive Method Execution Behavior

The receive method is a blocking call that halts execution of the thread until an incoming packet arrives at the socket's bound port.

74
New cards

DatagramSocket Timeout Mechanic

Calling setSoTimeout with a millisecond value forces receive to unblock and throw a SocketTimeoutException if no packet arrives within the specified window.

75
New cards

DatagramPacket Buffer Truncation Risk

If an incoming datagram payload exceeds the array size allocated in the receiving DatagramPacket

76
New cards

ServerSocket Role in TCP

ServerSocket listens passively on a specified local port for incoming client connection requests and does not handle direct data transfer itself.

77
New cards

ServerSocket accept Method Return Value

The accept method blocks until a client connects

78
New cards

TCP Server Concurrent Client Handling Logic

A TCP server uses ServerSocket to accept connections and spawns a separate thread per returned Socket object so multiple clients can be handled concurrently.

79
New cards

Socket InputStream/OutputStream Purpose

The getInputStream method obtains a byte stream for receiving data

80
New cards

Socket Connection Sequencing

The client instantiates a Socket specifying the server IP and port

81
New cards

Datagram Socket Sender IP Discovery Mechanic

A UDP receiver can extract the sender's IP address and port from an incoming DatagramPacket using getAddress and getPort to send a reply back.

82
New cards

Blocking Operation Consequences

Executing blocking methods like accept or receive on the main UI thread freezes the user interface until network events complete or time out.

83
New cards

JSSE Application Security Layer

Java Secure Socket Extension provides SSL/TLS protocol implementations that wrap standard socket streams to provide encryption and authentication.

84
New cards

Socket Resource Leak Prevention

Sockets and their associated input/output streams must be explicitly closed using close or a try-with-resources block to free OS network ports and buffers.

85
New cards

DatagramSocket Reuse Across Multiple Messages

A single DatagramSocket instance can be reused to send and receive multiple independent DatagramPacket objects to and from different destinations.

86
New cards

TCP Stream Buffering Logic

Writes to a TCP OutputStream may be buffered locally by the OS until flushed or filled