Sarcini:Sarcini 2008-2009

Responsabil laboratoare
Rezolvitorii vor:
 * va porni cronometrul
 * va descarca arhiva
 * va descarca solutiile
 * va rezolva exercitiile; se va uita in arhiva doar acolo unde este neaparat necesar
 * va opri cronometrul
 * va scrie un _mail_ cu observatiile/feedback-ul de laborator
 * fiecare dintre cei doi rezolvatori va trebui sa rezolve task-urile in cel mult 40 de minute; altfel, trebuie taiat din laborator

Laboratoare (detaliat)

 * laboratoare
 * decriere conceptulă
 * antet funcții
 * explicații rol funcții
 * exemple

Laboratorul 1 - Introducere (Cosmin)

 * compilare
 * linking
 * make
 * gdb
 * nmake + compilare pe Windows
 * biblioteci
 * awareness despre debugging pe Windows (TODO)
 * poate micșorat

Laboratorul 2: Operații I/O simple (Cristi)

 * operații pe fișiere
 * awareness fctnl/FileIoControl
 * _eliminare_ locking
 * redirectări
 * pipe-uri (fără exerciții, exerciții la procese)
 * awareness despre operații pe directoare
 * awareness despre portabilitate în laboratorul 2 (operații I/O) - conceptul de wrapper (vă mai amintiți de ifdef și headere)

Laboratorul 3: Procese (Mihnea)

 * fork/exec/CreateProcess
 * un singur apel de tip exec; restul amintite
 * de văzut despre depanarea proceselor
 * lucrat bine la partea de redirectare în Windows + handle-uri
 * variabile de mediu
 * neapărat exercițiu de pipe (a | b)

Laboratorul 4: Gestiunea Memoriei (Dan & Mihai)

 * alocarea memoriei
 * lucrul cu stiva
 * mecanisme de depanare a problemelor de memoriei
 * extins Valgdrind - atenție la false-positive în folosirea cod C++ (în STL)
 * imagine cu plasarea argumentelor pe stivă (adresă de retur & all)

Laborator 5: IPC (MirceaG)

 * semafoare POSIX (Linux)
 * mutex-uri, semafoare, funcții de așteptare (Windows)
 * memorie partajată POSIX
 * cozi de mesaje POSIX
 * lipit cu laboratorul IPC2

Laboratorul 6: Semnale (George)

 * doar sigaction
 * doar precizat signal
 * mai eliberat din text (literatură)
 * masca de semnale, listat funcții + exemple
 * sigsuspend în loc de pause
 * APC-uri, se elimină events
 * dacă rămâne spațiu pentru timere

Laboratorul 7: Memoria virtuală (MirceaB)

 * alocarea memoriei virtuale
 * maparea fișierelor
 * ElectricFence

Laboratorul 8: Thread-uri (Andrei)

 * crearea thread-urilor
 * așteptarea thread-urilor
 * TLS/TSD
 * eliminate sau doar reminder pentru atribute & all
 * scos fibre
 * va fi un laborator destul de scurt

Laboratorul 9: Sincronizare thread-uri (Lucian)

 * amintit semafoare de la laboratorul 5 (IPC)
 * mutex-uri, criticalSection
 * variabile condiție, fără events

Laboratorul 10: Operații I/O avansate (1) (la comun) (MirceaG pentru stabilit cuprins)

 * writev/Gather, readv/Scatter, sendfile/TransmitFile
 * splice, zero-copying
 * multiplexed I/O
 * amintit despre select
 * poll/epoll
 * awareness /dev/poll și kqueue

Laboratorul 11: Operații I/O avansate (2) (la comun) (Andrei pentru stabilit cuprins)

 * operații I/O asincrone (KAIO pe Linux)
 * integrare I/O și asincrone - eventfd
 * inotify

Laborator 12: Profiling (Razvan)

 * oprofile
 * kernrate
 * exerciții cât mai atractive (prezentate cât mai mișto)

Format laborator
Lucian:
 * wiki cu man pages

Alex Mihăiuc
 * căutare Google pe lista de discuții
 * anexa combinare C/C++ (combo cu MirceaG)

George & Mircea
 * propunere format îmbunătățit pentru laborator
 * linie orizontală între secțiuni
 * link-uri de la exerciții la teoria acoperită (eventual invers)
 * secțiunile de awareness colorat diferit


 * ce se poate face la un al 13-lea laborator?

Teme
Teme SO

Listă task-uri generale
 * teste mai bune
 * valgrind
 * analizat întrebări de pe lista de discuții și corectat enunțul

Deadline-uri
Index tema - (saptamana postare - saptamana deadline - data postare - data deadline)


 * T1 - (sf sapt 3 - sf sapt 5 - 15.03 - 29.03)
 * T2 - (sf sapt 5 - sf sapt 7- 29.03 - 12.04)
 * T3 - (sf sapt 7 - sf sapt 10 - 12.04 - 03.05)
 * T4 - (sf sapt 10 - sf sapt 12 - 03.05 - 17.05)
 * T5 - (sf sapt 12 - sf sapt 14 - 17.05 - 31.05)

Tema1: Mini-shell (Răzvan + Mihai)

 * mai multe teste

Tema2: IPC (MirceaG + AlexM)

 * RD: nu vreau să fie artificială
 * rescris partea de Perl

Tema3: MV (Mircea + George)

 * rescrisă puternic
 * refăcut teste
 * ideal să înțeleagă conceptul nu să se uite peste test

Tema4: Monitor (Andrei + Mihnea)

 * refăcute testele (nu .cpp)
 * nu readers/writers
 * mai multe scenarii

Tema5: Server de fișiere (Lucian + Dan)

 * testat dacă se folosește O_NONBLOCK și epoll & friends
 * enunțul modificat pentru eventfd

Issues

 * Sarcini:Sarcini 2008-2009 - Issues