Linux Kernel Programming - IPC b/w Userspace and KernelSpace

Udemy Linux Kernel Programming - IPC b/w Userspace and KernelSpace

Register & Get access to index

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

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

** I am Still Adding Content to this Course** - Last Updated: 30 Aug 2020

Welcome to the Linux 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 << Delivered till here as on 30 Aug 2020
  • 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
Show less
First release
Last update
0.00 star(s) 0 ratings

More resources from TUTProfessor