Home

Welcome to The Linux Channel – a Linux and Tech Youtube Channel for advance Linux users, systems and network software programmers and tech enthusiasts.

Join a course ↗


Linux Kernel Driver Device Trees #programming #linux #kernel
The Linux kernel is the backbone of the Linux operating system. A device tree is a hierarchical tree structure that describes the various devices that are present in a system, including their properties and relationships to one another. The device tree is used by the Linux kernel to identify and initialize the different devices on …
Linux Kernel Network stack and architecture
Detailed scheme of the forwarding operations in 2.6 kernel NAPI – www.researchgate.net/profile/Roberto_Bruschi/publication:Figure 4. Detailed scheme of the forwarding operations in 2.6 kernel NAPI. Image courtesy/source HERE The linux networking architecture – Hugo lu, software engineer at Terawins slideshow:Linux Kernel Network subsystem architecture Image courtesy/source HERE The linux networking architecture – Hugo lu, software engineer at …
Research Socket overhead in Linux vs Message Queues and benchmarking #ipc #benchmarks
The objective of this research is to assess the system performance overheads of user-space sockets (in this case UDP sockets) vs Message queues. So that this can be used as a basis to access a server/device potential as a Linux based network appliance (can be a Firewall device, VPN, WAN Optimization, and so on). Kindly …
Code with Kiran – Live Coding – Linux Kernel Programming – Kernel Libraries #coding #demo #kernel
In the case of user-space programs, we use third-party libraries (explicit or implicit), but that cannot happen when you code in kernel space. The libraries share the same address space and they are part of Linux Kernel mainline source. Hence it is important to understand the significance of using such library as demonstrated in my …
Compiling a C Compiler with a C Compilter – Compile gcc with gcc
The fundamental aspect of a programming language compiler is to translate code written from language to other. But most commonly compilers will compile code written in high-level human friendly language such as C, C++, Java, etc. to native CPU architecture specific (machine understandable) binary code which is nothing but sequence of CPU instructions. Hence if …
Circular Ring Buffers Live Visual Demo – Linux Kernel – Device Drivers – Network Stack
In the past I discussed in depth about Architecture and big-picture of Circular Ring buffers and its significance which you can go through over HERE. Here I did a live graphical visual demonstration of the operation of circular ring buffers. So here is my multi-part YouTube video episodes where you can see live visual demonstration …
Circular Ring Buffers Architecture – Linux Kernel – Device Drivers – Network Stack
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.
libpcap Library – Linux User-space Network Stack Development
libpcap is a very popular user-space networking library, with which you can capture and or generate packets. libpcap is the underlying framework for many popular packet capture tools such as tcpdump, Wireshark and so on. Here is my detailed multi-episode YouTube video series on libpcap Library with a sample libpcap C code.
Linux Kernel Programming – Kernel Source-code Porting – Introduction #kernel #linux #coding
At times you may come across some old or legacy kernel source-code which could be something you stumbled across online open-source code or it could be your organization proprietary code which you no longer able to compile and get it working on your recent target kernel version(s). So in such circumstances you may need to …
Linux Kernel-Space Socket Programming – Introduction #kernel #linux #networking
Usually as a part of network software development you do socket programming. But this is typically done in user-space, where the user-space socket APIs takes the instructions (via socket API arguments) and passes down to kernel to establish and maintain the socket connections. Although internally its actually kernel does via IPv4 stack or IPv6 stack …