Linux 核心程式設計 – 在使用者空間和核心空間之間的 IPC

系統程式設計 – 從頭學習 Netlink Socket、作業系統、可載入核心模組、C 程式設計

報名參加課程

從這 3 小時的課程,你會學到

  • Linux 核心模組( LKM,Linux Kernel Modules )
  • Netlink Sockets
  • TLVs (Type Length Value) 的概念(型別長度值)
  • 使用者空間與核心空間通訊
  • Linux 核心程式設計
  • 從核心空間到使用者空間的廣播( Multicast )
  • 基於事件的核心空間到使用者空間的通知

要求

課程說明

  • * 我仍在為本課程增加內容 * *-最後更新: 2020 年 8 月 30 日

歡迎來到 Linux 核心程式設計的世界!這是關於 Netlink Sockets 的課程,其中我詳細地介紹了 Netlink Sockets,這是一個為使用者空間應用程式提供的核心工具,用於利用核心空間實現雙向 IPC。在本課程中,我們將學習如何使用 Netlink Sockets 在核心和使用者空間之間交換 Netlink 訊息。

本課程也可能是你進入核心程式設計世界的第一步!對於那些將首次編寫核心程式碼的人來說,這是一個很好的起點。我們將編寫大量的核心和使用者空間程式碼來理解基於 Netlink 的通訊。無需說你應該擅長 C 語言程式設計。

目錄 :

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

  • 第 1 節 : 設置開發環境
    • Agenda, Pre-requiste, Assumption
    • How to do Kernel Programming based Courses ?
    • Setting up Development Environment
    • Installing Linux Kernel Headers
  • 第 2 節 : 寫 Linux Kernel Modules
    • What are LKMs ?
    • Hellow-World LKM
  • 第 3 節 : 瞭解 Netlink Sockets
    • Communication Mediums in the System
    • Sockets – As a unified interface
    • Netlink Communication Use-Cases
    • The Netlink Project for the Course
  • 第 4 節 : Netlink 通訊 – 寫程式前需了解的理論
    • Netlink Msg formats
    • Netlink Msg types
    • Netlink Msg flags                                              
    • Netlink Communication Model
    • Netlink Sequence Number
    • Netlink Port ID                                           
  • 第 5 和 6 節: 寫出第一個 Netlink 程式
    • Greet Kernel from Userspace                                         
    • Receive Reply from Kernel to Userspace                   
  • 第 7 節: Netlink 屬性 – TLVs 概念
    • The Concept of TLVs
    • Parsing of TLV Buffer                                  << 至此 2020/8/30 完成
  • 第 8 節 : 由 Netlink 專案開始
    • 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
  • 第 9 節 : Netlink 群組訂閱
    • Sending Kernel Data to Multiple Userspace processes
    • Multicast Group Subscription
    • Multicast Group unsubscription
  • 第 10 節 : 選擇性的基於事件的通知
    • (Un)Subscribing for the event in Kernel Space
    • Where to go from here?

目標受眾

  • 電腦科學專業學生
  • 工作專業人士
  • 自由工作者
  • 核心程式設計與系統程式設計愛好者

講師簡介

Abhishek CSEPracticals 我建立了網路  ( 更多講師主講課程介紹 )

你好,我是孟買理工學院( IIT Bombay )的畢業生,目前在網路跨國公司( Network MNCs )從事網路協議開發工作。

我有 8 年以上的行業經驗,從事網路程式設計和開發。

Shiwani Nigam 數位行銷執行  ( 更多講師主講課程介紹 )

嗨,我是 Shivani Nigam,市場行銷博士。我擅長研究線上購買產品時的消費者行為。我負責在此平台上行銷線上內容(Udemy課程)。 我還確保技術講師以完美的音頻/視頻質量提供課程,並確保講師優先解決學生的疑問和疑惑。

Ekta Ekta 設備經理  ( 更多講師主講課程介紹 )

嗨,我是 Csepracticals 的設施經理 Ekta。我負責組織基礎結構的維護和保養,以確保它們滿足法律要求以及健全標準。 通過完成日常檢查並進行主動和被動維護,我確保該設施每天都能正常執行。

英文字幕:有

  • 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To

報名參加課程 | Get Good Deals

Sponsored by Udemy

也許你會有興趣

 歡迎使用 App / Email | Telegram 訂閱 網站更新

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: