Condor

725 palavras 3 páginas
fork/join no UNIX
• Objetivo
– Verificar na prática o funcionamento das primitivas fork e join

• Roteiro
– Chamada de sistema fork – Chamada de sistema wait – Exemplos de código em C – Exercício de programação em C – Questionário
INF01151 – Sistemas Operacionais II N – 2006/2 Prof. Cláudio Geyer / Rômulo Rosinha

fork/join no UNIX
• Chamada de sistema fork
– Cria um novo processo (processo filho) a partir de um processo existente (processo pai) – Código do programa é idêntico – Execução do processo filho inicia no próximo comando do programa – Processo filho é uma cópia do processo pai, exceto por
• identificador de processo e identificador de processo pai • locks obtidos pelo processo pai

INF01151 – Sistemas Operacionais II N – 2006/2 Prof. Cláudio Geyer / Rômulo Rosinha

fork/join no UNIX
• Chamada de sistema fork processo fork()

retorna -1 em caso de erro, situação de falta de memória por exemplo

retorna 0 em caso de sucesso, indicando ser o processo filho

retorna >0 em caso de sucesso, indicando ser o processo pai

INF01151 – Sistemas Operacionais II N – 2006/2 Prof. Cláudio Geyer / Rômulo Rosinha

fork/join no UNIX
• Chamada de sistema wait/waitpid
– Equivalente a primitiva join – Suspende processo pai até que
• termine a execução de um processo filho • processo pai receba um sinal para terminar

– Libera os recursos do processo filho – Se o processo filho já terminou retorna imediatamente (processo zombie)
INF01151 – Sistemas Operacionais II N – 2006/2 Prof. Cláudio Geyer / Rômulo Rosinha

fork/join no UNIX
// e1.c #include #include int main(void) { int pid, status; pid = fork(); if (pid == -1) { /* erro na chamada de sistema */ perror("erro no fork!"); exit(-1); } else if (pid == 0) { /* processo filho */ printf("processo: filho\t pid: %d\t ppid: %d\n", getpid(), getppid()); _exit(0); } else { /* processo pai */ wait(&status); printf("processo: pai\t pid: %d\t ppid: %d\n", getpid(), getppid()); exit(0); } }

Relacionados

  • condor
    938 palavras | 4 páginas
  • Condor
    1380 palavras | 6 páginas
  • Operação Condor
    1188 palavras | 5 páginas
  • Operação Condor
    578 palavras | 3 páginas
  • Opera O Condor
    977 palavras | 4 páginas
  • A opera o Condor
    579 palavras | 3 páginas
  • Caso Condor
    9867 palavras | 40 páginas
  • Condor Syndikat
    480 palavras | 2 páginas
  • Resumo Operação condor
    316 palavras | 2 páginas
  • Condor: sistemas distribuídos
    1393 palavras | 6 páginas