| POSIX |
|
|
|
|
Programação POSIX para Sistemas Embarcados
Carga Horária: 40 horas
Apresentação
Este curso tem o objetivo de apresentar práticas de programação segundo os padrões POSIX de interface. Nele o aluno aprenderá sobre o desenvolvimento de software portável utilizando interfaces (API e utilitários) definidas pelo POSIX, para sistemas operacionais modernos.
Público Alvo
Profissionais e entusiastas interessados no desenvolvimento de software para sistemas operacionais POSIX, como UNIX's, BSD's e GNU Linux.
Vantagens e Pontos Fortes do Curso
- Prática em projeto e produção de software segundo o padrão POSIX; - Prática de desenvolvimento de software com melhor integração a sistemas operacionais modernos; · Conhecimento aplicável a sistemas embutidos e grandes sistemas;
Pré-Requisitos
Inglês técnico (leitura) Conhecimentos em programação em C e shell
Ementa
- Arquitetura de um sistema operacional - kernel - chamadas de sistema - biblioteca padrão - processos - comunicação inter-processos - Biblioteca Padrão e Padrões C e Unix; - o que é libc - padrões - implementações - Ambiente de desenvolvimento em C; - gcc - make - controle de versão - gdb - Entrada e Saída; - open/close; - read/write; - lseek; - mmap; - ioctl; - fcntl; - Multiplexação de Entrada e Saída; - select; - poll; - Arquivos e diretórios; - getcwd/chdir; - opendir/readdir/closedir; - link/symlink/unlink/rename; - mkdir/rmdir; - stat/chown/umask/chmod/access; - mknod/mktemp; - Processos; - system; - getpid/getppid; - fork; - exec*; - wait*; - Sinais; - introdução e lista de sinais; - signal; - sigaction; - tratadores e paralelismo; - raise/kill; - Pipes e Fifos - pipe; - popen/pclose; - mkfifo; - Sockets - introdução a sockets; - stream vs datagram; - endereços: formatos, famílias; - socket/shutdown/socketpair; - bind/getsockname; - local socket address; - internet socket address: inet_*/gethostby*/gai; - byte order; - connections/streams: connect/listen/accept/send/recv; - datagrams: sendto/recvfrom;
Instrutor
Bacharel em Ciência da Computação pela UFMG. Desenvolvedor de Software desde 1996, com experiência em linguagem C desde 1999. Prestador de serviços a diversas empresas desenvolvendo software de base, incluindo controladores de dispositivos em sistemas operacionais modernos e consultor no desenvolvimento de sistemas operacionais para dispositivos portáteis. Desenvolvedor de software livre atuante.
Mais Informações
O POSIX é um conjunto de especificações de interface (APIs e utilitários) definido pela IEEE com o objetivo de garantir portabilidade de código de programas entre sistemas operacionais que o implementam. O desenvolvimento de software de acordo com o POSIX tem vantagens como a portabilidade do código produzido entre sistemas operacionais compatíveis, e utilização de uma infraestrutura madura de bibliotecas e utilitários existentes nesses sistemas.
|










