Probabilidade e Estatística

Chamadas de Sistema (syscall)

https://imgur.com/4sqCV7V.png

Formas de Processamento do SO

Tipos e Estruturas de SO

Tipos de SOs

https://imgur.com/60kSdik.png

https://imgur.com/3Ij8GQE.png


Estruturas de SOs

https://imgur.com/4nSVve7.png

https://imgur.com/KI6gtGg.png


Chamadas de Sistema e Interrupção

Visão geral

https://imgur.com/6KT1yxW.png


Passos de uma SysCall

https://imgur.com/ADOv4FJ.png


Exemplo com a chamada open()

https://imgur.com/JuPfoLD.png


Interfaces e Estrutura das SysCalls


Interrupções


Interrupção vs. Traps

https://imgur.com/nMMI39s.png


Processos

Definição


Programa vs. Processo


Processo em Primeiro Plano


Processo em Segundo Plano


Componentes de um Processo


Espaço de Endereçamento

https://imgur.com/dDgdaij.png


Tabela de Processos

https://imgur.com/qA2Rebk.png


Características de um Processo


Criação de Processos


Processos criando outros processos

  int main () {
    int pid;
    pid = fork();
    printf("%d", num);

    if (pid == 0) {       // child
      num = 1;            // execução do processo filho
    } else if (pid > 0) { // parent
      num = 2;            // execução do processo pai
    }

    printf("%d", num);
  }


Finalizando Processos


Estados de Processos

https://imgur.com/3wamZcD.png