Programação UNIX Avançada

Prof. Carlos Maziero, Dr
Prof. Luiz Lima Jr, Dr
PPGIA/PUCPR

  1. 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.
  2. 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).
  3. Comunicação entre processos: IPC System V e IPC Posix; Pipes, named pipes; filas de mensagens; memória compartilhada; semáforos.
  4. Threads: threads de usuários e threads de núcleo; modelos de threads; Posix threads: criação, sincronização; user-level threads.
  5. Sinais: tipos de sinais; geração, espera, Interceptação e tratamento; mascaramento de sinais.
  6. 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.
  7. Comunicação em Rede: tipos de sockets; domínios de comunicação; aplicações cliente/servidor com sockets; daemons; RPC.
  8. Gerência de Tempo: referências de tempo; temporizadores.
  9. Gerência de Memória: modelo de memória; malloc, calloc, free, realloc; arquivos mapeados em memória.
  10. Acesso a Dispositivos: drivers de dispositivos em Linux; major & minor numbers; os sistemas /dev e /proc; chamada ioctl.

Este curso está dimensionado para uma duração de 40 horas-aula.

  • 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.
  • pua/start.txt
  • Última modificação: 2010/07/27 11:42
  • por maziero