Cod: ADM-008
Durata: 20 ore
Durata: 20 ore
Descriere
a:2:{s:4:"TEXT";s:362:"Acest curs are drept scop pregatirea programatorilor pentru operarea aplicatiilor de comunicare sau de tip integrat pentru GNU/Linux sau alte medii POSIX® (BSD®,QNX®,etc.). Cursul prezinta caracteristicile comune ale sistemelor de operare din familia UNIX, in special a API-urilor de standarde POSIX® (Interfata sistemului de operare portabil = IEEE Std 1003.*).";s:4:"TYPE";s:4:"html";}Subiecte curs
a:2:{s:4:"TEXT";s:878:"- Interfata utilizator kernel (system calls, errno, libc)
- Procese, semnale
- Model Universal I/O: totul incearca sa devina un fisier sau cel putin un flux de biti — devices, sockets etc.
- File system
- Cateva instrumente de explorare Unix I/O si investigare a comportamentului programului: strace, dd, netcat/socat
- Inter-Process Communication (IPC) — inclusiv memoria partajata, mappings (mmap)
- Overhead: surse (system call, memory copy, scanning, alocare de memorie, etc.); reducerea overheadului
- POSIX® Threads (‘pthread’) API si interactiunile sale cu caracteristicile descrise anterior
- Advanced I/O: non-blocking, Async, polling
- Sync vs. Async, adaptarea acestor abordari
- procesele Daemon
- System startup
Obiective
a:2:{s:4:"TEXT";s:318:"- Gasirea informatiei specifice in man pages sau documente standard
- Identificarea greselilor simple si a problemelor/riscurilor in codul care foloseste POSIX® API
- Elemente ce trebuie luate in considerare in elaborarea sau modificarea aplicatiilor de tip embedded
";s:4:"TYPE";s:4:"html";}
Public tinta
- Dezvoltatori software
- Programatori
Cerinte curs
a:2:{s:4:"TEXT";s:633:"Important:- Buna cunoastere a limbajului de programare C
- Abilitatea de utilizare a interfetei command-line (shell) in GNU/Linux sau alt sistem Unix – cel putin sarcini de baza ca file management, search
- Notiuni de baza in programarea concurenta
- Experienta in dezvoltarea de software - cel putin in depanarea programelor mai mari C, de preferat coduri de productie
- Cunostinte de baza in networking ( introducere TCP/IP, sa spunem la nivel de CCNA1)