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.
Návrh Školení
Úvod
- Cíle
- Kdo jsi
- Nadace Linux
- Linux Základní školení
- Certifikační programy a digitální odznaky
- Linux Distribuce
- Platformy
- Příprava vašeho systému
- Používání a stahování virtuálního stroje
- Věci se mění v Linux
Předběžná utkání
- Postupy
- Standardy a LSB
Jak pracovat v projektech OSS **
- Přehled o tom, jak správně přispívat
- Zůstaňte blízko hlavní linky kvůli bezpečnosti a kvalitě
- Studujte a pochopte DNA projektu
- Zjistěte, co chcete svědit Scratch
- Identifikujte správce a jejich pracovní toky a metody
- Získejte včasné vstupy a pracujte otevřeně
- Přispějte přírůstkovými bity, nevelké výpisy kódu
- Nechte své ego za dveřmi: Nebuďte hubení
- Buďte trpěliví, rozvíjejte dlouhodobé vztahy, buďte nápomocní
Kompilátory
- GCC
- Další kompilátory
- Hlavní možnosti gcc
- Preprocesor
- Integrovaná vývojová prostředí (IDE)
- Laboratoře
Knihovny
- Statické knihovny
- Sdílené knihovny
- Propojení s knihovnami
- Dynamic Linking Loader
- Laboratoře
Udělat
- Pomocí make a Makefiles
- Budování velkých projektů
- Složitější pravidla
- Vestavěná pravidla
- Laboratoře
Ovládání zdroje
- Ovládání zdroje
- RCS a CVS
- Podvracení
- git
- Laboratoře
Ladění a výpisy jádra
- gdb
- Co jsou soubory Core Dump?
- Produkce Core Dumps
- Zkoumání Core Dumps
- Laboratoře
Nástroje pro ladění
- Získání času
- Profilování a výkon
- valgrind
- Laboratoře
Systémová volání
- Systémová volání vs. funkce knihovny
- Jak se uskutečňují systémová volání
- Návratové hodnoty a čísla chyb
- Laboratoře
Paměť Management a alokace
- Paměť Management
- Dynamická alokace
- Ladění malloc()
- Zamykání stránek
- Laboratoře
Soubory a systémy souborů v Linux **
- Soubory, adresáře a zařízení
- Virtuální souborový systém
- Souborový systém ext2/ext3
- Žurnálování souborových systémů
- Souborový systém ext4/
- Laboratoře
Soubor I/O
- UNIX File I/O
- Otevírání a zavírání
- Čtení, psaní a hledání
- Poziční a vektorové I/O
- Standardní I/O knihovna
- Podpora velkých souborů (LFS)
- Laboratoře
Pokročilé operace se soubory
- Stat funkce
- Funkce adresáře
- upozornit
- Mapování paměti
- flock() a fcntl()
- Vytváření dočasných souborů
- Další systémová volání
- Laboratoře
Procesy I
- Co je to proces?
- Limity procesu
- Skupiny procesů
- Souborový systém proc
- Metody InterProcess Communication
- Laboratoře
Procesy II
- Použití system() k vytvoření procesu
- Použití fork() k vytvoření procesu
- Použití exec() k vytvoření procesu
- Použití clone()
- Konec
- Konstruktoři a destruktory
- Čekání
- Démonské procesy
- Laboratoře
Trubky a Fifos
- Potrubí a InterProcess Communication
- popen() a pclose()
- trubka()
- Pojmenované potrubí (FIFO)
- splice(), vmsplice() a tee()
- Laboratoře
Asynchronní I/O**
- Co je asynchronní I/O?
- Asynchronní I/O API POSIX
- Linux Realizace
- Laboratoře
Signály I
- Co jsou signály?
- Signály k dispozici
- Dispečerské signály
- Budíky, pauza a spánek
- Nastavení obsluhy signálu
- Sady signálů
- sigaction()
- Laboratoře
Signály II
- Reentrancy a Signal Handlers
- Skákání a nelokální návraty
- siginfo a sigqueue()
- Signály v reálném čase
- Laboratoře
Vlákna POSIX I
- Vícevláknové zpracování pod Linux
- Základní struktura programu
- Vytváření a ničení vláken
- Signály a vlákna
- Forking vs. Threading
- Laboratoře
Vlákna POSIX II
- Zablokování a podmínky závodu
- Mutex operace
- Semafory
- Futexy
- Podmíněné operace
- Laboratoře
Networking a Zásuvky
- Networking Vrstvy
- Co jsou zásuvky?
- Streamové zásuvky
- Datagramové zásuvky
- Raw zásuvky
- Řazení bytů
- Laboratoře
Adresy zásuvek a hostitelé
- Struktury adres soketů
- Konverze IP adres
- Informace o hostiteli
- Laboratoře
Sokety Porty a protokoly
- Informace o servisním portu
- Informace o protokolu
- Laboratoře
Klienti soketů
- Základní klientská sekvence
- zásuvka()
- připojit()
- close() a shutdown()
- Klient UNIX
- Internetový klient
- Laboratoře
Soketové servery
- Základní sekvence serveru
- svázat()
- poslouchat()
- akceptovat()
- UNIX server
- Internetový server
- Laboratoře
Vstupní/výstupní operace soketů
- psát(), číst()
- send(), recv()
- sendto(), recvfrom()
- sendmsg(), recvmsg()
- poslat soubor()
- pár zásuvek()
- Laboratoře
Možnosti zásuvek
- Získání a nastavení možností zásuvky
- fcntl()
- ioctl()
- getockopt() a setsockopt()
- Laboratoře
Zásuvky Netlink**
- Co jsou zásuvky netlink?
- Otevření zásuvky netlink
- zprávy netlink
- Laboratoře
Multiplexování soketů a souběžné servery
- Multiplexní a asynchronní Socket I/O
- vybrat()
- hlasování()
- pselect() a ppoll()
- epoll
- Signálem řízené a asynchronní I/O
- Souběžné servery
- Laboratoře
Inter Process Communication
- Metody IPC
- POSIX IPC
- System V IPC**
- Laboratoře
Sdílená paměť
- Co je sdílená paměť?
- Sdílená paměť POSIX
- Sdílená paměť System V**
- Laboratoře
Semafory
- Co je semafor?
- Semafory POSIX
- Semafory System V**
- Laboratoře
Fronty zpráv
- Co jsou fronty zpráv?
- Fronty zpráv POSIX
- Fronty zpráv System V**
- Laboratoře
Požadavky
Tento kurz je určen pro zkušené vývojáře. Studenti by měli být zběhlí v programování v C a znát základní Linux utility a textové editory.
Publikum
Tento kurz je určen pro zkušené vývojáře. Studenti by měli být zběhlí v programování v C a znát základní Linux utility a textové editory.
Úroveň zkušeností: středně pokročilá
28 hodiny