next up previous
Next: Sobre a entrega Up: ep2 Previous: Suas tarefas

Seu arsenal

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.html
Há 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/


next up previous
Next: Sobre a entrega Up: ep2 Previous: Suas tarefas
Francisco Reverbel
2002-04-22