I/O multiplexing: select, poll and epoll in Linux

  • by

1.0 I/O multiplexing

I/O multiplexing is the the ability to perform I/O operations on multiple file descriptors. Input operations like read, accept and calls for receiving messages block when there is no incoming data. So, if an input call is made and it blocks, we may miss data from other file descriptors.… Read more

POSIX real-time signals in Linux

  • by

1.0 Signals

Signals are notifications delivered asynchronously to a process by the kernel. Signals are grouped in two categories. First, there are standard signals, which have been there since the early days of Unix. Second, there are POSIX real-time signals which are specified in POSIX.1b, or, IEEE Std 1003.1b-1993, for Real-time Extensions for POSIX compliant Operating Systems.… Read more

How to create a temporary file in Linux

  • by

1.0 Temporary Files

Quite often, we need temporary files in our programs. Some intermediate data needs to be stored and the file can be discarded when the process terminates. There are functions and command to create temporary files in Linux. The mkstemp function creates a temporary file and returns a file descriptor.… Read more

Interprocess Communication using Unix Domain Sockets

  • by

1.0 Unix Domain Sockets

A socket is a communication endpoint at a host computer. The socket API provides calls for communication between processes. The socket system call is,

int socket (int domain, int type, int protocol);

The first parameter to the socket system call is the domain.… Read more

File I/O in Linux

  • by

1.0 Input and Output (I/O)

All programs need to interact with the external world which makes I/O important. Programs store data in files which provide large persistent storage. In this post we will look at the system calls and functions for file I/O and the issues that govern the program and I/O device interaction.… Read more

Files in Linux

  • by

1.0 Files

There are two basic concepts in Linux - processes and files. The processes do things and files keep all the important data. An efficient filesystem is important for an operating system. When Unix was conceived around 1969-70, several design decisions were taken to simplify the filesystem.… Read more

Connecting 7" touchscreen display to Raspberry Pi 4B

  • by

1.0 Introduction

Raspberry Pi 4B has a Display Serial Interface (DSI) port for connecting a Raspberry Pi touchscreen display using a ribbon cable. In this post we will look at the process of connecting the Raspberry Pi 7" touchscreen display with the Raspberry Pi 4B single board computer.… Read more

Uname command with examples

  • by

1. uname command

The uname command prints information about the system. uname is a portmanteau word made up from "unix" and "name". uname can be called from the command line in Linux as,

uname [OPTION]...

The most common way to use uname is with the -a option, which stands for "all" the information.… Read more

Getting started with Raspberry Pi

  • by

1.0 Raspberry Pi

Raspberry Pi 4 Model B

Raspberry Pi is a popular single board computer developed by the Raspberry Pi Foundation in the U.K. Raspberry Pi 4 Model B (Pi4B) was released in June 2019. The main components of Pi4B are:

  • The system-on-chip, (Soc).
Read more