Szkolenia The Linux Foundation

Cel szkolenia szkolenie zdalne - dlearning

kod: LFD430

Ten 4-dniowy kurs nauczy Cię, jak tworzyć sterowniki urządzeń dla systemów Linux, oparte na podstawowej znajomości jądra Linuxa. Dowiesz się również o różnych typach sterowników urządzeń Linuxowych, a także o odpowiednich interfejsach API i metodach, za pomocą których jądro współpracuje z urządzeniami.

Podczas tego kursu poznasz między innymi:

  • Różne rodzaje sterowników urządzeń używanych w Linuxie
  • Odpowiednie interfejsy API, za pomocą których urządzenia (zarówno sprzętu i oprogramowania) współpracują z jądrem
  • Niezbędne moduły i techniki opracowywania i debugowania sterowników Linuxa

Metody i informacje zawarte w tym kursie będą działały z każdą znaną dystrybucją Linuxa.

Plan szkolenia Rozwiń listę

  1. Wprowadzenie
    • Cele
    • Kim jesteś
    • The Linux Foundation
    • Linux Foundation Training
    • Dystrybucje Linuxa
    • Platformy
    • Przygotowywanie systemu
    • Pobieranie i używanie maszyny wirtualnej
    • Rzeczy zmieniają się w Linuxie
    • Dokumentacja i linki
    • Rejestracja kursu
  2. Praktyki wstępne
    • Procedury
    • Wersje jądra
    • Źródła jądra i korzystanie z Git
    • Wdrażanie własnego jądra
    • Sprzęt
    • Drzewo przemieszczania
  3. Jak pracować w projektach OSS * *
    • Omówienie sposobu prawidłowego udziału
    • Badanie i zrozumienie DNA projektu
    • Dowiedz się czym chcesz się zajmować
    • Identyfikacja opiekunów projektów i ich przepływów pracy i metod
    • Uzyskanie wczesnego wejścia i pracy w otwartym środowisku
    • Przekazuj przyrostowe bity, a nie duże zrzuty kodu
    • Zostaw swoje ego za drzwiami
    • Bądź cierpliwy, rozwijaj relacje długoterminowe, bądź pomocny
    • Laboratoria
  4. Sterowniki urządzeń
    • Typy urządzeń
    • Mechanizm vs. Polityka
    • Unikanie binarne obiekty blob
    • Zarządzanie zasilaniem
    • Jak aplikacje używają sterowników urządzeń
    • Wprowadzenie do połączeń systemowych z dostępem do urządzeń
    • Numery błędów
    • Printk()
    • devres: zarządzane zasobami urządzeń
    • Laboratoria
  5. Moduły i sterowniki urządzeń
    • Makra modułu driver ()
    • Moduły i hot plug
    • Laboratoria
  6. Zarządzanie pamięcią i alokacja
    • Pamięć wirtualna i fizyczna
    • Strefy pamięci
    • Tabele stron
    • kmalloc ()
    • __get_free_pages ()
    • vmalloc ()
    • Slabs i alokacje pamięci podręcznej
    • Laboratoria
  7. Urządzenia znakowe
    • Węzły urządzenia
    • Numery główne i pomocnicze
    • Rezerwowanie numerów głównych/pomocniczych
    • Uzyskiwanie dostępu do węzła urządzenia
    • Rejestrowanie urządzenia
    • Udev
    • dev_printk ()
    • file_operations struktura
    • Punkty wejścia kierowcy
    • Struktury pliku i węzła
    • Różne sterowniki znaków
    • Laboratoria
  8. Funkcje jądra
    • Komponenty jądra
    • Przestrzeń użytkownika a kernel-Space
    • Co to są wywołania systemowe?
    • Dostępne wywołania systemowe
    • Planowanie algorytmów i struktur zadań
    • Kontekst procesu
    • Laboratoria
  9. Przenoszenie między użytkownikiem a przestrzenią jądra
    • Przenoszenie między przestrzeniami
    • put(get)_user() i copy_to(from)_user()
    • Bezpośredni transfer: I/O jądra i mapowanie pamięci
    • I/O Jądra
    • Mapowanie stron użytkownika
    • Mapowanie pamięci
    • Funkcje przestrzeni użytkownika dla mmap()
    • Punkt wejścia sterownika dla mmap()
    • Uzyskiwanie dostępu do plików z jądra
    • Laboratoria
  10. Przerwania i wyjątki
    • Czym są przerwania i wyjątki?
    • Wyjątki
    • Przerwania asynchroniczne
    • MSI
    • Włączanie/wyłączanie przerwań
    • Czego nie można zrobić w czasie przerwania
    • Struktury danych IRQ
    • Instalowanie obsługi przerwań
    • Laboratoria
  11. Pomiary czasu
    • Rodzaje pomiarów czasu
    • Jiffies
    • Uzyskiwanie bieżącego czasu
    • Źródła zegara
    • Zegar czasu rzeczywistego
    • Programowalny licznik interwałów
    • Licznik sygnatury czasowej
    • HPET
    • Tickless
    • Laboratoria
  12. Czasomierze jądra
    • Wstawianie opóźnień
    • Co to są czasomierze jądra?
    • Funkcje czasomierza o niskiej rozdzielczości
    • Implementacja czasomierza o niskiej rozdzielczości
    • Przekaźniki czasowe o wysokiej rozdzielczości
    • Korzystanie z czasomierzy o wysokiej rozdzielczości
    • Laboratoria
  13. ioctls
    • Czym są ioctls?
    • Punkt wejścia sterownika dla polecenia funkcji ioctl
    • Definiowanie polecenia funkcji ioctl
    • Laboratoria
  14. Ujednolicony model urządzenia i sysfs
    • Ujednolicony model urządzenia
    • Podstawowe konstrukcje
    • Urządzenia
    • sysfs
    • kset i kobject
    • Laboratoria
  15. Firmware
    • Co to jest firmware?
    • Ładowanie oprogramowania firmware
    • Laboratoria
  16. Kolejki snu i oczekiwania
    • Co to są kolejki oczekiwania?
    • Usypianie i budzenie
    • Szczegóły dotyczące usypiania
    • Szczegóły budzenia
    • Sondowania
    • Laboratoria
  17. Obsługa przerwań: funkcje deferrable i sterowniki użytkownika
    • Górna i dolna części
    • Softirqs
    • Tasklets
    • Kolejki robocze
    • Nowy interfejs API kolejki pracy
    • Tworzenie wątków jądra
    • Programy obsługi przerwań gwintowanych
    • Przerwanie obsługi w przestrzeni użytkownika
    • Laboratoria
  18. Sprzęt I/O
    • Busy i porty
    • Bariery pamięci
    • Rejestrowanie portów I/O
    • Odczytywanie i zapisywanie danych z rejestrów I/O
    • Przydzielanie i mapowanie pamięci I/O
    • Uzyskiwanie dostępu do pamięci I/O
    • Dostęp użytkownika – ioperm (), iopl (), /dev/port
    • Laboratoria
  19. PCI
    • Co to jest PCI?
    • Sterowniki urządzeń PCI
    • Lokalizowanie urządzeń PCI
    • Uzyskiwanie dostępu do przestrzeni konfiguracji
    • Uzyskiwanie dostępu do funkcji i/O i przestrzeni pamięci
    • Złącze PCI Express
    • Laboratoria
  20. Sterowniki platformy * *
    • Czym są sterowniki platformy?
    • Główne struktury danych
    • Rejestrowanie urządzeń platformy
    • Przykład
    • Dane platformy na stałe
    • Nowy sposób: drzewa urządzeń
    • Laboratoria
  21. Bezpośredni dostęp do pamięci (DMA)
    • Co to jest DMA?
    • DMA bezpośrednio do użytkownika
    • DMA i przerwania
    • Ograniczenia pamięci DMA
    • Maski DMA
    • API DMA
    • Zasoby DMA
    • Mapowanie rozproszenia/zbierania
    • Laboratoria
  22. Sterowniki sieciowe I: podstawy
    • Warstwy sieciowe i hermetyzacja danych
    • Warstwa DATALINK
    • Sterowniki urządzeń sieciowych
    • Załadunek/rozładunek
    • Otwieranie i zamykanie
    • Laboratoria
  23. Sterowniki sieciowe II: struktury danych
    • net_device struktura
    • net_device_ops struktura
    • sk_buff struktura
    • Funkcje bufora gniazd
    • netdev_printk () i powiązania
    • Laboratoria
  24. Sterowniki sieciowe III: Transmisja i odbiór
    • Przesyłanie danych i limity czasu
    • Odbieranie danych
    • Statystyki
    • Laboratoria
  25. Sterowniki sieciowe IV: wybrane tematy
    • Multicast * *
    • Zmiany w stanie łącza
    • ioctls
    • NAPI i łagodzeniaeprzerwań
    • Szczegóły NAPI
    • TSO i TOE
    • MII i ethtool * *
  26. Sterowniki USB
    • Czym jest USB?
    • Topologia USB
    • Terminologie
    • Punkty końcowe
    • Deskryptory
    • Klasy urządzeń USB
    • Obsługa USB w Linuxie
    • Rejestrowanie sterowników urządzeń USB
    • Przenoszenie danych
    • Przykład sterownika USB
    • Laboratoria
  27. Zarządzanie zasilaniem
    • Zarządzanie zasilaniem
    • ACPI i APM
    • Stany zasilania systemu
    • Funkcje wywołania zwrotnego
    • Laboratoria
  28. Sterowniki blokowe
    • Czym są sterowniki blokowe?
    • Buforowanie
    • Rejestrowanie sterownika bloku
    • gendisk struktury
    • Obsługa żądań
    • Laboratoria
  29. Badanie końcowe i zakończenie
    • Ankieta ewaluacyjna

