IPC Items Flashcards

1
Q

What is IPC?

A

IPC (Inter-Process Communication) refers to the mechanisms and techniques used by processes to communicate and synchronize with each other within a computer system or across networked systems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are two general classes of IPC?

A

(shared memory and message passing)

Shared Memory: Processes share a portion of memory, allowing them to read from and write to the same memory region. Changes made by one process are visible to others.
Message Passing: Processes communicate by sending and receiving messages through a predefined communication channel, which can be either synchronous or asynchronous.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the idea of shared memory? What are the advantages and disadvantages of shared memory?

A

Idea: Shared memory allows multiple processes to access the same memory region directly, facilitating fast communication and data sharing.
Advantages: Fast communication, no need for data copying, efficient for large data transfers.
Disadvantages: Synchronization issues, potential for data inconsistency or race conditions, limited to processes running on the same system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the idea of message passing? What are the advantages and disadvantages of message passing?

A

Idea: Message passing involves processes communicating by sending and receiving messages through a communication channel managed by the operating system.
Advantages: Implicit synchronization, supports communication between processes running on different systems, flexible and scalable.
Disadvantages: Overhead due to message copying, potential for message loss or delay, requires careful design of communication protocols.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Can shared memory kind of IPC communication be used for two processes running on two different computers? Why do you think so?

A

No, shared memory IPC communication cannot be directly used for processes running on different computers because shared memory is confined to a single system’s memory space. Processes on different computers have their own isolated memory spaces and cannot directly access each other’s memory. Instead, network-based communication mechanisms such as sockets and message passing protocols are used for inter-computer communication.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is a network?

A

(a bunch of computers connected together to exchange data)

A network is a collection of interconnected devices (such as computers, servers, routers, and switches) that communicate and exchange data with each other using wired or wireless connections.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is an IP address? How does a classic IP address (IPv4) look like?

A

An IP (Internet Protocol) address is a unique numerical identifier assigned to each device connected to a network. A classic IP address, known as IPv4 (Internet Protocol version 4), consists of four sets of numbers separated by dots, where each set can range from 0 to 255 (e.g., 192.168.1.1).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Why isn’t an IP address alone enough for networking communications?

A

An IP address alone is not enough for networking communications because it only identifies the location of a device on a network. Additional information, such as the port number and the specific application protocol being used, is required to establish a connection and exchange data between devices.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a networking port?

A

A networking port is a software-based endpoint that allows communication between devices over a network. Ports are identified by numerical values and are associated with specific protocols or services. For example, port 80 is commonly used for HTTP (web) traffic, and port 22 is used for SSH (secure shell) connections.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are well-known ports?

A

Well-known ports are ports numbered from 0 to 1023, reserved for specific services or protocols defined by the Internet Assigned Numbers Authority (IANA). These ports are commonly used by well-known network services such as HTTP (port 80), HTTPS (port 443), FTP (port 21), and SSH (port 22).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is a (networking) socket?

A

A socket is a communication endpoint that allows processes to communicate over a network. It consists of an IP address and a port number, enabling bidirectional data transfer between client and server applications.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is a server (like in “web server” or “email server”)?

A

A server is a computer program or hardware device that provides services or resources to other computers, known as clients, over a network. Examples include web servers (which deliver web pages), email servers (which handle email communication), and file servers (which store and distribute files).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is a client?

A

A client is a computer program or device that requests services or resources from a server over a network. Clients initiate communication with servers to access data, services, or applications provided by the server.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is a communication protocol?

A

A communication protocol is a set of rules and conventions that govern the exchange of data between devices or systems. Protocols define the format, timing, sequencing, and error handling mechanisms used in communication to ensure reliable and efficient data transfer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is a URL?

A

A URL (Uniform Resource Locator) is a web address used to specify the location of a resource on the internet. It typically consists of a protocol identifier (such as “http://” or “https://”), followed by the domain name or IP address of the server, and optionally, the path to the specific resource.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is DNS?

A

DNS (Domain Name System) is a hierarchical decentralized naming system used to translate human-readable domain names (such as example.com) into numerical IP addresses (such as 192.0.2.1). DNS enables users to access websites and services using memorable domain names rather than numerical IP addresses.

17
Q

What is RPC?

A

RPC (Remote Procedure Call) is a protocol that allows a computer program to execute procedures or functions on a remote server as if they were local procedures. RPC abstracts the details of network communication, enabling distributed systems to communicate seamlessly across networks.