Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

pua:start [2010/02/08 17:18] – created mazieropua:start [2010/07/27 14:42] (atual) maziero
Linha 1: Linha 1:
 +====== Programação UNIX Avançada ======
 +
 +Prof. Carlos Maziero, Dr\\
 +Prof. Luiz Lima Jr, Dr\\
 +PPGIA/PUCPR
 +
 +===== Conteúdo =====
 +
 +  - **[[unix:|Revisão de UNIX]]**
 +  - **[[unix:Desenvolvimento em Linux]]**: edição e compilação; bibliotecas (uso, criação) e chamadas de sistema; execução e depuração; tratamento de erros; documentação online.
 +  - **Processos**: modelo de processos UNIX, criação de processos (''fork'', ''wait'', ''clone'', ''exec*''); variáveis de ambiente; argumentos de linha de comando; processos em //background// & //foreground//; manipulação de contextos (''ucontext'').
 +  - **Comunicação entre processos**: IPC System V e IPC Posix; //Pipes//, //named pipes//; filas de mensagens; memória compartilhada; semáforos.
 +  - **Threads**: //threads// de usuários e //threads// de núcleo; modelos de //threads//; Posix //threads//: criação, sincronização; //user-level threads//.
 +  - **Sinais**: tipos de sinais; geração, espera, Interceptação e tratamento; mascaramento de sinais.
 +  - **[[Sistema de arquivos]]**: hierarquia de diretórios; arquivos padrão (''stdin'', ''stdout'', ''stderr''); I/O em arquivos; manipulação de arquivos; permissões de acesso; manipulação e navegação em diretórios; hard & symbolic links; concorrência de acesso: advisory/mandatory locking; shared/exclusive locks.
 +  - **[[Comunicação em Rede]]**: tipos de sockets; domínios de comunicação; aplicações cliente/servidor com //sockets//; daemons; RPC.
 +  - **[[Gerência de Tempo]]**: referências de tempo; temporizadores.
 +  - **[[Gerência de Memória]]**: modelo de memória; ''malloc'', ''calloc'', ''free'', ''realloc''; arquivos mapeados em memória.
 +  - **[[Acesso a Dispositivos]]**: drivers de dispositivos em Linux; major & minor numbers; os sistemas ''/dev'' e ''/proc''; chamada ''ioctl''.
 +
 +===== Cronograma =====
 +
 +Este curso está dimensionado para uma duração de 40 horas-aula. 
 +
 +===== Bibliografia recomendada =====
 +
 +  * Notas de aula fornecidas pelos professores
 +  * Advanced UNIX Programming, 2nd ed, M. Rochkind. Ed. Addison-Wesley, 2004.
 +  * UNIX Systems Programming. Kay Robbins, Steve Robbins, Prentice-Hall, 2003.
 +  * UNIX Network Programming, vols 1 & 2. Richard Stevens, Ed. Prentice-Hall, 1998.
 +  * Linux Device Drivers, 2nd ed. Rubini & Corbet. Ed. O’Reilly, 2001.
 +  * [[http://espec.ppgia.pucpr.br/doc|Documentação complementar]]