Děkujeme za vaši dotaz! Jeden z našich pracovníků vás brzy kontaktuje.
Děkujeme za rezervaci! Jeden z našich pracovníků vás brzy kontaktuje.
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