|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/netlinksockets/
课程评论:没有评论
课程摘要:Linux内核编程 - 用户空间与内核空间之间的IPC 欢迎来到Linux内核编程的世界!本课程专注于Netlink套接字,详细讲解了这一内核功能如何支持用户空间应用与内核空间之间的双向进程间通信(IPC)。课程将帮助学员了解如何使用Netlink套接字在内核与用户空间之间交换Netlink消息,适合初次接触内核编程的人士。 课程内容包括: 第一部分:设定开发环境 - 课程议程、先决条件和假设 - 如何进行内核编程课程的学习 - 设置开发环境及安装Linux内核头文件 第二部分:编写Linux内核模块 - 什么是Linux内核模块(LKM) - Hello-World内核模块示例 第三部分:理解Netlink套接字 - 系统中的通信介质 - 套接字作为统一接口 - Netlink通信的使用场景 - 本课程的Netlink项目介绍 第四部分:Netlink通信 - 编码前的理论 - Netlink消息格式 - Netlink消息类型和标志 - Netlink通信模型 - Netlink序列号与端口ID 第五及第六部分:编写第一个Netlink程序 - 从用户空间向内核问候 - 接收内核的回复 第七部分:Netlink属性 - TLVs的概念 - TLVs的概念及其解析 第六部分:开始Netlink项目 - 问题陈述 - 向内核发送CREATE Netlink消息 - 从用户空间获取反馈/回复 - 向内核发送UPDATE和DELETE Netlink消息 - Netlink读取操作,将数据从内核空间读取到用户空间 第七部分:Netlink组订阅 - 向多个用户空间进程发送内核数据 - 多播组订阅和取消订阅 第八部分:选择性基于事件的通知 - 在内核空间中订阅/取消订阅事件 最后,课程将指导学员未来的学习和实践方向。 本课程适合对C编程有一定基础的学员,使用大量的内核和用户空间代码进行Netlink通信的深入理解,非常适合初学者进入内核编程的世界。
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 EnvironmentAgenda, Pre-requiste, AssumptionHow to do Kernel Programming based Courses ?Setting up Development EnvironmentInstalling Linux Kernel HeadersSection 2: Writing Linux Kernel ModulesWhat are LKMs ?Hellow-World LKMSection 3: Understanding Netlink SocketsCommunication Mediums in the SystemSockets - As a unified interfaceNetlink Communication Use-CasesThe Netlink Project for the CourseSection 4: Netlink Communication - Theory before CodingNetlink Msg formatsNetlink Msg typesNetlink Msg flags Netlink Communication ModelNetlink Sequence NumberNetlink Port ID Section 5 & 6: Writing a First Netlink ProgramGreet Kernel from Userspace Receive Reply from Kernel to Userspace Section 7: The Netlink Attributes - The Concept of TLVsThe Concept of TLVsParsing of TLV BufferSection 6: Getting Started with Netlink ProjectProblem StatementSending CREATE Netlink Msg to KernelGetting Feedback/Reply from Kernel to UserspaceSending UPDATE Netlink Msg to KernelNetlink DELETE Netlink Msg to KernelNetlink READ operation Reading Data from Kernel Space into USer spaceSection 7: Netlink Group SubscriptionSending Kernel Data to Multiple Userspace processesMulticast Group Subscription Multicast Group unsubscriptionSection 8: Selective Event-based Notification(Un)Subscribing for the event in Kernel SpaceWhere to go from here?