Események betöltése

Linux Kernel Programozás

Időtartam: 4 nap

Időpontok hamarosan

560.000 Ft + ÁFA / Fő
Linux kernel programozás és eszközmeghajtó fejlesztés

A Linux kernel programozás haladó szintű fejlesztői tudást igényel, mivel ez a képzés a kernel belső működésére és az eszközmeghajtók fejlesztésére koncentrál. A Linux operációs rendszer egyik legfontosabb eleme a kernel, amely közvetlen kapcsolatot biztosít a hardver és a szoftver között. A kernel működésének megértése elengedhetetlen azok számára, akik alacsony szintű rendszerszoftvereket vagy eszközmeghajtókat szeretnének fejleszteni.

A résztvevők megismerik a Linux rendszer architektúráját, valamint részletesen áttekintjük a kernel működésének legfontosabb komponenseit. A képzés során bemutatjuk, hogyan kezeli a kernel a folyamatokat, a memóriát, az eszközöket és a megszakításokat. Emellett szó esik a kernel és a felhasználói tér közötti kapcsolat működéséről is, amely kulcsfontosságú a rendszerszintű fejlesztések során.

A tanfolyam során a hallgatók

  • megtanulják az eszközmeghajtók fejlesztésének alapjait
  • megismerik a kernel modulok létrehozását és kezelését
  • gyakorlati példákon keresztül ismerik meg a driver fejlesztést
  • megtanulják a kernel hibakeresési technikákat
  • megismerik a memória- és szinkronizációkezelés módszereit

A tanfolyam a modern Linux fejlesztői eszközök használatát is bemutatja, külön hangsúlyt kapnak a karakteres eszközmeghajtók. A résztvevők megismerik a fejlesztési környezet kialakítását, a fordítási folyamatokat és a kernel modulok tesztelésének módszereit. A képzés során gyakorlati példák segítik a tanultak alkalmazását, így a résztvevők valós fejlesztési helyzetekben is kipróbálhatják az elsajátított technikákat.

Kinek ajánlott a képzés?

A képzés elsősorban az alábbi szakembereknek ajánlott:

  • Linux rendszerszintű fejlesztők
  • beágyazott rendszerekkel foglalkozó mérnökök
  • kernel modul fejlesztők
  • eszközmeghajtó fejlesztők
  • rendszerszoftver fejlesztők

A képzés célja

A Linux kernel mélyebb megértése, hogy a résztvevők képesek legyenek saját kernel modulokat fejleszteni, valamint megismerjék az eszközmeghajtók fejlesztésének alapelveit.

A tanfolyam gyakorlati tudást ad kernel szintű programozáshoz, amely hasznos lehet Linux alapú rendszerek fejlesztésekor, beágyazott rendszerek programozásakor vagy speciális hardverekhez készített eszközmeghajtók kialakításakor.

Tematika:

Linux fejlesztői alapok

  • Linux rendszer alapjai
  • GCC fordító használata
  • fejlesztői könyvtárak kezelése
  • Makefile készítése
  • hibakeresési alapok

Linux alkalmazásfejlesztés

  • fájlkezelés Linux alatt
  • I/O műveletek kezelése
  • Linux alkalmazások fejlesztése

Linux kernel működése

  • a Linux indítási folyamata
  • folyamatok kezelése
  • ütemezési mechanizmusok
  • megszakításkezelés
  • valósidejű működés kérdései
  • memória kezelés
  • eszközkezelés a kernelben

Kernel modulok fejlesztése

  • egyszerű kernel modul készítése
  • modul paraméterek kezelése
  • karakteres eszközmeghajtók fejlesztése
  • egyszeres megnyitás kezelése
  • /proc fájlrendszer használata
  • más eszközmeghajtók elérése

Hibakeresési technikák

  • printk használata
  • kernel fordítási opciók
  • Oops üzenetek elemzése
  • Magic SysRq használata
  • gdb és kgdb hibakeresés

Memória- és konkurencia kezelés

  • memória allokáció a kernelben
  • szinkronizációs eszközök
  • spinlock és semaphore használata
  • konkurens programozási technikák

I/O és eszközkezelés

  • ioctl implementáció
  • blokkoló I/O műveletek
  • poll() és select() támogatása
  • komplex eszközvezérlő példák
  • USB eszközmeghajtók

Kernel mechanizmusok

  • megszakítások kezelése
  • BH mechanizmusok (tasklet, workqueue)
  • kernel szálak kezelése
  • szálak létrehozása és leállítása
  • várakozási mechanizmusok

Alacsony szintű rendszerkezelés

  • I/O port kezelés
  • memória menedzsment
  • mmap() implementáció

Előfeltétel:

A részvételhez ajánlott a C programozási nyelv ismerete.
Linux rendszerek használata szintén előnyt jelent.