Linux Kernel Programming - IPC b/w Userspace and KernelSpace
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 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
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
Instructors
I have been engaged with coding and software for a decade now. I am a Networking developer at MNC. My rich working experience is backed by graduation from IIT Bombay as an MTech specialist. I am restless for more in-depth knowledge, and always working out the ways to integrate what I know in practical ways. I am always happy to train and encourage people on Udemy – the next-gen education platform.
I will help you to strengthen the networking concepts and fundamentals in a very practical way. I also hones in System Software Development, Linux System Programming and Network Software Development. I love to create courses on unique non-standard topics, and projects. Check my catalogue, you will find couple of project based courses which you can add to your resume.
You’ll complete assignments and work on a project where you’ll use all the theory. I make sure you build a proper understanding and that you’ll get all the questions and doubts answered. Let me take the privilege to guide you and bring useful additions to your resume !
Hi, Myself Shivani Nigam, PhD in Marketing. I expertise in researching the consumer behavior in the context of purchasing the products online. I take the responsibility of marketing the online content (Udemy courses) on this platform.
I also ensure the courses are delivered with perfect Audio/Video Quality by technical Instructors, and ensures that students queries and doubts are addressed by technical instructors with priority.
Hi, I am Ekta, a facility Manager for Csepracticals. I am responsible for the maintenance and upkeep of an organization’s infrastructure, ensuring that they meet legal requirements and health and safety standards.
I ensure that the facility is operating as it should on a daily basis by completing daily inspections and conducting proactive and reactive maintenance.