Linux Kernel Programming - IPC b/w Userspace and KernelSpace

Posted By: lucky_aut

Linux Kernel Programming - IPC b/w Userspace and KernelSpace
Last updated 1/2022
Duration: 2h 49m | .MP4 1920x1080 30 fps(r) | AAC, 44100 Hz, 2ch | 1.51 GB
Genre: eLearning | Language: English

System Programming - Learn Netlink Sockets, Operating Systems, Loadable Kernel Modules, C programming From Scratch

What you'll learn
- Linux Kernel Modules (LKM)
- Netlink Sockets
- Concept of TLVs (Type Length Value)
- User-space and Kernel Space Communication
- Linux Kernel Programming
- Multicast from Kernel Space to User Space
- Event based notification from Kernel Space to User-space

Requirements
- C programming is essential and must
- At-least High level Operating system Knowledge shall be good
- Linux Operating System running as VM

Description
Welcome to theLinux Kernel Programming world!This is the course on Netlink Sockets in which I have covered Netlink Sockets in Detail which is a kernel facility provided to userspace applications to carry out bidirectional IPC with kernel space. In this course, We shall learn how Netlink Sockets can be used to exchange Netlink Messages between Kernel and Userspace.

This Course could also be your first step towards entering the kernel programming world !! This is a good starting point for those who will be writing kernel code for the first time. We shall be writing lots of lots of kernel and userspace code to understand Netlink Based communication. Need-less to say you should be good with C programming.

Table Of Contents :

******************

Section 1: Setting Up Development Environment

Agenda, Pre-requiste, Assumption

How to do Kernel Programming based Courses ?

Setting up Development Environment

Installing Linux Kernel Headers

Section 2: Writing Linux Kernel Modules

What are LKMs ?

Hellow-World LKM

Section 3: Understanding Netlink Sockets

Communication Mediums in the System

Sockets - As a unified interface

Netlink Communication Use-Cases

The Netlink Project for the Course

Section 4: Netlink Communication - Theory before Coding

Netlink Msg formats

Netlink Msg types

Netlink Msg flags

Netlink Communication Model

Netlink Sequence Number

Netlink Port ID

Section 5 & 6: Writing a First Netlink Program

Greet Kernel from Userspace

Receive Reply from Kernel to Userspace

Section 7: The Netlink Attributes - The Concept of TLVs

The Concept of TLVs

Parsing of TLV Buffer

Section 6: Getting Started with Netlink Project

Problem Statement

Sending CREATE Netlink Msg to Kernel

Getting Feedback/Reply from Kernel to Userspace

Sending UPDATE Netlink Msg to Kernel

Netlink DELETE Netlink Msg to Kernel

Netlink READ operation Reading Data from Kernel Space into USer space

Section 7: Netlink Group Subscription

Sending Kernel Data to Multiple Userspace processes

Multicast Group Subscription

Multicast Group unsubscription

Section 8: Selective Event-based Notification

(Un)Subscribing for the event in Kernel Space

Where to go from here?

Who this course is for:
- Computer Science Students
- Working Professional
- Freelancers
- Kernel Programming and System Programming Enthusiast
More Info

Please check out others courses in your favourite language and bookmark them
English - German - Spanish - French - Italian
Portuguese