Cursusaanbod

Introductie

  • snelle geschiedenis van GNU/Linux
  • Licentieverlening
  • Versiebeheer van de kernel
  • Release-cyclus
  • pit bomen
  • Mainline
  • Kernel vs. gebruikersruimte
  • Mechanisme vs. beleid
  • Alternatieven voor kernelstuurprogramma's
  • RTOS tegen Linux

Geheugen Management

  • Virtueel geheugen vs. fysiek geheugen
  • Geheugentoewijzing in de kernel
  • bladzijden
  • Zones
  • API
  • plak

Kernel Patch

  • levenscyclus
  • Git
  • Bron van de kernel
  • Patch maken
  • Patch controleren
  • Patch repareren
  • Schip patch
  • Gecontroleerde code

Kernel Modules

  • Kernel bronnen ophalen
  • configureren/bouwen/installeren
  • Apparaatstuurprogramma's (statisch gekoppeld, geladen tijdens runtime)
  • init/afsluiten
  • Licentieverlening
  • EXPORTEREN SYMBOOL GPL
  • uit boom makefile
  • module-init-hulpmiddelen
  • module in kernel boom
  • Kconfig
  • Parameter doorgeven
  • schaars

Char-stuurprogramma's

  • architectuur
  • Gebruikers-/kernelinterface
  • I/O-subsysteem
  • VFS
  • sysfs (apparaten, bus, stuurprogramma's, klassen),
  • kobject/ktype/kset
  • Linux kernel driver model
  • Apparaat bestanden
  • char bestuurder
    • Initialisatie
    • registratie
    • openen, loslaten
    • cdev, cdev toevoegen, cdev del,...
    • majeur/kleine getallen
    • udev, udevmonitor, udevadm

Geavanceerde Charachter Driver Operations

  • ioctl
  • Ontgrendelde ioctl
  • compat ioctl
  • API voor gebruikersruimte
  • API voor kernelruimte
  • Levenscyclus van het proces
  • Slapen/blokkeren
  • Slapen/wakker worden
  • Wachtrij
  • Donderende kudde
  • Poll/Selecteer

Kernel foutopsporing

  • insect
  • Debugging
  • Fouten opsporen in de kernel
    • Binair zoeken met Git
    • Ondersteuning voor foutopsporing vanuit de kernel
    • printk syslogd, klogd, loglevels, snelheidslimiet, debug levels, debug selectieve subsystemen
    • Foutopsporing door query's op te voeren
    • oeps debuggen, beweren oeps
    • Magische SysRq-sleutel
    • kgdb/kdb
    • JTAG

Tracering

  • gcov
  • LCOV
  • oprofiel
  • ftrace
    • NOP tracer
    • functie tracer
    • Sched schakelaar tracer
    • functie grafiek tracer
    • Dynamische tracer
  • trace-cmd/kernelshark
  • prestaties
  • LTTng

Interrupts

  • Interrupts vs. polling
  • onderbreken
  • Programma secties
  • Herintreding
  • Gebeurtenissen
  • Handler onderbreken
  • Gedeelde interrupt handler
  • Stroom onderbreken
  • Controle onderbreken

Werk uitstellen

  • Bovenste/onderste helften
  • Softirqs
  • Taakjes
  • Wachtrijen voor werk
  • interrupties met schroefdraad

Concurrency

  • kritieke regio/sectie
  • atomair
  • Race conditie
  • synchronisatie
  • Vergrendeling
  • Sluitoplossingen
  • patstelling
  • bewering
  • Wat te vergrendelen?
  • Wat kan worden gebruikt?
    • Atomaire operaties
    • Draai sloten
    • lezer-schrijver spin-sloten
    • semafoor
    • binaire semafoor
    • mutex
    • Lezer-schrijver semafoor
    • voltooiing variabelen
    • Sequentiële sloten
    • Voorrang uitschakelen
    • Ordening en barrières

Tijd

  • HZ
  • Jonge jiffers
  • grote/kleine vertragingen
  • Kernel Timers

Hardware I/O

  • I/O-poorten
  • I/O-geheugen
  • Hoe om te gaan met bijwerkingen bij toegang tot registers?

Gebruiker-kernel Communication

  • put(get)_user()
  • Kopieer naar(van)_user()
  • Kernel I/O
  • Geheugen in kaart brengen
  • Procfs
  • sysfs
  • Foutopsporing
  • Relais
  • netlink
  • ioctl

Draagbaarheid

  • Woordgrootte
  • Ondoorzichtige typen
  • Ondertekende/niet-ondertekende char
  • Afstemming van gegevens
  • Integrale promotie
  • hergebruik van codes
  • Endianess
  • Systeem aanvinken
  • Pagina grootte
  • instructie bestellen
  • SMP/preëmptief/hoog geheugen

Tenzij anders vermeld, zijn de inhoud en dit cursusoverzicht gelicentieerd onder Naamsvermelding-NietCommercieel-GelijkDelen 4.0 International (CC BY-NC-SA 4.0).

Vereisten

  • Basiskennis van het gebruik van een GNU/Linux systeem als eindgebruiker
  • Basiskennis van een command line shell
  • Basiskennis van gebruikersruimte / applicatieontwikkeling
  • Gemiddelde C-programmeerkennis
  • Moet Embedded GNU/Linux Systems Architecture eerder hebben bijgewoond (sterk aanbevolen!) en/of een goed begrip hebben van de onderwerpen die daar worden beschreven
 35 Uren

Leveringsopties

PRIVÉGROEPSTRAINING

Onze identiteit draait om het leveren van precies wat onze klanten nodig hebben.

  • Pre-cursusgesprek met uw trainer
  • Aanpassing van de leerervaring om uw doelen te bereiken -
    • Op maat gemaakte overzichten
    • Praktische, praktische oefeningen met gegevens / scenario's die herkenbaar zijn voor de cursisten
  • Training gepland op een datum naar keuze
  • Gegeven online, op locatie/klaslokaal of hybride door experts die ervaring uit de echte wereld delen

Private Group Prices RRP from €11400 online delivery, based on a group of 2 delegates, €3600 per additional delegate (excludes any certification / exam costs). We recommend a maximum group size of 12 for most learning events.

Neem contact met ons op voor een exacte offerte en om onze laatste promoties te horen


OPENBARE TRAINING

Kijk op onze public courses

Reviews (5)

Voorlopige Aankomende Cursussen

Gerelateerde categorieën