Você está na página 1de 16

Tópicos Especiais

Leandro Soares de Sousa (DSc.)

e-mail: lsousa@id.uff.br

Página: http://www.ic.uff.br/~lsousa
Sobre o curso
Índice

● Ementa
● Bibliografia
● Aulas
● Avaliações
● Plano de aula
● Trabalhos
● Fontes dos programas (onde estão, compilação
Windows/Linux...)
Tópicos Especiais

● Ementa:
– Essa disciplina tem por objetivo principal fornecer aos
alunos ferramentas para o desenvolvimento de aplicações
concorrentes e distribuídas. Ao final do curso ter o
conhecimento necessário para: implementar aplicações
distribuídas usando sockets, construir aplicações
multithread (utilizando a biblioteca pthread), tratamento
dos sinais recebidos do sistema operacional em seus
sistemas, criar e controlar eventos por temporizadores e
construir e executar aplicações com funcionamento em
background (inicialização no Unix e Serviços no MS
Windows). Essa disciplina terá uma abordagem prática,
sua avaliação será feita através trabalhos práticos,
apresentações e projetos.
Tópicos Especiais

● Bibliografia:
– Computer Networking, Kurose & Ross, Ed. Addison
Wesley, 6a. Edição.
– Operating Systems Concepts, A. Silberschatz e P.B.
Galvin, Ed. Prentice Hall (há edição em português)
– Modern Operating Systems, A. Tanenbaum, Ed.
Prentice Hall (há edição em português)
– Sítios do GNU, UBUNTU, MSDN...
Tópicos Especiais

● Bibliografia:
Tópicos Especiais

● Bibliografia:
Tópicos Especiais

● Aulas:
– Exemplos de fontes no Linux e no Windows
– Projeto de protocolo, trabalhos práticos e
apresentações
– Dinâmicas de grupo
Tópicos Especiais

● Aulas (mais especificamente):


● Pequenas bibliotecas → muito úteis!!!
● Programação com sockets
● Programação multithread
● Disparo de temporizadores
● Medição de tempo
● Tratamento de eventos
● Background X Foreground
● Trabalho em equipe
● ...
Tópicos Especiais

● Aulas:
– Aula 01: Projeto de um protocolo para aplicação distribuída
– Aula 02: Revisão e conceitos do C
– Aula 03: Revisão e conceitos do C e do Unix (Linux)
– Aula 04: Desenvolvimento multithread utilizando a biblioteca
pthread (projeto e implementação multithread)
– Aula 05: Desenvolvimento distribuído com sockets
– Aula 06: Definições para a implementação do projeto, que
utilizará o protocolo definido
– Aula 07: Trabalho em equipe (apresentação, vídeos, dinâmica de
grupo)
Tópicos Especiais

● Avaliação:
– Essa disciplina terá uma abordagem prática, sua avaliação será
feita através trabalhos práticos de implementação, apresentações e
um pequeno projeto:
● Projeto multitarefa (PM): 0 → 2 pontos (descrição na aula 04)
● Projeto de um protocolo para aplicação distribuída (PP) : 0 → 2
pontos (descrição do projeto na aula 01 em pdf)
● Implementação da aplicação distribuída funcionando em um
único computador → isoladamente e funcionando como
servidor para as aplicações dos colegas (IP) : 0 → 2 pontos
● Apresentação (AP): 0 → 2 pontos
● Participação total na parte de trabalho em equipe (TE): 0 → 2
pontos

– Nota Final = PM + PP + IP + AP + TE
Tópicos Especiais

● Projetos:
– Os fontes foram divididos em dois diretórios:
● Windows: para serem compilados via o codeblocks e
executados através do cmd.exe ou diretamente no
codeblocks (exceto os de sockets)
● Linux: para serem compilados via o gcc ou cc, e executados
através da linha de comandos (terminal). Para o Linux
descompacte os arquivos usando o comando:
unzip -a <arquivo>.zip
● Obs.: alguns dos fontes só podem ser compilados e
executados no Linux (os trabalhos propostos podem ser
compilados e executados em ambos).
Tópicos Especiais

● Projetos (continuação):
– ex01.c, ex02.c, … e ex07.c. Esses fontes serão
referenciados na primeira parte do curso.
– Linux: foi incluído um shell (comp.sh) que faz a
compilação de todos os fontes do diretório. No terminal
execute chmod 777 comp.sh para que ele possa ser
usado bastando digitar ./comp.sh que todos os
programas exemplo serão compilados. Use-os de
acordo com as transparências.
– Windows: (próxima página...)
Tópicos Especiais

● Projetos (continuação):
– Windows: os projetos de ex01 a ex07 estão em diretórios.
Nesses diretórios abram o .cbp que é o projeto no CodeBlocs e
é só executar, se forem inserir parâmetros basta entrar em
Project → Set programs' arguments... → Program arguments e
inserir os argumentos.
– Quando compilados os programas executáveis ficam em,
usando como exemplo o projeto do programa ex01:
● <Direttório onde descompactou o arquivo>
\projetos\ex01\bin\debug\ex01.exe
– Se quiserem executar o programa via linha de comandos:
● Executem o cmd.exe
● Vão para o diretório do programa ou copiem o executável
para um outro diretório e .\ex01.exe (usando o ex01 para
explicar)
Tópicos Especiais

● Projetos (continuação):
– Todos os demais projetos seguem essa mesma lógica.
– Exceções → Trabalhos práticos no codeblocks.
● Sockets: antes de compilar pela primeira vez os
programas inclua no codeblocks, em:
– Project → build options → linker settings → Other
linker options: inclua -l wsock32
● Pthreads: antes de compilar pela primeira vez os
programas inclua no codeblocks, em:
– Project → build options → linker settings → Other
linker options: inclua -l pthreadGC1
– (ainda nas pthreads, veja na próxima página)
Tópicos Especiais

● Projetos (continuação):
– Pthreads: antes de compilar pela primeira vez os
programas veja nos diretórios descompactados, em:
– TopicosAlunos\Projetos\Windows\pthreads_codeblocks
dentro desse diretório temos 3 diretórios, faça:
–copie os *.lib e *.a para: c:\Arquivos de Programas
(x86)\Codeblocks\mingw\lib\
– copie os *.dll para: c:\Arquivos de Programas
(x86)\Codeblocks\mingw\bin\
– copie os *.h para: c:\Arquivos de Programas
(x86)\Codeblocks\mingw\include\
Tópicos Especiais

FIM

Você também pode gostar