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 Jste Vy?
- Linux Foundation
- Linux Foundation Training
- Certifikační Programy a Digitální Značky
- Linux Distribuce
- Platformy
- Příprava Vašeho Systému
- Používání a Stažení Virtuálního Počítače
- Věci se mění v Linuxu
Předpoklady
- Postupy
- Standardy a LSB
Jak Pracovat ve OSS Projektech **
- Přehled o Správném Příspěvku
- Zůstaňte Blízko Mainline pro Bezpečnost a Kvalitu
- Studujte a Porozuměte DNA Projektu
- Zjistěte, Co Chcete Řešit
- Identifikujte Vedoucí a Jejich Pracovní Postupy a Metody
- Dostaňte Dřívější Vstup a Pracujte Otevřeně
- Přispívejte Incrementálním Bity, Ne Celými Bloky Kódu
- Nechte Svůj Ego u Dveří: Nenechte se Snadno Rozčílit
- Buďte Trpěliví, Vytvářejte Dlouhodobé Vztahy a Buďte Užiteční
Kompilátory
- GCC
- Další Kompilátory
- Hlavní Volby GCC
- Preprocesor
- Integrované Vývojové Prostředí (IDE)
- Laboratoře
Knihovny
- Statické Knihovny
- Dynamické Knihovny
- Odkazování na Knihovny
- Načítací Program pro Dynamickou Odkazování (Dynamic Linking Loader)
- Laboratoře
Make
- Používání Make a Makefileů
- Vytváření Velkých Projektů
- Složitější Pravidla
- Budovaná Pravidla
- Laboratoře
Zdrojový Řízení
- Zdrojové Řízení
- RCS a CVS
- Subversion
- git
- Laboratoře
Ladění a Jaderové Soubory (Core Dumps)
- gdb
- Co jsou Jaderové Soubory?
- Vytváření Jaderových Souborů
- Prozkoumání Jaderových Souborů
- Laboratoře
Nástroje pro Ladění
- Získávání Času
- Profile a Výkon
- valgrind
- Laboratoře
Systémové Volání (System Calls)
- Systémová Volání vs. Knihovenské Funkce
- Jak se Provádí Systémová Volání
- Vrácené Hodnoty a Chybové Čísla
- Laboratoře
Správa Paměti a Alokování
- Správa Paměti
- Dynamické Alokování
- Nastavení malloc()
- Zamknutí Stránek (Locking Pages)
- Laboratoře
Soubory a Souborové Systémy v Linuxu **
- Soubory, Složky a Zařízení
- Virtuální Souborový Systém (Virtual File System)
- Souborový systém ext2/ext3
- Dokumentační souborové systémy
- Souborový systém ext4/
- Laboratoře
Vstup/Výstup Souborů (File I/O)
- UNIX Vstup/Výstup souborů (File I/O)
- Otevírání a Zavírání
- Čtení, Zápis a Přesunutí (Seeking)
- Vektorové Vstupy/Výstupy a Pozice (Positional and Vector I/O)
- Knihovna Standardního Vstupu/Výstupu
- Podpora Velkých Souborů (LFS)
- Laboratoře
Pokročilé Operace se Soubory
- Stat Funkce
- Funkce adresářů (Directory Functions)
- inotify
- Mapování Paměti do Paměti (Memory Mapping)
- flock() a fcntl()
- Vytváření Dočasného Souboru
- Další systémové volání
- Laboratoře
Procesy I
- Co je Proces?
- Omezení procesů (Process Limits)
- Skupiny procesů (Process Groups)
- Souborový systém proc
- Metody komunikace mezi procesy (Interprocess Communication Methods)
- Laboratoře
Procesy II
- Použití system() pro vytvoření procesu
- Použití fork() pro vytvoření procesu
- Použití exec() pro vytvoření procesu
- Použití clone()
- Ukončení (Exiting)
- Konstruktor a Destruktor
- Čekání (Waiting)
- Deamon Procesy
- Laboratoře
Roury a Fifos
- Roury a meziprocesní komunikace (Pipes and InterProcess Communication)
- popen() a pclose()
- pipe()
- Jmenované Roury (FIFOs)
- splice(), vmsplice() a tee()
- Laboratoře
Aсинхронní Vstup/Výstup**
- Co je asynchronní vstup/výstup?
- API POSIX Asynchronního Vstupu/Výstupu (POSIX Asynchronous I/O API)
- Implementace Linuxu
- Laboratoře
Sigyaly I
- Co jsou signály?
- Dostupné Signály
- Odesílání Signálů (Dispatching Signals)
- Alarmy, Pausing a Sleeping
- Nastavení Správce Signálů (Setting up a Signal Handler)
- Signálové Množiny (Signal Sets)
- sigaction()
- Laboratoře
Sigyaly II
- Znovupoužitelnost a Správci Signálů (Reentrancy and Signal Handlers)
- Skoky a Neprostorové Vrácení (Jumping and NonLocal Returns)
- siginfo a sigqueue()
- Signály v reálném čase
- Laboratoře
POSIX Nitě I
- Vícekternost pod Linuxem (Multithreading under Linux)
- Základní Struktura Programu
- Vytváření a Zničení Nití
- Signály a Nitě
- Forking vs. Threading
- Laboratoře
POSIX Nitě II
- Zamrazení (Deadlocks) a Race Conditions
- Operace Mutexu
- Smažáky (Semaphores)
- Futexy
- Podmíněné Operace
- Laboratoře
Síťování a Sockets
- Síťové vrstvy (Networking Layers)
- Co jsou Sockets?
- Streampové Sockets
- Datagramové Sockets
- Raw Sockets
- Pořadí bajtů (Byte Ordering)
- Laboratoře
Sockets Adresy a Hostitelé
- Struktury adres Sockets
- Převod IP adries
- Informace o Hostiteli
- Laboratoře
Sockets Porty a Protokoly
- Informace o Služebních Portech (Service Port Information)
- Protokolové Informace
- Laboratoře
Sockets Klienti
- Základní Posloupnost klienta (Basic Client Sequence)
- socket()
- connect()
- close() a shutdown()
- UNIX Klient
- Internetový Klient
- Laboratoře
Sockets Servery
- Základní Posloupnost serveru (Basic Server Sequence)
- bind()
- listen()
- accept()
- UNIX Server
- Internetový Server
- Laboratoře
Sockets Vstup/Výstup Operace (Input/Output Operations)
- write(), read()
- send(), recv()
- sendto(), recvfrom()
- sendmsg(), recvmsg()
- sendfile()
- socketpair()
- Laboratoře
Sockets Možnosti (Options)
- Získávání a Nastavování Možností Socketů
- fcntl()
- ioctl()
- getsockopt() a setsockopt()
- Laboratoře
Sockets Netlink**
- Co jsou netlink Sockets?
- Otevření netlink Socketu
- Netlink Zprávy (netlink Messages)
- Laboratoře
Sockets Multiplexing a Současné Servery
- Multiplexované a Asynchronní Socket Vstup/Výstup (Multiplexed and Asynchronous Socket I/O)
- select()
- poll()
- pselect() a ppoll()
- epoll
- Signal Driven a Asynchronní Vstup/Výstup (Signal Driven and Asynchronous I/O)
- Současné Servery (Concurrent Servers)
- Laboratoře
Systémové Meziprocesní Komunikace (Inter Process Communication)
- Metody IPC
- POSIX IPC
- System V IPC**
- Laboratoře
Sdílená Paměť (Shared Memory)
- Co je sdílená paměť?
- POSIX Sdílená Paměť
- System V Sdílená Paměť**
- Laboratoře
Smažáky (Semaphores)
- Co je smažák?
- POSIX Smažáky
- System V Smažáky**
- Laboratoře
Souborové Fronty (Message Queues)
- Co jsou souborové fronty?
- POSIX Souborové Fronty
- System V Souborové Fronty**
- 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