Contents
系統程式設計 – 從頭學習 Netlink Socket、作業系統、可載入核心模組、C 程式設計
從這 3 小時的課程,你會學到
- Linux 核心模組( LKM,Linux Kernel Modules )
- Netlink Sockets
- TLVs (Type Length Value) 的概念(型別長度值)
- 使用者空間與核心空間通訊
- Linux 核心程式設計
- 從核心空間到使用者空間的廣播( Multicast )
- 基於事件的核心空間到使用者空間的通知
要求
- 會寫 C 語言程式設計是必要條件
- 至少具備高水準的作業系統知識
- 能將 Linux 作業系統以 VM 執行
課程說明
- * 我仍在為本課程增加內容 * *-最後更新: 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
- 點選這個✨優惠連結✨ 課程特價 | Udemy 永久擁有課程 NT390 起( 在電腦瀏覽器登入,點選“優惠連結”後再回想要的課程介紹中點選“報名參加課程”即可取得 )
- Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
- 手機上點選優惠連結看到的價格比電腦上看到的貴
- $代表當地貨幣, 如在台灣為 NT
- 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現