disciplina: sistemas operacionais professor: cristiano mariotti [email protected]

25
Capítulo 4: Controlando processos Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti [email protected]

Upload: internet

Post on 21-Apr-2015

124 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

Capítulo 4: Controlando processos

Disciplina: Sistemas OperacionaisProfessor: Cristiano Mariotti

[email protected]

Page 2: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

Um processo é constituído de um espaço de endereços de memória e um conjunto de estruturas de dados dentro do kernel;

O espaço de endereços é um conjunto de páginas (unidades nas quais a memória é gerenciada, normalmente 4 KB) de memória que o kernel marcou para ser empregado pelo processo;

Componentes de um processo

Page 3: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

Contém o código e as bibliotecas que o processo está executando, as variáveis do processo, suas pilhas e várias informações adicionais que o kernel precisa enquanto um processo está em execução.

Componentes de um processo

Page 4: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

As estruturas de dados internas do kernel registram vários tipos de informações sobre cada processo:

Componentes de um processo

Page 5: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

PID: número do processo em execução; PPID : número do “pai” (original) do processo

em execução; ◦ A cópia de um processo clonado é chamado de

“processo-filho”; UID: número de identificação do usuário que

criou o processo; EUID: número de identificação do usuário

“efetivo” de um processo;◦ Usado para determinar quais recursos e arquivos um

processo tem permissão de utilizar em um dado momento.

Identificadores de processos

Page 6: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

FSUID: controla a determinação de permissões de sistema de arquivos;

GID: número de identificação do grupo de usuários que exercem poder sobre um processo;

EGID: número de identificação do grupo “efetivo” de usuários que exercem poder sobre um processo.

Identificadores de processos

Page 7: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

Gentileza: Indica como o processo deve ser tratado com relação aos demais processos que lutam por recursos na CPU;◦ Um valor alto nice significa baixa prioridade do processo:

significa que ele está apto a ceder lugar para outros processos serem executados;

◦ Os valores permitidos vão de [-20, +19];

Quando um processo é criado, seu primeiro valor de “gentileza” é atribuído pelo comando nice;

O comando renice ajusta o grau de “nice” (gentileza) que um processo terá com relação aos outros.

Propriedades de um processo

Page 8: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

xntpd: processo ao qual a “gentileza” é mais comumente aplicado nos sistemas modernos;◦ daemon de sincronização do relógio da CPU;

Propriedades de um processo

Page 9: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

Comando fork: cria a cópia de um processo, originando assim um “processo-filho”;◦ Retorna para o “filho” o valor 0 (zero), e para o

“processo-pai”, retorna o PID do “filho” recém-criado; init: sempre igual a 1, indica o primeiro processo

a ser criado, quando na inicialização do sistema; exit: comando que notifica ao kernel quando no

encerramento de um processo; wait: comando que faz o pai reconhecer a

notificação de que um processo será encerrado.

Ciclo de vida de um processo

Page 10: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

São solicitações de interrupção enviados aos processos que estão em execução;

Podem ser enviados:◦ Entre processos como um meio de comunicação;◦ Pelo driver do terminal do sistema para extinguir,

interromper ou suspender processos quando teclas especiais como CTRL + C e CTRL + Z forem acionadas;

◦ Pelo superusuário, através do comando kill, por exemplo, capaz de eliminar um processo em execução;

◦ Pelo kernel quando o processo cai na “zona crítica” ou cai em erros de exceção, que resultam em sua “morte”.

Sinais de um processo

Page 11: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

Estados de um processo

Page 12: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

Através do comando ps, o superusuário do sistema Linux pode controlar os processos que estão em execução;

Monitorar processos

Page 13: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

Comando top: fornece um sumário atualizado regularmente dos processos ativos e o emprego de seus recursos.

Monitoramento ainda melhor

Page 14: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

Processos que utilizam demasiados recursos de tempo e espaço em disco do sistema; OU

Processos que, de repente, “se enfurecem” e foge do controle do kernel ou do próprio operador do sistema;

Deve-se descobrir a quem pertence o processo e se ele é destrutivo ou não para os demais antes de o usuário querer eliminá-lo através do comando kill;

Outra forma de tratá-los é redefinindo suas “gentilezas” através do comando renice.

Processos descontrolados

Page 15: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

EXERCÍCIOS

Page 16: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

As estruturas de dados internas do kernel registram vários tipos de informações sobre cada processo, EXCETO:

A) O tempo de vida útil do processo. B) O número de identificação do processo. C) O número de identificação do criador do

processo. D) O estado do processo.

Questão 1

Page 17: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

Usado para determinar quais recursos e arquivos um processo tem permissão de utilizar em um dado momento:

A) EUID B) GID C) PID D) PPID

Questão 2

Page 18: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

Controla a determinação de permissões de sistema de arquivos:

A) EGID B) FSUID C) GID D) PID

Questão 3

Page 19: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

Quando um processo é criado, seu primeiro valor de “gentileza” é atribuído pelo comando:

A) nice B) renice C) ps D) kill

Questão 4

Page 20: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

Qual dos números abaixo indica um nice de processo com mais baixa prioridade?

A) +10 B) -8 C) +12 D) 0

Questão 5

Page 21: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

Processo ao qual a “gentileza” é mais comumente aplicado nos sistemas modernos:

A) xntpd B) xtp C) xnt D) exntpd

Questão 6

Page 22: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

Cria a cópia de um processo, originando assim um “processo-filho”:

A) exec B) fork C) init D) wait

Questão 7

Page 23: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

Comando para visualizar a execução dos processos residentes no sistema:

A) xntpd B) ps C) kill D) ls -a

Questão 8

Page 24: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

Fornece um sumário atualizado regularmente dos processos ativos e o emprego de seus recursos:

A) ls B) kill C) xntpd D) top

Questão 9

Page 25: Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

Deve-se descobrir a quem pertence o processo e se ele é destrutivo ou não para os demais antes de o usuário querer eliminá-lo através do comando:

A) kill B) ps C) top D) init

Questão 10