آموزش برنامه‌نویسی هسته لینوکس - ارتباط بین فضای کاربر و فضای هسته (IPC) - آخرین آپدیت

دانلود Linux Kernel Programming - IPC b/w Userspace and KernelSpace

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

برنامه‌نویسی سیستم: یادگیری سوکت‌های نت‌لینک، سیستم‌های عامل، ماژول‌های هسته قابل بارگذاری و برنامه‌نویسی C از پایه

ماژول‌های هسته لینوکس (LKM)

سوکت‌های نت‌لینک

مفهوم TLV (نوع، طول، مقدار)

ارتباط فضای کاربر و فضای هسته

برنامه‌نویسی هسته لینوکس

ارسال چندگانه از فضای هسته به فضای کاربر

اطلاع‌رسانی مبتنی بر رویداد از فضای هسته به فضای کاربر

پیش‌نیازها

  • برنامه‌نویسی C ضروری و الزامی است.
  • دانش سطح بالا از سیستم‌های عامل بسیار مفید خواهد بود.
  • نیاز به یک سیستم‌عامل لینوکس که به صورت ماشین مجازی اجرا شود.

به دنیای برنامه‌نویسی هسته لینوکس خوش آمدید!

این دوره آموزشی به صورت جامع به بررسی سوکت‌های نت‌لینک می‌پردازد. سوکت‌های نت‌لینک ابزاری در هسته سیستم‌عامل هستند که برای ارتباط دوطرفه بین فضای کاربر و فضای هسته طراحی شده‌اند. در این دوره، یاد خواهیم گرفت چگونه از سوکت‌های نت‌لینک برای تبادل پیام بین هسته و فضای کاربر استفاده کنیم.

این دوره می‌تواند اولین گام شما برای ورود به دنیای برنامه‌نویسی هسته باشد! این نقطه شروعی عالی برای کسانی است که برای اولین بار کد هسته را می‌نویسند. برای درک بهتر ارتباط مبتنی بر نت‌لینک، کدنویسی‌های فراوانی در فضای هسته و کاربر انجام خواهیم داد. بدیهی است که تسلط بر برنامه‌نویسی C برای شما ضروری است.

فهرست مطالب


بخش ۱: راه‌اندازی محیط توسعه

  • دستور جلسه، پیش‌نیازها، مفروضات
  • چگونه دوره‌های مبتنی بر برنامه‌نویسی هسته را طی کنیم؟
  • راه‌اندازی محیط توسعه
  • نصب هدرهای هسته لینوکس

بخش ۲: نوشتن ماژول‌های هسته لینوکس

  • ماژول‌های هسته قابل بارگذاری (LKM) چیستند؟
  • ماژول نمونه "سلام دنیا" برای LKM

بخش ۳: درک سوکت‌های نت‌لینک

  • کانال‌های ارتباطی در سیستم
  • سوکت‌ها به عنوان یک رابط یکپارچه
  • موارد استفاده از ارتباط نت‌لینک
  • پروژه نت‌لینک برای دوره

بخش ۴: ارتباط نت‌لینک - تئوری قبل از کدنویسی

  • قالب پیام‌های نت‌لینک
  • انواع پیام‌های نت‌لینک
  • پرچم‌های پیام نت‌لینک
  • مدل ارتباط نت‌لینک
  • شماره توالی نت‌لینک
  • شناسه پورت نت‌لینک

بخش ۵ و ۶: نوشتن اولین برنامه نت‌لینک

  • ارسال سلام از فضای کاربر به هسته
  • دریافت پاسخ از هسته به فضای کاربر

بخش ۷: صفات نت‌لینک - مفهوم TLV

  • مفهوم TLV (نوع، طول، مقدار)
  • تجزیه بافر TLV

بخش ۶ (تکراری): شروع کار با پروژه نت‌لینک

  • بیان مسئله
  • ارسال پیام نت‌لینک CREATE به هسته
  • دریافت بازخورد/پاسخ از هسته به فضای کاربر
  • ارسال پیام نت‌لینک UPDATE به هسته
  • ارسال پیام نت‌لینک DELETE به هسته
  • عملیات خواندن نت‌لینک: خواندن داده از فضای هسته به فضای کاربر

