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.
Schița de curs
Introducere
- Obiective
- Cine Ești Tu
- The Linux Foundation (Organizația Linux)
- Formarea Linux Foundation
- Programe de Certificare și Digital Badging
- Distribuțiile Linux
- Platforme
- Pregătirea Sistemului
- Utilizarea și Descărcarea unei Machine Virtuale
- Lucrurile se Schimbă în Linux
Preliminare
- Proceduri
- Standarde și LSB (Linux Standard Base)
Cum să Muncești în Proiectele OSS **
- Prezentare Generală despre Cum să Contribui Corect
- Rămâne La Marginea Principala Pentru Securitate și Calitate
- Studiază și Înțelege DNA Proiectului
- Află Ce Dorți Să Resoluți
- Identificarea Administratorilor și Metodelor lor de Lucru
- Obține Feedback Precoace și Muncește în Deschidere
- Contribuie Cu Mici Bucăți, Nu Cu Cărouri De Cod
- Lasă Ego-ul La Ușă: Fii Neafectat de Criticile Negative
- Fi Pacient, Dezvolte Relații Pe Termen Lung, Fi Util
Compilatoare
- GCC (GNU Compiler Collection)
- Altele Compilatoare
- Opțiuni Major GCC
- Preprocesor
- Medii de Dezvoltare Integrat (IDE)
- Laboratoare
Biblioteci
- Biblioteci Statice
- Biblioteci Comune
- Legarea la Biblioteci
- Loader de Legare Dinamică
- Laboratoare
Make
- Utilizarea make și Makefiles
- Construirea Proiectelor Mari
- Reguli Mai Complicate
- Reguli Implementate Dinamic
- Laboratoare
Controlul Sursă
- Controlul Sursă
- RCS și CVS (Revision Control System, Concurrent Versions System)
- Subversion
- git
- Laboratoare
Depanare și Core Dumps
- gdb (GNU Debugger)
- Ce Sunt Fișierele de Core Dump?
- Producerea Fișierelor de Core Dump
- Examinarea Fișierelor de Core Dump
- Laboratoare
Instrumente de Depanare
- Obținerea timpului
- Profilare și Performanță
- valgrind
- Laboratoare
Apele de Sistem
- Apele de Sistem vs. Funcțiile Bibliotecii
- Cum Se Fac Apelurile de Sistem
- Valorile Returnate și Codurile de Eroare
- Laboratoare
Gestionarea Memoriei și Alocării
- Gestionarea Memoriei
- Alocări Dinamice
- Tunajul malloc()
- Blocarea Paginilor
- Laboratoare
Fișiere și Fișier sisteme în Linux **
- Fișiere, Directoare și Dispozitive
- Sistemul de Fișiere Virtual (VFS)
- Sistemul de fișiere ext2/ext3
- Sisteme de fișiere cu jurnalizare
- Sistemul de fișiere ext4/
- Laboratoare
I/O Fișier
- I/O Fișier UNIX
- Deschiderea și Închiderea
- Citirea, Scrierea și Căutarea
- I/O Pozitional și Vectorial
- Biblioteca Standard de I/O
- Suport pentru Fișiere Mari (LFS)
- Laboratoare
Operațiuni Avansate cu Fișiere
- Funcții Stat
- Funcții Directoare
- inotify
- Mapearea Memoriei în Fișier
- flock() și fcntl()
- Crearea de Fișiere Temporare
- Alte Apeluri de Sistem
- Laboratoare
Procese I
- Ce este un Proces?
- Limitele Proceselor
- Grupuri de Procese
- Sistemul de Fișiere proc
- Metode de Comunicare Interproces
- Laboratoare
Procese II
- Utilizarea system() pentru Crearea unui Proces
- Utilizarea fork() pentru Crearea unui Proces
- Utilizarea exec() pentru Crearea unui Proces
- Utilizarea clone()
- Încheierea (Exit)
- Constructori și Destructorii
- Așteptarea (Wait)
- Procese Daemon
- Laboratoare
Tuberi și Fifos
- Tuberi și Comunicarea Interproces
- popen() și pclose()
- pipe()
- Piferi Nume (FIFOs)
- splice(), vmsplice() și tee()
- Laboratoare
I/O Asincron **
- Ce este I/O Asincron?
- API-ul POSIX pentru I/O Asincron
- Implementarea Linux
- Laboratoare
Semnale I
- Ce Sunt Semnale?
- Semnale Disponibile
- Distribuirea de Semnale
- Alarme, Pauze și Somn
- Configurarea unui Handler pentru Semnal
- Seturi de Semnale
- sigaction()
- Laboratoare
Semnale II
- Reentrancy și Handleri pentru Semnale
- Săriri și Returnuri NeLocale (Non-Local)
- siginfo și sigqueue()
- Semnale în timp real
- Laboratoare
Fiecăruințe POSIX I
- Fiecăruințele sub Linux
- Structura Programului de bază
- Crearea și Anihilarea Fiecăruințelor
- Semnale și Fiecăruințe
- Diferența între Forking și Threading
- Laboratoare
Fiecăruințe POSIX II
- Dezbaterea și Condițiile de Razătura (Race Conditions)
- Operațiuni Mutex
- Semaforoase
- Futex-uri
- Operații condiționale
- Laboratoare
Retele și Sockete
- Straturile Retelei
- Ce Sunt Socketele?
- Socketele de Flux (Stream)
- Socketele Datagramă
- Socketele Raw
- Ordinea de Octeți
- Laboratoare
Adrese și Gospodări Socketelor
- Structuri ale Adreselor Socketelor
- Convertirea Adreselor IP
- Informații despre Gospodar (Host)
- Laboratoare
Porturi și Protocoale Socketelor
- Informații Serviciu Port
- Informații Protocole
- Laboratoare
Clienți Sockete
- Secvență de bază a Clientului
- socket()
- connect()
- close() și shutdown()
- Client UNIX
- Client Internet
- Laboratoare
Serveri Sockete
- Secvență de bază a Servrului
- bind()
- listen()
- accept()
- Server UNIX
- Server Internet
- Laboratoare
I/O Operațiuni Sockete
- write(), read()
- send(), recv()
- sendto(), recvfrom()
- sendmsg(), recvmsg()
- sendfile()
- socketpair()
- Laboratoare
Opțiuni Sockete
- Obținerea și Setarea Opțiunilor Socketelor
- fcntl()
- ioctl()
- getsockopt() și setsockopt()
- Laboratoare
Sockete Netlink**
- Ce Sunt Socketele Netlink?
- Deschiderea unei Sockete Netlink
- Mesaje Netlink
- Laboratoare
Multiplexarea și Servere Concomitente Socketelor
- I/O de Socket Multiplexat și Asincron
- select()
- poll()
- pselect() și ppoll()
- epoll
- I/O Drivată de Semnaluri și Asincronă
- Servere Concomitente
- Laboratoare
Comunicarea Interproces (IPC)
- Metode IPC
- IPC POSIX
- IPC System V**
- Laboratoare
Memorie Comună
- Ce este Memoria Comună?
- Memoria Comună POSIX
- Memoria Comună System V**
- Laboratoare
Semaforoase
- Ce este un Semafor?
- Semaforoase POSIX
- Semaforoase System V**
- Laboratoare
Cele de Mesaje în Coada (Message Queues)
- Ce Sunt Cele de Mesaje în Coadă?
- Cele de Mesaje în Coadă POSIX
- Cele de Mesaje în Coadă System V**
- Laboratoare
Cerințe
Acest curs se adresează dezvoltatorilor cu experiență. Studenții trebuie să cunoască bine programarea în C și să fie familiarizați cu utilitarele de bază Linux și cu editorii de text.
Audiență
Acest curs se adresează dezvoltatorilor cu experiență. Studenții trebuie să cunoască bine programarea în C și să fie familiarizați cu utilitățile de bază Linux și cu editorii de text.
Nivel de experiență: Intermediar
28 ore