Kurzusleírás
Bevezetés
- a GNU/Linux gyors története
- engedélyezés
- kernel verziószámítás
- felszabadítási ciklus
- kernel fák
- fővonal
- kernel vs. user space
- mechanizmus kontra politika
- kernel meghajtó alternatívák
- RTOS kontra Linux
Memória Management
- Virtuális memória vs. fizikai memória
- memóriafoglalás a kernelben
- oldalakat
- zónák
- API
- lap
Kernel Patch
- életciklus
- git
- kernel forrás
- hozzon létre javítást
- ellenőrizze a javítást
- javítás javítás
- hajófolt
- auditált kód
Kernel modulok
- kernel források beszerzése
- konfigurálás/építés/telepítés
- eszközillesztők (statikusan csatolva, futás közben betöltve)
- init/exit
- engedélyezés
- EXPORTJEL GPL
- fa makefile-ből
- modul-init-tools
- modul a kernelfában
- Kconfig
- paraméter átadás
- ritka
Char Drivers
- építészet
- felhasználói/kernel felület
- I/O alrendszer
- VFS
- sysfs (eszközök, busz, illesztőprogramok, osztályok),
- kobject/ktype/kset
- linux kernel illesztőprogram modell
- eszközfájlokat
- char driver
- inicializálás
- bejegyzés
- nyit, elenged
- cdev, cdev add, cdev del,...
- fő/moll számok
- udev, udevmonitor, udevadm
Speciális karakterillesztő-műveletek
- ioctl
- feloldott ioctl
- kompat ioctl
- felhasználói tér API
- kernel space API
- folyamat életciklusa
- alvás/blokkolás
- alvás/ébredés
- várakozási sor
- mennydörgő csorda
- szavazás/kiválasztás
Kernel hibakeresés
- bogár
- hibakeresés
- a kernel hibakeresése
- bináris keresés a git segítségével
- hibakeresési támogatás a kernelről
- printk syslogd, klogd, loglevels, sebességkorlát, hibakeresési szintek, szelektív alrendszerek hibakeresése
- hibakeresés a debugfs lekérdezésével
- hoppá hibakeresés, állítás hoppá
- Magic SysRq kulcs
- kgdb/kdb
- JTAG
Nyomkövetés
- gcov
- lcov
- oprofil
- ftrace
- nop nyomkövető
- funkció nyomkövető
- Sched switch nyomkövető
- függvénygráf nyomkövető
- dinamikus nyomkövető
- trace-cmd/kernelshark
- perf
- LTTng
Megszakítja
- megszakítások vs. szavazás
- megszakítani
- programrészek
- visszatérés
- eseményeket
- megszakításkezelő
- megosztott megszakításkezelő
- megszakítja az áramlást
- vezérlés megszakítása
Munka elhalasztása
- felső/alsó felek
- softirqs
- feladatlapok
- munkasorok
- menetes megszakítások
Egyidejűség
- kritikus régió/szakasz
- atom
- verseny állapota
- szinkronizálás
- záró
- zárolási megoldások
- holtpont
- állítás
- mit kell zárni?
- mit lehet használni?
- atomi műveletek
- forgó zárak
- olvasó-író forgózárak
- szemafor
- bináris szemafor
- mutex
- olvasó-író szemafor
- befejezési változók
- szekvenciális zárak
- letiltja az elővásárlást
- rend é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 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
- relék
- netlink
- ioctl
Hordozhatóság
- szóméret
- átlátszatlan típusok
- aláírt/aláíratlan karakter
- adatigazítás
- integrált promóció
- kód újrafelhasználása
- endianess
- rendszer pipa
- oldalméret
- utasítás rendelé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
- A GNU/Linux rendszer végfelhasználóként való használatának alapvető ismerete
- Alapvető ismeretek a parancssori shellről
- Felhasználói tér/alkalmazásfejlesztési alapismeretek
- Középfokú C programozási ismeretek
- Korábban részt kellett volna vennie 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
Vélemények (5)
Edward nagyszerű segítő
Zibusiso Ncube - Agricatural Research Council
Kurzus - Ionic 4 and Angular for Developers
Gépi fordítás
Talán több gyakorlat is jobb lenne a tanuláshoz, de az idő kevés volt
Gianpiero Arico' - Urmet Spa
Kurzus - Embedded Linux Systems Architecture
Gépi fordítás
Miguel's knowledge of the subject was extensive. He made the training easy to understand and the flow was balanced; adding on to each section with new features as needed. He covered everything that was asked and answered each and every question thoroughly. It was a very pleasant experience.
Paul Coaton - SEMPCheck Services
Kurzus - Flutter Development Bootcamp with Dart
That the trainer adapts to our needs
Eduardo Fontecha - ORMAZABAL PROTECTION & AUTOMATION S.L.U.
Kurzus - The Yocto Project - An Overview - hands-on
The trainer was enthusiastic, kind, and loved the topic