Programming

  • Socket Programming using TCP in C

    1.0 Client-server model

    Client - Server System

    Client server model is a software architecture paradigm prevalent in distributed applications. A server has information resources and processes that provide answers to queries and other services to remote clients over the network. Some of the examples of these services ...

  • Signals in Linux

    1.0 Signals

    A signal is a notification delivered to a process by the kernel. A signal indicates that an event has occurred and the process must take note of it. Signals are mostly delivered asynchronously to a process. Whatever the process was doing is suspended and the processing of the signal takes place immediately.

    2.0 Signal disposition

    Each ...

  • D-Bus Tutorial

    D-Bus is a mechanism for interprocess communication for Linux systems. D-Bus concepts along with example client-server programs are explained.

  • POSIX Shared Memory in Linux

    1.0 Shared Memory

    Shared memory is an inter process communication (IPC) mechanism in Linux and other UNIX-like systems. Based on input parameters, the kernel provides a (shared) memory segment to the calling process. The calling process maps the shared memory segment to its address space. This way, the same shared memory segment can be mapped to ...

  • System V Shared Memory in Linux

    1.0 Shared Memory

    Shared memory is one of the three inter process communication (IPC) mechanisms available under Linux and other Unix-like systems. The other two IPC mechanisms are the message queues and semaphores. In case of shared memory, a shared memory segment is created by the kernel and mapped to the data segment of the address ...

  • Queue implementation in C using linked list

    1.0 Queue

    A queue is something we see often in our daily lives. People stand in a queue to get into a bus, to get food in a buffet, buy tickets from the ticket counter, etc. Queues are a fair solution of ordering people to get a resource; people are served in the chronological order of ...

  • POSIX Threads Synchronization in C

    1.0 POSIX Threads Synchronization

    POSIX Threads provide multiple flows of execution within a process. The threads have their own stacks but share the global data and the heap. So the global variables are visible to multiple threads. Also, the threads need to synchronize their actions so that they jointly realize the overall objectives ...

  • POSIX Threads Programming in C

    1.0 POSIX threads

    A process is an execution environment in an operating system. A process has code and data segments which are initialized from a program during an exec system call. A process has a thread of execution, wherein instructions are executed as per the value of the program counter ...

  • POSIX Semaphores in Linux

    1.0 Semaphores

    Semaphores are used for process and thread synchronization. Semaphores are clubbed with message queues and shared memory under the Interprocess Communication (IPC) facilities in Unix-like systems such as Linux. There are two varieties of semaphores, the traditional System V semaphores and the newer POSIX semaphores. In this ...

  • System V Semaphores in Linux

    1.0 Semaphores

    A semaphore is a mechanism for synchronizing processes and threads. Semaphore, in Unix-like systems, are provided under interprocess communication (IPC) facilities along with message queues and shared memory. While message queues can be used by themselves for interprocess communication, semaphores are needed for implementing shared memory based interprocess communication systems. ...

  • Semaphore Basics

    1.0 BACKGROUND

    Semaphore

    A semaphore is a signalling mechanism used to regulate access to a shared resource like a railroad track. A semaphore is used to signal to the driver of a train whether he can go ahead on the track or not. The upward position of ...

  • POSIX message queues in Linux

    POSIX message queue calls for interprocess communication (IPC) between processes are explained with an example of server and client programs in C under Linux.

  • System V message queues in Linux

    1.0 Message queues

    Message queues are one of the interprocess communication mechanisms available under Linux. Message queues, shared memory and semaphores are normally listed as the three interprocess communication mechanisms under Linux. Semaphores, though, are really for process synchronization. In practice, shared memory, aided by semaphores, makes an interprocess communication mechanism. Message queues is the other ...

  • FIFOs in Linux

    1.0 FIFO

    FIFOs are pipes with a name and are also commonly referred to as named pipes. Pipes are common on Linux command lines but do not have a system-wide name. So, any two processes that wish to communicate using a pipe need to be related, either parent and child or, sharing a common parent, who ...

  • Pipes in Linux

    1.0 Interprocess communication

    A process is an active operating system entity which executes programs. Normally, a process, like a specialist, does one particular job (well). In real life, there are complex workflows and we, often, have multiple processes collaborating to accomplish certain objectives. In order to work together, processes need to exchange data. ...

Tags: