Kurzusleírás
Bevezetés
- A GNU/Linux gyors története
- Licencelés
- Kernel verziószámozás
- Kiadási ciklus
- Kernel fák
- Főág
- Kernel vs. felhasználói tér
- Mechanizmus vs. politika
- Kernel meghajtó alternatívák
- RTOS vs. Linux
Memóriakezelés
- Virtuális memória vs. fizikai memória
- Memóriafoglalás a kernelben
- Lapok
- Zónák
- API
- Slab
Kernel Patch
- Életciklus
- Git
- Kernel forrás
- Patch készítése
- Patch ellenőrzése
- Patch javítása
- Patch elküldése
- Ellenőrzött kód
Kernel Modulok
- Kernel források beszerzése
- Konfigurálás/fordítás/telepítés
- Eszközmeghajtók (statikus linkelés, futásidőben betöltés)
- Init/exit
- Licencelés
- EXPORT SYMBOL GPL
- Out of tree makefile
- Module-init-tools
- Modul a kernel fában
- Kconfig
- Paraméterátadás
- Sparse
Karakteres Meghajtók
- Architektúra
- Felhasználói/kernel interfész
- I/O alrendszer
- VFS
- Sysfs (eszközök, busz, meghajtók, osztályok),
- Kobject/ktype/kset
- Linux kernel meghajtó modell
- Eszközfájlok
-
Karakteres meghajtó
- Inicializálás
- Regisztráció
- Open, release
- Cdev, cdev add, cdev del,...
- Major/minor számok
- Udev, udevmonitor, udevadm
Haladó Karakteres Meghajtó Műveletek
- ioctl
- Unlocked ioctl
- Compat ioctl
- Felhasználói tér API
- Kernel tér API
- Folyamat életciklus
- Alvás/blokkolás
- Alvás/felébredés
- Várólista
- Thundering herd
- Poll/select
Kernel Hibakeresés
- Hibakeresés
-
Kernel hibakeresés
- Bináris keresés git segítségével
- Hibakeresési támogatás a kernelből
- Printk syslogd, klogd, naplózási szintek, aránykorlát, hibakeresési szintek, szelektív alrendszerek hibakeresése
- Hibakeresés debugfs lekérdezéssel
- Oops hibakeresés, oops kényszerítése
- Magic SysRq Key
- Kgdb/kdb
- JTAG
Nyomkövetés
- gcov
- lcov
- oprofile
-
ftrace
- Nop tracer
- Function tracer
- Sched switch tracer
- Function graph tracer
- Dynamic tracer
- trace-cmd/kernelshark
- perf
- LTTng
Megszakítások
- Megszakítások vs. polling
- Megszakítás
- Programrészek
- Reentrancia
- Események
- Megszakításkezelő
- Megosztott megszakításkezelő
- Megszakítási folyam
- Megszakítási vezérlés
Munka Elhalasztása
- Felső/alsó felek
- Softirqs
- Tasklets
- Munka sorok
- Szálas megszakítások
Egyidejűség
- Kritikus régió/szakasz
- Atomikus
- Versenyhelyzet
- Szinkronizáció
- Zárás
- Zárási megoldások
- Holtpont
- Versengés
- Mit kell lezárni?
-
Mit lehet használni?
- Atomikus műveletek
- Spin lockok
- Olvasó-író spin lockok
- Szemafor
- Bináris szemafor
- Mutex
- Olvasó-író szemafor
- Befejezési változók
- Szekvenciális lockok
- Preempt letiltása
- Sorrend és korlátok
Idő
- HZ
- Jiffies
- Nagy/kis késések
- Kernel időzítők
Hardver I/O
- I/O Portok
- I/O Memória
- Hogyan kezeljük a regiszterek elérésének mellékhatásait?
Felhasználó-Kernel Kommunikáció
- put(get)_user()
- copy to(from)_user()
- Kernel I/O
- Memórialeképezés
- procfs
- sysfs
- debugfs
- relayfs
- netlink
- ioctl
Hordozhatóság
- Szó méret
- Opákus típusok
- Előjeles/előjel nélküli char
- Adatigazítás
- Egész típusú promóció
- Kód újrafelhasználás
- Bájt sorrend
- Rendszer tick
- Lap méret
- Utasítás sorrend
- SMP/preempt/magas memória
Kivéve, ahol másképp jelezzük, a tartalom és a tananyag az Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) licenc alatt érhető el.
Követelmények
- Alapvető ismeretek a GNU/Linux rendszer végfelhasználói szintű használatáról
- Alapvető ismeretek a parancssori felület használatáról
- Alapvető ismeretek a felhasználói térben történő alkalmazásfejlesztésről
- Középfokú C programozási ismeretek
- Javasolt, hogy korábban már részt vett a Beágyazott GNU/Linux Rendszerarchitektúra képzésen (erősen ajánlott!), vagy rendelkezzen a kitért témák alapos ismeretével
Vélemények (5)
Nagyon hasznos további információk
Grzegorz - Comp S.A.
Kurzus - BLoC Pattern
Gépi fordítás
Edward egy remek főképviselő
Zibusiso Ncube - Agricatural Research Council
Kurzus - Ionic 4 and Angular for Developers
Gépi fordítás
Miguel tudása a téma körében átfogó volt. Ő egyszerűvé tette a képzést, és a folyamat egyensúlyos volt; minden szakaszba új funkciókat adott hozzá a szükség esetén. Mindenet megemlített, amit kértek, és mindegyik kérdést részletesen válaszolt. Nagyon kellemes tapasztalat volt.
Paul Coaton - SEMPCheck Services
Kurzus - Flutter Development Bootcamp with Dart
Gépi fordítás
Az, hogy az edző alkalmazkodik a szükségeinkre
Eduardo Fontecha - ORMAZABAL PROTECTION & AUTOMATION S.L.U.
Kurzus - The Yocto Project - An Overview - hands-on
Gépi fordítás
A képző entuziasztikus, barátos és szívesen foglalkozott a témával
Isaac Murphy - Royal New Zealand Airforce
Kurzus - Build Native iOS and Android Apps with Flutter
Gépi fordítás