16
Tópicos Especiais Leandro Soares de Sousa (DSc.) e-mail: [email protected] Página: http://www.ic.uff.br/~lsousa Sobre o curso

Leandro Soares de Sousa (DSc.) e-mail: [email protected] Página: …lsousa/top/aula00.pdf · 2019-12-09 · Tópicos Especiais Ementa: – Essa disciplina tem por objetivo principal

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Leandro Soares de Sousa (DSc.) e-mail: lsousa@id.uff.br Página: …lsousa/top/aula00.pdf · 2019-12-09 · Tópicos Especiais Ementa: – Essa disciplina tem por objetivo principal

Tópicos Especiais

Leandro Soares de Sousa (DSc.)

e-mail: [email protected]

Página: http://www.ic.uff.br/~lsousa

Sobre o curso

Page 2: Leandro Soares de Sousa (DSc.) e-mail: lsousa@id.uff.br Página: …lsousa/top/aula00.pdf · 2019-12-09 · Tópicos Especiais Ementa: – Essa disciplina tem por objetivo principal

Índice

● Ementa

● Bibliografia

● Aulas

● Avaliações

● Plano de aula

● Trabalhos

● Fontes dos programas (onde estão, compilação Windows/Linux...)

Page 3: Leandro Soares de Sousa (DSc.) e-mail: lsousa@id.uff.br Página: …lsousa/top/aula00.pdf · 2019-12-09 · Tópicos Especiais Ementa: – Essa disciplina tem por objetivo principal

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.

Page 4: Leandro Soares de Sousa (DSc.) e-mail: lsousa@id.uff.br Página: …lsousa/top/aula00.pdf · 2019-12-09 · Tópicos Especiais Ementa: – Essa disciplina tem por objetivo principal

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...

Page 5: Leandro Soares de Sousa (DSc.) e-mail: lsousa@id.uff.br Página: …lsousa/top/aula00.pdf · 2019-12-09 · Tópicos Especiais Ementa: – Essa disciplina tem por objetivo principal

Tópicos Especiais

● Bibliografia:

Page 6: Leandro Soares de Sousa (DSc.) e-mail: lsousa@id.uff.br Página: …lsousa/top/aula00.pdf · 2019-12-09 · Tópicos Especiais Ementa: – Essa disciplina tem por objetivo principal

Tópicos Especiais

● Bibliografia:

Page 7: Leandro Soares de Sousa (DSc.) e-mail: lsousa@id.uff.br Página: …lsousa/top/aula00.pdf · 2019-12-09 · Tópicos Especiais Ementa: – Essa disciplina tem por objetivo principal

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

Page 8: Leandro Soares de Sousa (DSc.) e-mail: lsousa@id.uff.br Página: …lsousa/top/aula00.pdf · 2019-12-09 · Tópicos Especiais Ementa: – Essa disciplina tem por objetivo principal

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● ...

Page 9: Leandro Soares de Sousa (DSc.) e-mail: lsousa@id.uff.br Página: …lsousa/top/aula00.pdf · 2019-12-09 · Tópicos Especiais Ementa: – Essa disciplina tem por objetivo principal

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)

Page 10: Leandro Soares de Sousa (DSc.) e-mail: lsousa@id.uff.br Página: …lsousa/top/aula00.pdf · 2019-12-09 · Tópicos Especiais Ementa: – Essa disciplina tem por objetivo principal

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

Page 11: Leandro Soares de Sousa (DSc.) e-mail: lsousa@id.uff.br Página: …lsousa/top/aula00.pdf · 2019-12-09 · Tópicos Especiais Ementa: – Essa disciplina tem por objetivo principal

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).

Page 12: Leandro Soares de Sousa (DSc.) e-mail: lsousa@id.uff.br Página: …lsousa/top/aula00.pdf · 2019-12-09 · Tópicos Especiais Ementa: – Essa disciplina tem por objetivo principal

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...)

Page 13: Leandro Soares de Sousa (DSc.) e-mail: lsousa@id.uff.br Página: …lsousa/top/aula00.pdf · 2019-12-09 · Tópicos Especiais Ementa: – Essa disciplina tem por objetivo principal

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)

Page 14: Leandro Soares de Sousa (DSc.) e-mail: lsousa@id.uff.br Página: …lsousa/top/aula00.pdf · 2019-12-09 · Tópicos Especiais Ementa: – Essa disciplina tem por objetivo principal

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)

Page 15: Leandro Soares de Sousa (DSc.) e-mail: lsousa@id.uff.br Página: …lsousa/top/aula00.pdf · 2019-12-09 · Tópicos Especiais Ementa: – Essa disciplina tem por objetivo principal

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\

Page 16: Leandro Soares de Sousa (DSc.) e-mail: lsousa@id.uff.br Página: …lsousa/top/aula00.pdf · 2019-12-09 · Tópicos Especiais Ementa: – Essa disciplina tem por objetivo principal

Tópicos Especiais

FIM