Tutorials :: The Linux Channel

Watch on Youtube - [266//0] 0x1d8 Introduction to Network Processors (NPU) | Part 2 | #TheLinuxChannel #KiranKankipati ↗

Select a video series topic:

☆ Tutorials :: Arduino UNO Projects ↗

☆ Tutorials :: Network Software Development ↗

☆ Tutorials :: Research and Projects ↗

Tutorials :: Linux (user-space), Systems Architecture

Dynamic linking without STDLIB in Linux user-space C programming ↗
Wednesday' 15-Jul-2020

Linux user-space Atomic Operations via GCC Atomic builtins ↗
Wednesday' 15-Jul-2020

Linux user-space Pthread Synchronization via Mutex - Live Demo and Example ↗
Wednesday' 15-Jul-2020

A Linux system call in C without a standard library ↗
Wednesday' 15-Jul-2020

C code to read a /proc file in Linux user-space - Live Demo and Example ↗
Wednesday' 15-Jul-2020

mmap() munmap() - map or unmap files or devices into memory ↗
Wednesday' 15-Jul-2020

Synchronization in Linux user-space - Architecting multi-process and multi-threads ↗
Wednesday' 15-Jul-2020

Circular Ring Buffers Architecture - Linux Kernel - Device Drivers - Network Stack ↗
Wednesday' 15-Jul-2020
A circular buffer, circular queue, cyclic buffer or ring buffer is a data structure is a fixed-size buffer as if it were connected end-to-end or can be a dynamic one if implemented via Linked Lists. This is a data-structure quite popularly used in many parts of Linux Kernel such as Device Drivers, especially Network Hardware drivers, Network Packet Buffer such as sk_buff and so on. We can use a Ring Buffer in user-space application programming too. These kind of buffers are more suited for holding steady stream of incoming data. For example Network Packets. If the buffer gets full, we can discard the oldest buffer elements (such as packets). And to avoid we can increase the buffer size. So circular ring buffers plays a major role especially in Network Appliances such as Routers, Firewalls, etc.

Coding a simple look-up-table in C - without Linked lists and a binary search ↗
Wednesday' 15-Jul-2020

Linux user-space - Shared Memory IPC - Live Demo and Example ↗
Wednesday' 15-Jul-2020

Join on-line Classes

☆ Tutorials :: Linux Kernel Software Development ↗

☆ Tutorials :: Linux Kernel Internals (PDFs) - by Ramin Farajpour ↗

☆ Tutorials :: Software Development (Programming) Tools ↗

☆ Tutorials :: Embedded Projects ↗

Join The Linux Channel :: Facebook Group ↗

Visit The Linux Channel :: on Youtube ↗

Join a course:

💎 Linux, Kernel, Networking and Device Drivers: PDF Brochure
💎 PhD or equivalent (or Post Doctoral) looking for assistance: Details
💎 ... or unlimited life-time mentorship: Details

💗 Help shape the future: Sponsor/Donate

Recommended Topics:
Featured Video:
Watch on Youtube - [218//0] 0x1d6 Data-Plane and Control-Plane of a Networking Device | Reshoot | Part 2 | #TheLinuxChannel ↗

Roadmap - How to become Linux Kernel Developer - Device Drivers Programmer and a Systems Software Expert ↗
Wednesday' 15-Jul-2020
Many viewers and even sometimes my students ask me how I can become a kernel programmer or just device driver developer and so on. So I shot this video (and an add-on video) where I summarized steps and a roadmap to become a full-fledged Linux Kernel Developer.

Linux Kernel Module to Drop Packets captured via netfilter hooks ↗
Wednesday' 15-Jul-2020
Here is my sample Kernel Module to drop packets (i.e sk_buff instance) captured via netfilter hooks. When you want to drop packets in your custom netfilter hooks make sure you never do a manual kfree_skb(skb) API call. Since it is anyway performed once the flow of the code moves out of your kernel module netfilter hook. All you need to do is to return NF_DROP to drop gracefully the desired packet. Here is my detailed video and a sample Linux Kernel module.

Weekly News Digest - Week 02 - July 2020 ↗
Wednesday' 15-Jul-2020
The Linux Channel :: Weekly News Digest - Week 02 - July 2020
> Google is teaming up with Ubuntu to bring Flutter apps to Linux
> Linux kernel developers: This new BLM coding style avoids words like blacklist
> Zstd'ing The Kernel Might See Mainline With Linux 5.9 For Faster Boot Times
> Linux 5.9 To Bring Arm Memory Tagging Extension Support
> Linux Kernel Raising Compiler Build Requirement To GCC 4.9
> Linux Developers May Discuss Allowing Rust Code Within The Kernel
> Premio Unveils Intel 9th Gen Industrial Motherboard For Advanced Embedded And IoT Solutions

CEO, CTO Talk ↗
Wednesday' 15-Jul-2020

Arduino UNO - RO Water Purifier Controller ↗
Wednesday' 15-Jul-2020
Here is a Youtube VLOG of my DIY RO Water Purifier Controller done via Arduino UNO. I want the Arduino UNO to control the RO pump, so that it pumps for a specific duration and stops automatically. This is done via Opto-isolated 4 Channel 5V 10A Relay Board meant for Arduino UNO, Raspberry Pi or similar SoC boards which offers GPIO pins. To this relay I have connected the RO water purifier booster pump which works at 24V DC connected via 220V AC to 24V DC power supply adaptar. I have also connected a small active 5V buzzer to notify the progress and completion as it fills the tank/canister.

AT&T Archives: The UNIX Operating System ↗
Wednesday' 15-Jul-2020

Data-Plane and Control-Plane of a Networking Device ↗
Wednesday' 15-Jul-2020

Socket Options - Socket Programming - setsockopt(), getsockopt() ↗
Wednesday' 15-Jul-2020

Tour of my new Home Networking Lab within VirtualBox VM ↗
Wednesday' 15-Jul-2020

PyDelhi + PyData + ILUG-D + Linux Chix meetup mash @ Sarai on 17-Dec-2016 ↗
Wednesday' 15-Jul-2020

Trending Video:
Watch on Youtube - [211//0] 0x1b2 NAS OS | OpenZFS | FreeNAS Memory Analysis | Filesystem Metadata Overhead | NAS Performance ↗

SNMP and MIB Browsers ↗
Wednesday' 15-Jul-2020

Recommended Video:
Watch on Youtube - [222//0] 0x1af Control and Management Plane | Building my own Userspace Network Stack | Ep3 ↗