Introdução à semáforos (produtor e consumidor)

3988 palavras 16 páginas
ENGENHARIA DE COMPUTAÇÃO

SISTEMAS OPERACIONAIS A

LABORATÓRIO

Experimento 03

Introdução No experimento anterior, vimos que o recurso de fila de mensagens nos permite a comunicação entre processos e compartilhamento de dados entre eles. No experimento 3, vamos ver outro mecanismo de IPC, o semáforo, que nos ajuda com problemas de acesso simultâneo a uma mesma área de memória, sendo este garantia de sincronismo se usado corretamente. Vamos trabalhar em todo o experimento em cima do conceito de exclusão mútua, analisando sempre o comportamento dos semáforos (produtor e consumidor).
Erros de Sintaxe e Lógica do Programa Exemplo
Erro 1: Falta a declaração da biblioteca necessária para a execução do exit().
Solução: #include Erro 2: Ao final da criação dos filhos está declarado exit após o else, deve ser break.
Solução: .. else { exit } para { break;}

Erro 3: Tem declarado um kill() a mais, está matando 5 filhos, sendo que só tenho 4 declarados.
Solução: Exclusão do kill (pid[4], SIGKILL);

Erro 4: Erro na declaração da permissão ao criar memória compartilhada.
Solução: if( (g_shm_id = shmget( SHM_KEY, sizeof(int), IPC_CREAT | 0000)) == -1 ) { para if( (g_shm_id = shmget( SHM_KEY, sizeof(int), IPC_CREAT | 0666)) == -1 ) {

Erro 5: Alteração do valor de chave da memória compartilhada.
Solução: #define SHM_KEY 0x1432 para #define SHM_KEY 0x5678

Erro 6: Erro no tipo declarado para impressão do vetor de caracteres no fprintf deve-se trocar por “%c”.
Solução: fprintf(stderr,"%f7", g_letters_and_numbers[tmp_index + i]); para fprintf(stderr,"%c", g_letters_and_numbers[tmp_index + i]);

Erro 7: Para a primeira execução pedida, é necessário retirar os sinais de comentário da declaração de proteção.
Solução: /*#define PROTECT; */ para #define PROTECT;

Erro 8: As estruturas dos semáforos (produtor e consumidor) estão declaradas com o mesmo nome, é necessário renomear uma das estruturas para g_sem_op2[]...

Relacionados

  • Trabalho Individual N 1296
    1919 palavras | 8 páginas
  • Jantar dos filósofos
    1856 palavras | 8 páginas
  • RolaDeBoi
    2305 palavras | 10 páginas
  • I dont know
    3354 palavras | 14 páginas
  • Exclusão múltipla
    4303 palavras | 18 páginas
  • Complexidade de Algoritmos
    3976 palavras | 16 páginas
  • Problema Produtor Consumidor
    860 palavras | 4 páginas
  • Slides Coordenacao Tarefas
    4006 palavras | 17 páginas
  • SOP2
    3029 palavras | 13 páginas
  • capitulo
    4562 palavras | 19 páginas