Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Kurzusleírás
Bevezetés
- a GNU/Linux licencelési kernelverziós kiadási ciklus gyors története kernelfák fővonali kernel vs. felhasználói tér mechanizmus vs. házirend kernel-illesztőprogram alternatívái RTOS kontra Linux
Memória Management
- Virtuális memória vs. fizikai memória memória kiosztása a kernel oldalak zónáiban API födém
Kernel Patch
- életciklus git kernel forrás létrehozása javítás ellenőrzése javítás javítás javítás szállítása javítás auditált kód
Kernel modulok
- kernelforrások lekérése eszközillesztőprogramok konfigurálása/építése/telepítése (statikusan csatolva, futás közben betöltve) beindítási/kilépési licencelés EXPORT SZIMBÓLUM GPL ki a fából makefile modul-init-tools modul a kernelfában Kconfig paraméter átadása ritka
Char Drivers
- architektúra felhasználói/kernel interfész I/O alrendszer VFS sysfs (eszközök, busz, illesztőprogramok, osztályok), kobject/ktype/kset linux kernel illesztőprogram modell eszköz fájlok char illesztőprogram inicializálás regisztráció nyitva, cdev kiadás, cdev add, cdev del,... fő/moll számok udev, udevmonitor, udevadm
Speciális karakterillesztő-műveletek
- ioctl feloldva ioctl kompatibilis ioctl felhasználói tér API kernel tér API folyamat életciklus alvás/blokkolás alvás/ébredés várakozási sor mennydörgő csorda lekérdezés/kiválasztás
Kernel hibakeresés
- hibakeresés a kernel bináris keresésének hibakeresése git debug támogatással a kernelről printk syslogd, klogd, loglevels, sebességkorlát, hibakeresési szintek, hibakeresés szelektív alrendszerek hibakeresés lekérdezéssel debugfs hoppá hibakeresés, állítás oops Magic SysRq Key kgdb/
Nyomkövetés
- gcov lcov oprofile ftrace nop nyomkövető funkció nyomkövető sched kapcsoló nyomkövető funkció grafikon nyomkövető dinamikus nyomkövető
megszakítások vs. lekérdezési megszakítások programszakaszok visszatérési események megszakításkezelő megosztott megszakításkezelő megszakítás áramlásmegszakítás vezérlés
- Munka elhalasztása
felső/alsó felek softirqs tasklets work queues menetes megszakítások
- Egyidejűség
kritikus régió/szakasz atomverseny állapot szinkronizálás reteszelés zárolási megoldások holtpont versengés mit kell zárni? mit lehet használni? atomi műveletek spin zárak olvasó-író spin zárak szemafor bináris szemafor mutex olvasó-író szemafor befejezési változók szekvenciális zárak letiltása elővételi sorrend és akadályok
- Idő
HZ Jiffies nagy/kis késleltetésű kernel időzítők
- Hardver I/O
I/O portok I/O memória Hogyan kezeljük a regiszterekhez való hozzáférés mellékhatásait?
- Felhasználói kernel Communication
put(get)_user() másolás ide:(from)_user() Kernel I/O memória leképezés procfs sysfs debugfs relayfs netlink ioctl
- Hordozhatóság
szóméret átlátszatlan típusok aláírt/előjel nélküli karakter adatigazítás integrált promóciós kód újrafelhasználása endianess rendszer pipa oldalméret utasítás rendezés SMP/preemption/magas memória
- Kivéve, ha másként van megjelölve, a tartalom és a jelen kurzusvázlat az Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) licenc alatt áll.
Követelmények
- Alapvető ismeretek a GNU/Linux rendszer végfelhasználóként való használatában
- Alapvető ismeretek a parancssori shellről
- Felhasználói tér/alkalmazásfejlesztési alapismeretek
- Középfokú C programozási ismeretek
- Korábban már járnia kellett volna az Embedded GNU/Linux Systems Architecture programban (erősen ajánlott!), és/vagy jól értenie kellett volna az ott felvázolt témákat.
35 Hours
Vélemények (3)
That the trainer adapts to our needs
Eduardo Fontecha - ORMAZABAL PROTECTION & AUTOMATION S.L.U.
Kurzus - The Yocto Project - An Overview - hands-on
Az oktató magyarázata.
Marcos Rosas - Banco Azteca S.A. C.V.
Kurzus - Flutter Development Bootcamp with Dart
Machine Translated
On time, training resources is readily available