Voc� deve fazer este EP em C, usando o pacote LinuxThreads, que implementa o padr�o pthreads (POSIX Threads) para Linux 2.x. A biblioteca LinuxThreads e sua documenta��o est�o dispon�veis na nossa rede Linux. Para mais informa��es sobre o pacote LinuxThreads, veja
http://pauillac.inria.fr/~xleroy/linuxthreads/Todas as fun��es POSIX Threads tem nome come�ando com ``pthread_'' ou com ``sem_'' (estas s�o opera��es sobre sem�foros). Para listar essas fun��es, diga
apropos pthread_ apropos sem_Neste exerc�cio voc� n�o precisar� de todas as fun��es do pacote LinuxThreads. Voc� usar� fun��es b�sicas de gerenciamento de threads (pthread_create, por exemplo) e opera��es sobre sem�foros (sem_init, sem_wait, sem_post e sem_destroy). N�o � permitido o uso de opera��es sobre mutexes (pthread_mutex_...) ou condi��es (pthread_cond_...). (Mutexes e condi��es servem para se implementar monitores, que ser�o o assunto do pr�ximo EP.)
V�rios tutoriais sobre pthreads est�o dispon�veis na Internet. Eis um desses tutoriais:
http://dis.cs.umass.edu/~wagner/threads_html/tutorial.htmlH� tamb�m um texto sobre pthreads na pasta 05 do xerox do CAMAT. (Embora seja um bom texto, n�o � a melhor refer�ncia para este EP. Ele explica muito bem mutexes e condi��es, mas n�o fala sobre sem�foros.)
Este � um FAQ com informa��es variadas sobre programa��o com threads (incluindo ``Microsoft-style threads'', caso voc� precise um dia...):
http://www.serpentine.com/~bos/threads-faq/