Mudanças entre as edições de "ADS29009-2019-1"
Ir para navegação
Ir para pesquisar
Linha 13: | Linha 13: | ||
==ATIVIDADE 1== | ==ATIVIDADE 1== | ||
+ | |||
+ | ===PARTE 1=== | ||
O código abaixo permite estimar o tempo de execução do programa (processo) para executar um determinado loop. | O código abaixo permite estimar o tempo de execução do programa (processo) para executar um determinado loop. | ||
Linha 58: | Linha 60: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | ===PARTE 2=== | ||
+ | |||
+ | Projetar um experimento para verificar se o mecanismo nice (usando setpriority()) funciona conforme o esperado. Use o programa acima como base. Defina: | ||
+ | *os objetivos do experimento | ||
+ | *métricas | ||
+ | *parâmetros | ||
+ | *fatores | ||
+ | Apresente e discuta os resultados. |
Edição das 06h22min de 13 de fevereiro de 2019
AULA 1 - Dia 26/07/2018
- Apresentar e Discutir Plano de Ensino
- Conceitos em ADS
Plano de Ensino
SLIDES DA AULA
ATIVIDADE 1
PARTE 1
O código abaixo permite estimar o tempo de execução do programa (processo) para executar um determinado loop. Modificar o programa e gerar um gráfico mostrando a média do tempo de execução para uma faixa de 1 até 100 processos. Discutir o resultado. Postar no SIGAA um mini-relatório com:
- objetivo do experimento
- dados do PC utilizado (número de cores);
- código modificado;
- gráfico tempo médio x número de processos;
- discussão do resultado.
//Modificado de https://www.geeksforgeeks.org/measure-execution-time-with-high-precision-in-c-c/
- include <sys/time.h>
- include <sys/types.h>
- include <unistd.h>
- include <stdio.h>
int main()
{
long int i;
double tempo_bloco;
for (i=0;i<23;i++) {
if (fork()==0) {
struct timeval start, end;
gettimeofday(&start, NULL);
for (i=0; i<10000000000L; i++) { // loop de interesse
}
gettimeofday(&end, NULL);
tempo_bloco = (end.tv_sec - start.tv_sec) * 1e6;
tempo_bloco = (tempo_bloco + (end.tv_usec -
start.tv_usec)) * 1e-6;
printf("Tempo = %lf\n", tempo_bloco);
return 0;
}
}
}
</syntaxhighlight>
PARTE 2
Projetar um experimento para verificar se o mecanismo nice (usando setpriority()) funciona conforme o esperado. Use o programa acima como base. Defina:
- os objetivos do experimento
- métricas
- parâmetros
- fatores
Apresente e discuta os resultados.