* * Sekcje te mogą być brane pod uwagę w części lub w całości jako opcjonalne. Zawierają one zarówno materiały referencyjne tła, tematy specjalistyczne, jak i tematy zaawansowane. Instruktor może zdecydować się na ich omówienie lub nie w zależności od doświadczenia w klasie i ograniczeń czasowych.

Pobierz konspekt szkolenia w formacie PDF

Dodatkowe informacje

Wymagania wstępne

Znajomość podstawowych interfejsów jądra i metod, takich jak pisanie, kompilowanie, wczytywanie i zwalnianie modułów, używanie elementów podstawowych synchronizacji oraz podstawy alokacji i zarządzania pamięcią, zagadnienia te są omówione w kursie LFD420 Linux Kernel Internals and Development.

Poziom trudności
Czas trwania 4 dni
Certyfikat

Uczestnicy uzyskają certyfikat podpisany przez The Linux Foundation.

Prowadzący

Certyfikowany trener The Linux Foundation.

Pozostałe szkolenia The Linux Foundation | Linux

Szkolenia powiązane tematycznie

Programowanie

Linux

Open Source

Systemy operacyjne

Formularz kontaktowy

Prosimy o wypełnienie poniższego formularza, jeśli chcą Państwo uzyskać więcej informacji o powyższym szkoleniu.






