1/20
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
IPC
IPC (Inter-Process Communication) refers to mechanisms that allow processes to communicate and synchronize with each other.
Shared Memory
Shared memory allows multiple processes to access the same region of memory.
Message Passing
Message passing involves processes sending and receiving messages through the operating system or communication channels.
Advantages of Shared Memory
Fast data exchange (direct access without OS overhead) and suitable for large volumes of data.
Disadvantages of Shared Memory
Requires synchronization (e.g., mutexes or semaphores) to avoid data races and harder to debug and manage due to concurrency issues.
Advantages of Message Passing
Easier to implement and manage, and better isolation between processes (no shared data).
Disadvantages of Message Passing
Slower than shared memory (due to OS involvement and copying of data) and not ideal for large amounts of data.
Shared Memory IPC limitation
Shared memory works only for processes on the same physical machine because it relies on access to the same RAM.
Network
A network is a collection of computers (or devices) connected together to exchange data and resources.
IP Address
An IP address is a unique identifier for a device on a network.
IPv4 format
IPv4 format consists of four decimal numbers separated by dots (e.g., 192.168.1.1), with each number ranging from 0 to 255.
Port Number
A port number is needed to identify the specific service/application on a device.
Networking Port
A port is a logical endpoint for communication, allowing different services on the same device to handle different kinds of traffic.
Well-Known Ports
Well-known ports are specific port numbers assigned to common services and protocols, such as HTTP (port 80) and HTTPS (port 443).
Socket
A socket is an endpoint for sending or receiving data across a network, defined by an IP address, a port number, and a communication protocol.
Server
A server is a program or device that provides services to other programs/devices, called clients.
Client
A client is a program or device that requests and uses services provided by a server.
Communication Protocol
A communication protocol is a set of rules that define how data is formatted, transmitted, and received over a network.
URL
A URL (Uniform Resource Locator) specifies the address of a resource on the web.
DNS
DNS (Domain Name System) translates human-readable domain names into IP addresses.
RPC
RPC (Remote Procedure Call) is a protocol that allows a program to execute code on another computer as if it were local.