بخش ۷ (تکراری): اشتراک گروه نت‌لینک

  • ارسال داده‌های هسته به چندین فرآیند فضای کاربر
  • اشتراک گروه ارسال چندگانه
  • لغو اشتراک گروه ارسال چندگانه

بخش ۸: اطلاع‌رسانی انتخابی مبتنی بر رویداد

  • (لغو) اشتراک برای رویداد در فضای هسته
  • گام‌های بعدی چیست؟

سرفصل ها و درس ها

راه اندازی محیط توسعه Getting Started - Setting up the Development Enviironment

شروع - راه اندازی محیط توسعه Getting Started - Setting up the Development Enviironment

  • دستور کار، پیش نیاز، مفروضات Agenda, Pre-Requisute, Assumptions

  • دستور جلسه، پیش نیازها، مفروضات Agenda, Pre-Requisute, Assumptions

  • عضویت در گروه تلگرام Join Telegram Group

  • پیوستن به گروه تلگرام Join Telegram Group

  • چگونه دوره های برنامه نویسی هسته را برگزار کنیم؟ How to do Kernel Programming based Courses ?

  • چگونه در دوره‌های برنامه‌نویسی کرنل شرکت کنیم؟ How to do Kernel Programming based Courses ?

  • راه اندازی محیط توسعه Setting up the Development Environment

  • راه اندازی محیط توسعه Setting up the Development Environment

  • نصب هدر کرنل لینوکس Installing Linux Kernel Headers

  • نصب هدرهای کرنل لینوکس Installing Linux Kernel Headers

نوشتن اولین ماژول کرنل لینوکس شما Writing your first Linux Kernel Module

نوشتن اولین ماژول هسته لینوکس Writing your first Linux Kernel Module

  • LKMs چیست؟ What are LKMs ?

  • LKM چیست؟ What are LKMs ?

  • نوشتن یک LKM Hello-World Writing a Hello-World LKM

  • نوشتن یک LKM سلام دنیا Writing a Hello-World LKM

درک سوکت‌های نت‌لینک Understanding - Netlink Sockets

درک - سوکت های Netlink Understanding - Netlink Sockets

  • رسانه های ارتباطی در سیستم Communication Mediums in the System

  • کانال‌های ارتباطی در سیستم Communication Mediums in the System

  • سوکت - به عنوان یک رابط یکپارچه Sockets - As a Unified Interface

  • سوکت‌ها – به عنوان یک رابط یکپارچه Sockets - As a Unified Interface

  • موارد استفاده ارتباط Netlink Netlink Communication UseCases

  • موارد استفاده ارتباط نت‌لینک Netlink Communication UseCases

  • پروژه نت لینک برای این دوره The Netlink Project for this Course

  • پروژه نت‌لینک برای این دوره The Netlink Project for this Course

مشخصات فرمت پیام نت‌لینک – تئوری قبل از کدنویسی Netlink Msg format Specification - Theory Before Coding

مشخصات قالب Netlink Msg - نظریه قبل از کدنویسی Netlink Msg format Specification - Theory Before Coding

  • فرمت پیام نت لینک Netlink Msg Format

  • فرمت پیام نت‌لینک Netlink Msg Format

  • انواع پیام استاندارد Netlink Netlink Standard Msg Types

  • انواع پیام استاندارد نت‌لینک Netlink Standard Msg Types

  • پرچم های پیام نت لینک Netlink Msg Flags

  • فلگ‌های پیام نت‌لینک Netlink Msg Flags

  • مدل ارتباطی نت‌لینک Netlink Communication Model

  • مدل ارتباطی نت لینک Netlink Communication Model

  • شماره دنباله نت لینک Netlink Sequence Number

  • شماره توالی نت‌لینک Netlink Sequence Number

  • شناسه پورت نت لینک Netlink Port ID

  • شناسه پورت نت‌لینک Netlink Port ID

  • بستن نظریه نت لینک Closing Netlink Theory

  • پایان تئوری نت‌لینک Closing Netlink Theory

نمونه سلام نت‌لینک – فضای کرنل NetLink Greet Example - Kernel Space

