17
Processos no Linux

Processos no Linux - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17505/... · Controle de processo Um processo é um programa em execução

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Processos no Linux - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17505/... · Controle de processo Um processo é um programa em execução

Processos no Linux

Page 2: Processos no Linux - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17505/... · Controle de processo Um processo é um programa em execução

As camadas de um sistema Linux

Page 3: Processos no Linux - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17505/... · Controle de processo Um processo é um programa em execução

Interpretador de comados (shell)

Shell é uma interface de linha de comando

Ele invoca outros programas extraindo a primeira palavra do

comando digitado pelo usuário

Flags controlam a operação de um comando

head -20 file

head 20 file

Caracteres mágicos facilita a especificação de vários nomes

ls *.c

Entrada Padrão, Saída Padrão e Erro Padrão.

sort <in >out

Pipe conecta a saída de um comando a entrada de outro (pipeline)

sort <in | head -30

Shellscript conjunto de comandos escritos em um arquivo e

executado posteriormente pelo shell

Page 4: Processos no Linux - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17505/... · Controle de processo Um processo é um programa em execução

Programas Utilitários do Linux

Page 5: Processos no Linux - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17505/... · Controle de processo Um processo é um programa em execução

Núcleo do Linux

Page 6: Processos no Linux - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17505/... · Controle de processo Um processo é um programa em execução

Controle de processo

Um processo é um programa em execução.

Os processos são identificados pelos seus identificadores de

processos, números inteiros (PID).

O processo criador é chamado de processo pai, enquanto o novo

processo é chamado de processo filho.

Após criado, as alterações em memória do filho não serão vistas pelo

pai, nem vice-versa.

Porém, arquivos abertos pelo pai são compartilhados pelo filho

Page 7: Processos no Linux - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17505/... · Controle de processo Um processo é um programa em execução

Controle de processo

Chamadas ao sistema para controle de processos

fork cria um novo processo

execve é usada após um fork para substituir a memória virtual do

processo filho com um novo programa carregado de um arquivo

exit termina um processo

Um processo pai pode esperar pelo filho através da chamada wait

que fornece o identificador do processo filho terminado de forma

que o pai possa saber qual filho foi terminado.

wait3 permite o pai coletar estatísticas de desempenho sobre o

processo filho

Um processo zumbi é resultado da terminação do pai antes da

terminação do filho.

Page 8: Processos no Linux - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17505/... · Controle de processo Um processo é um programa em execução

Ilustração das chamadas

Page 9: Processos no Linux - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17505/... · Controle de processo Um processo é um programa em execução

Sinais

Um processo também pode se comunicar com outro processo através

de sinais (interrupção por software)

Page 10: Processos no Linux - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17505/... · Controle de processo Um processo é um programa em execução

Controle de processos (Cont.)

Os processos se comunicam através de pipes, que são filas de bytes entre dois processos disponíveis ou acessáveis através dos descritores de arquivos.

Todos os processos de usuário são descendentes do processo original, init.

init cria um processo getty que inicializa os parâmetros de um terminal e transfere os caracteres de login do usuário para o processo login.

Page 11: Processos no Linux - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17505/... · Controle de processo Um processo é um programa em execução

Bloco de controle de processo

A estrutura de dados mais básica associada com os processos é a

estrutura de processo.

Identificador único de processo

Informação de escalonamento (ex. prioridade)

Ponteiros para outros blocos de controle

O espaço de endereçamento virtual de um processo de usuário é

dividido em segmentos texto (código do programa), dados e pilha.

Cada processo com texto compartilhado tem um ponteiro de sua

estrutura de processo para uma estrutura de texto.

Sempre residente na memória.

Registra quantos processos estão usando o segmento de

texto.

Registra onde a tabela de páginas para aquele segmento de

texto pode ser encontrada no disco quando permutada.

Page 12: Processos no Linux - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17505/... · Controle de processo Um processo é um programa em execução

Uso da estrutura do processo

Page 13: Processos no Linux - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17505/... · Controle de processo Um processo é um programa em execução

Estrutura de processo do Unix

Page 14: Processos no Linux - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17505/... · Controle de processo Um processo é um programa em execução

Imagem de processo do Unix

Page 15: Processos no Linux - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17505/... · Controle de processo Um processo é um programa em execução

Estados dos processos - Unix

Page 16: Processos no Linux - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17505/... · Controle de processo Um processo é um programa em execução

Estados do processo - Unix

Page 17: Processos no Linux - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17505/... · Controle de processo Um processo é um programa em execução

Criação de processos