1 / 25

Capítulo 4: Controlando processos

Capítulo 4: Controlando processos. Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com. Componentes de um processo. Um processo é constituído de um espaço de endereços de memória e um conjunto de estruturas de dados dentro do kernel ;

wilton
Download Presentation

Capítulo 4: Controlando processos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Capítulo 4: Controlando processos Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti procrismar@globo.com

  2. Componentes de um processo • 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;

  3. Componentes de um processo • 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.

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

  5. Identificadores de processos • 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.

  6. Identificadores de processos • 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.

  7. Propriedades de um processo • 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.

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

  9. Ciclo de vida de um processo • 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.

  10. Sinais de um processo • 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”.

  11. Estados de um processo

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

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

  14. Processos descontrolados • 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.

  15. EXERCÍCIOS

  16. Questão 1 • 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.

  17. Questão 2 • 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

  18. Questão 3 • Controla a determinação de permissões de sistema de arquivos: • A) EGID • B) FSUID • C) GID • D) PID

  19. Questão 4 • Quando um processo é criado, seu primeiro valor de “gentileza” é atribuído pelo comando: • A) nice • B) renice • C) ps • D) kill

  20. Questão 5 • Qual dos números abaixo indica um nice de processo com mais baixa prioridade? • A) +10 • B) -8 • C) +12 • D) 0

  21. Questão 6 • Processo ao qual a “gentileza” é mais comumente aplicado nos sistemas modernos: • A) xntpd • B) xtp • C) xnt • D) exntpd

  22. Questão 7 • Cria a cópia de um processo, originando assim um “processo-filho”: • A) exec • B) fork • C) init • D) wait

  23. Questão 8 • Comando para visualizar a execução dos processos residentes no sistema: • A) xntpd • B) ps • C) kill • D) ls -a

  24. Questão 9 • Fornece um sumário atualizado regularmente dos processos ativos e o emprego de seus recursos: • A) ls • B) kill • C) xntpd • D) top

  25. Questão 10 • 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

More Related