NetLink Greet Example - Kernel Space NetLink Greet Example - Kernel Space

  • نمونه سلام نت‌لینک The Netlink Greet Example

  • مثال سلام Netlink The Netlink Greet Example

  • شماره پروتکل نت‌لینک Netlink Protocol Number

  • شماره پروتکل Netlink Netlink Protocol Number

  • Netlink Greet LKM Code Walk - Part1 Netlink Greet LKM Code Walk - Part1

  • بررسی کد LKM سلام نت‌لینک – بخش اول Netlink Greet LKM Code Walk - Part1

  • API های پشتیبانی نوشتن Writing Support APIs

  • نوشتن APIهای پشتیبان Writing Support APIs

  • بافرهای سوکت کرنل Kernel Socket buffers

  • بافر سوکت کرنل Kernel Socket buffers

  • Netlink Greet LKM Code Walk - Part2 - Receiving User Space Msg Netlink Greet LKM Code Walk - Part2 - Receiving User Space Msg

  • بررسی کد LKM سلام نت‌لینک – بخش دوم – دریافت پیام فضای کاربر Netlink Greet LKM Code Walk - Part2 - Receiving User Space Msg

  • Netlink Greet LKM Code Walk - Part3 - ارسال پاسخ به فضای کاربری Netlink Greet LKM Code Walk - Part3 - Sending reply to Userspace

  • بررسی کد LKM سلام نت‌لینک – بخش سوم – ارسال پاسخ به فضای کاربر Netlink Greet LKM Code Walk - Part3 - Sending reply to Userspace

ادامه نمونه سلام نت‌لینک – فضای کاربر NetLink Greet Example Continued - User Space

NetLink Greet Example ادامه دارد - فضای کاربری NetLink Greet Example Continued - User Space

  • مدل موضوع برنامه فضای کاربری Userspace Program Thread Model

  • مدل رشته برنامه فضای کاربر Userspace Program Thread Model

  • API برای ارسال پیام به هسته API to Send msg to Kernel

  • API برای ارسال پیام به کرنل API to Send msg to Kernel

  • Code Walk - send_netlink_msg_to_kernel() Code Walk - send_netlink_msg_to_kernel()

  • بررسی کد – send_netlink_msg_to_kernel() Code Walk - send_netlink_msg_to_kernel()

  • فلوچارت Userspace.c Userspace.c flowchart

  • فلوچارت Userspace.c Userspace.c flowchart

  • پیاده‌سازی کد ارسال Userspace.c Userspace.c - Send Code Implementation

  • Userspace.c - ارسال کد پیاده سازی Userspace.c - Send Code Implementation

  • Userspace.c - پیاده سازی کد Recv Userspace.c - Recv Code Implementation

  • پیاده‌سازی کد دریافت Userspace.c Userspace.c - Recv Code Implementation

  • دموی نهایی! Final Demo !

  • نسخه ی نمایشی نهایی! Final Demo !

ویژگی‌های نت‌لینک – مفهوم TLVها Netlink Attributes - The Concept of TLVs

ویژگی های Netlink - مفهوم TLVs Netlink Attributes - The Concept of TLVs

  • مفهوم TLVs The Concept of TLVs

  • مفهوم TLVها The Concept of TLVs

  • تجزیه بافر TLV Parsing of TLV Buffer

  • تجزیه بافر TLV Parsing of TLV Buffer

  • تکلیف اجباری در TLVs Mandatory Assignment on TLVs

  • تکلیف الزامی روی TLVها Mandatory Assignment on TLVs

  • ویژگی های نت لینک Netlink Attributes

  • ویژگی‌های نت‌لینک Netlink Attributes

  • پاداش - آب نبات بگیرید! Bonus - Get some Candies !

  • جایزه – آبنبات بگیرید! Bonus - Get some Candies !

نمایش نظرات

آموزش برنامه‌نویسی هسته لینوکس - ارتباط بین فضای کاربر و فضای هسته (IPC)
جزییات دوره
3 hours
35
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
2,549
4.5 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Abhishek CSEPracticals Abhishek CSEPracticals

من شبکه می سازم!

Shiwani Nigam Shiwani Nigam

مجری بازاریابی دیجیتال

Ekta Ekta Ekta Ekta

مدیر تاسیسات