* pola oznaczone (*) są wymagane

Informacje o przetwarzaniu danych przez Compendium – Centrum Edukacyjne Spółka z o.o.

CENA 8000 PLN NETTO

FORMA SZKOLENIA ?

 

MATERIAŁY SZKOLENIOWE ?

 

WYBIERZ TERMIN SZKOLENIA

  • szkolenie hybrydowe: HYBRID
    • Informacje ogólne
    • Termin gwarantowany
    • Last minute (-10%)
    • Język obowiązujący na szkoleniu
    • Polski
  • szkolenie hybrydowe: HYBRID
    • Informacje ogólne
    • Termin gwarantowany
    • Last minute (-10%)
    • Język obowiązujący na szkoleniu
    • Polski
Zarezerwuj termin szkolenia
zamknij

Szkolenie stacjonarne

Szkolenia stacjonarne w Compendium CE odbywają się najczęściej w naszych lokalizacjach w Krakowie i Warszawie, ale także w miejscu ustalonym przez klienta. Grupa uczestnicząca w szkoleniu spotyka się w danym miejscu o określonym czasie i wraz z trenerem aktywnie uczestniczy w laboratoriach.

Szkolenie dlearning

W szkoleniach Compendium Distance Learning możesz uczestniczyć z dowolnego miejsca na świecie. Kursanci, dzięki zaawansowanej technologii, którą dostarcza Compendium CE, stale widzą i słyszą trenera, mogą mu zadawać pytania poprzez chat i mikrofon, a także uczestniczą w ćwiczeniach i laboratoriach, które rozwiązują wraz z prowadzącym. Po więcej informacji zajrzyj na stronę dlearning.eu

zamknij

Materiały papierowe

Materiały tradycyjne: cena zawiera standardowe materiały wydawane w postaci książek papierowych, drukowanych lub innej, w zależności od ustaleń z producentem.

Materiały elektroniczne

Materiały elektroniczne: są to materiały szkoleniowe w wersji elektronicznej, które w zależności od dostawcy udostępniane są za pomocą dedykowanych aplikacji: Skillpipe, eVantage itd. lub w postaci dokumentów PDF.

Materiały ctab

Materiały ctab: cena zawiera tablet ctab oraz materiały szkoleniowe w formie elektronicznej bądź tradycyjne materiały szkoleniowe i materiały dodatkowe dostarczone w wersji elektronicznej w zależności od ustaleń z producentem (w postaci dokumentów PDF lub EPUB). Tak dostarczone materiały są przystosowane pod kątem wyświetlania ich na tablecie ctab. Po więcej informacji zajrzyj na stronę ctab.

Najbliższe szkolenia The Linux Foundation

Harmonogram szkoleń
The Linux Foundation